% cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS" % dpkg -l | grep linux-im | cut -c 1-80 ii linux-image-4.4.0-31-generic 4.4.0-31.50 ii linux-image-4.4.0-34-generic 4.4.0-34.53 ii linux-image-4.4.0-36-generic 4.4.0-36.55 ii linux-image-4.4.0-38-generic 4.4.0-38.57 ii linux-image-4.4.0-42-generic 4.4.0-42.62 ii linux-image-4.4.0-43-generic 4.4.0-43.63 ii linux-image-4.4.0-45-generic 4.4.0-45.66 ii linux-image-extra-4.4.0-43-generic 4.4.0-43.63 ii linux-image-extra-4.4.0-45-generic 4.4.0-45.66 ii linux-image-generic 4.4.0.45.48 % ls -1 /boot/vmlinuz-* /boot/vmlinuz-4.4.0-31-generic /boot/vmlinuz-4.4.0-34-generic /boot/vmlinuz-4.4.0-36-generic /boot/vmlinuz-4.4.0-38-generic /boot/vmlinuz-4.4.0-42-generic /boot/vmlinuz-4.4.0-43-generic /boot/vmlinuz-4.4.0-45-generic % uname -r 4.4.0-43-generic % cat /etc/apt/apt.conf.d/01autoremove-kernels // DO NOT EDIT! File autogenerated by /etc/kernel/postinst.d/apt-auto-removal APT::NeverAutoRemove { "^linux-image-4\.4\.0-43-generic$"; "^linux-image-4\.4\.0-45-generic$"; "^linux-headers-4\.4\.0-43-generic$"; "^linux-headers-4\.4\.0-45-generic$"; "^linux-image-extra-4\.4\.0-43-generic$"; "^linux-image-extra-4\.4\.0-45-generic$"; "^linux-signed-image-4\.4\.0-43-generic$"; "^linux-signed-image-4\.4\.0-45-generic$"; "^kfreebsd-image-4\.4\.0-43-generic$"; "^kfreebsd-image-4\.4\.0-45-generic$"; "^kfreebsd-headers-4\.4\.0-43-generic$"; "^kfreebsd-headers-4\.4\.0-45-generic$"; "^gnumach-image-4\.4\.0-43-generic$"; "^gnumach-image-4\.4\.0-45-generic$"; "^.*-modules-4\.4\.0-43-generic$"; "^.*-modules-4\.4\.0-45-generic$"; "^.*-kernel-4\.4\.0-43-generic$"; "^.*-kernel-4\.4\.0-45-generic$"; "^linux-backports-modules-.*-4\.4\.0-43-generic$"; "^linux-backports-modules-.*-4\.4\.0-45-generic$"; "^linux-tools-4\.4\.0-43-generic$"; "^linux-tools-4\.4\.0-45-generic$"; }; /* Debug information: # dpkg list: ii linux-image-4.4.0-31-generic 4.4.0-31.50 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP ii linux-image-4.4.0-34-generic 4.4.0-34.53 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP ii linux-image-4.4.0-36-generic 4.4.0-36.55 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP ii linux-image-4.4.0-38-generic 4.4.0-38.57 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP ii linux-image-4.4.0-42-generic 4.4.0-42.62 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP ii linux-image-4.4.0-43-generic 4.4.0-43.63 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP ii linux-image-4.4.0-45-generic 4.4.0-45.66 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP ii linux-image-extra-4.4.0-43-generic 4.4.0-43.63 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP iF linux-image-extra-4.4.0-45-generic 4.4.0-45.66 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP iU linux-image-generic 4.4.0.45.48 amd64 Generic Linux kernel image # list of installed kernel packages: 4.4.0-31-generic 4.4.0-31.50 4.4.0-34-generic 4.4.0-34.53 4.4.0-36-generic 4.4.0-36.55 4.4.0-38-generic 4.4.0-38.57 4.4.0-42-generic 4.4.0-42.62 4.4.0-43-generic 4.4.0-43.63 4.4.0-45-generic 4.4.0-45.66 # list of different kernel versions: 4.4.0-45.66 4.4.0-43.63 4.4.0-42.62 4.4.0-38.57 4.4.0-36.55 4.4.0-34.53 4.4.0-31.50 # Installing kernel: 4.4.0-45.66 (4.4.0-45-generic) # Running kernel: 4.4.0-43.63 (4.4.0-43-generic) # Last kernel: 4.4.0-45.66 # Previous kernel: 4.4.0-43.63 # Kernel versions list to keep: 4.4.0-43.63 4.4.0-45.66 # Kernel packages (version part) to protect: 4\.4\.0-43-generic 4\.4\.0-45-generic */ % apt-get autoremove Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded. Why is apt-get keeping 5 old kernels although /etc/apt/apt.conf.d/01autoremove-kernels only protects 2 kernels?