I thought I had finally found a solution to my issues with apt not being smart enough to remove kernels/headers that are not needed with 'purge-old-kernels' thanks to byobu. It works great for kernels (thankfully since that is in it's name), but it doesn't work so well for the header packages. It seems to only remove the generic packages and doesn't touch the base packages at all.
Example:
# dpkg -l | grep linux-header
ii linux-headers-4.4.0-101 4.4.0-101.124 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-103 4.4.0-103.126 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-103-generic 4.4.0-103.126 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-104 4.4.0-104.127 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-104-generic 4.4.0-104.127 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-108 4.4.0-108.131 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-108-generic 4.4.0-108.131 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-109 4.4.0-109.132 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-109-generic 4.4.0-109.132 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-75 4.4.0-75.96 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-78 4.4.0-78.99 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-79 4.4.0-79.100 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-81 4.4.0-81.104 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-83 4.4.0-83.106 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-87 4.4.0-87.110 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-89 4.4.0-89.112 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-91 4.4.0-91.114 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-93 4.4.0-93.116 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-96 4.4.0-96.119 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-97 4.4.0-97.120 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-98 4.4.0-98.121 all Header files related to Linux kernel version 4.4.0
As you can see, I have used it on this system and it only removes the -generic packages. It seems to run apt to remove packages, which looks like this:
The following packages will be REMOVED:
linux-headers-4.4.0-103-generic* linux-headers-4.4.0-104-generic*
linux-image-4.4.0-103-generic* linux-image-4.4.0-104-generic*
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
As you can see, it is only removing the header generic packages and not touching the base packages at all.
Any way to make it pay attention to those as well??? Trying to automate this across quite a few systems using cron and trying to make it as easy as possible. Thanks.
purge-old-kernels
and notpurge-old-headers
. Try this one http://tuxtweaks.com/2010/10/remove-old-kernels-in-ubuntu-with-one-command/. – mikewhatever Jan 16 '18 at 19:46Also from it's own man page:
NAME purge-old-kernels - remove old kernel and header packages from the system
– Robert Jerina Jan 16 '18 at 21:47