I accidentally ran apt-get autoremove twice on a couple of Ubuntu 14.04
LTS servers, and it removed the stale kernel (on 1st run) and the old
kernel (on 2nd run), leaving the latest kernel the only one available in
/boot.

The .old kernel was linux-headers-3.13.0-139-generic, and if I look at
/etc/apt/apt.conf.d/01autoremove-kernels, I see that it should've been
kept:

// DO NOT EDIT! File autogenerated by /etc/kernel/postinst.d/apt-auto-removal
APT::NeverAutoRemove
{
   "^linux-image-3\.13\.0-139-generic$";
   "^linux-image-3\.13\.0-141-generic$";
   "^linux-headers-3\.13\.0-139-generic$";
   "^linux-headers-3\.13\.0-141-generic$";
   "^linux-image-extra-3\.13\.0-139-generic$";
   "^linux-image-extra-3\.13\.0-141-generic$";
   "^linux-signed-image-3\.13\.0-139-generic$";
   "^linux-signed-image-3\.13\.0-141-generic$";
   "^kfreebsd-image-3\.13\.0-139-generic$";
   "^kfreebsd-image-3\.13\.0-141-generic$";
   "^kfreebsd-headers-3\.13\.0-139-generic$";
   "^kfreebsd-headers-3\.13\.0-141-generic$";
   "^gnumach-image-3\.13\.0-139-generic$";
   "^gnumach-image-3\.13\.0-141-generic$";
   "^.*-modules-3\.13\.0-139-generic$";
   "^.*-modules-3\.13\.0-141-generic$";
   "^.*-kernel-3\.13\.0-139-generic$";
   "^.*-kernel-3\.13\.0-141-generic$";
   "^linux-backports-modules-.*-3\.13\.0-139-generic$";
   "^linux-backports-modules-.*-3\.13\.0-141-generic$";
   "^linux-tools-3\.13\.0-139-generic$";
   "^linux-tools-3\.13\.0-141-generic$";
};

The timestamp of /etc/kernel/postinst.d/apt-auto-removal is very recent,
so I cannot guarantee that it had the same contents at the time of my
second apt-get autoremove run.

(Thankfully, running apt-get autoremove for the third time does not try
to remove my current--and only--kernel.)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1637797

Title:
  kernel referred to by /*.old autoremoved

Status in apt package in Ubuntu:
  Confirmed

Bug description:
  apt-get suggests to remove and, with autoremove command, actually
  removes previous kernel referenced by /*.old links and breaks the
  ability to boot with a previous kernel. Kernel referenced by /*.old
  may not be autoremoved.

  # apt-get upgrade
  Reading package lists... Done
  Building dependency tree       
  Reading state information... Done
  Calculating upgrade... Done
  The following packages were automatically installed and are no longer 
required:
    linux-headers-3.13.0-88 linux-headers-3.13.0-88-generic
    linux-image-3.13.0-88-generic linux-image-extra-3.13.0-88-generic
  Use 'apt-get autoremove' to remove them.
  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  Press any key to continue...

  # ls -l /*.old
  lrwxrwxrwx 1 root root 33 Jun 10 11:57 /initrd.img.old -> 
boot/initrd.img-3.13.0-88-generic
  lrwxrwxrwx 1 root root 30 Jun 10 11:57 /vmlinuz.old -> 
boot/vmlinuz-3.13.0-88-generic

  # uname -a
  Linux server 3.13.0-100-generic #147-Ubuntu SMP Tue Oct 18 16:49:53 UTC 2016 
i686 athlon i686 GNU/Linux
  --- 
  ApportVersion: 2.14.1-0ubuntu3.21
  Architecture: i386
  DistroRelease: Ubuntu 14.04
  InstallationDate: Installed on 2011-08-18 (1899 days ago)
  InstallationMedia: Kubuntu 11.04 "Natty Narwhal" - Release i386 (20110427)
  NonfreeKernelModules: nvidia
  Package: apt 1.0.1ubuntu2.15
  PackageArchitecture: i386
  ProcVersionSignature: Ubuntu 3.13.0-100.147-generic 3.13.11-ckt39
  Tags:  trusty
  Uname: Linux 3.13.0-100-generic i686
  UpgradeStatus: Upgraded to trusty on 2014-10-18 (743 days ago)
  UserGroups:
   
  _MarkForUpload: True

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1637797/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to