dpkg -l linux-image*
uname -r
sudo apt-get remove linux-image-2.6.32-{21,37,38,39,40,41,42,43,44}-server
sudo apt-get autoremove
This morning, I noticed New Relic that the /boot
disk was almost full on several of our servers. It turns out that when the old kernel images are left on the disk after a kernel update. The solution is to delete old kernels that we don't need anymore.
You can safely delete all but the latest package that matches the pattern linux-image-2.6.32-[0-9][0-9]-server
. Leave linux-image-2.6.32-45-server
on your system because you will need it to reboot!
$ dpkg -l linux-image*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-=============================================-=============================================-==========================================================================================================
un linux-image <none> (no description available)
un linux-image-2.6 <none> (no description available)
ii linux-image-2.6.32-21-server 2.6.32-21.32 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-37-server 2.6.32-37.81 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-38-server 2.6.32-38.83 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-39-server 2.6.32-39.86 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-40-server 2.6.32-40.87 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-41-server 2.6.32-41.91 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-42-server 2.6.32-42.96 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-43-server 2.6.32-43.97 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-44-server 2.6.32-44.98 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-45-server 2.6.32-45.104 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-server 2.6.32.45.52 Linux kernel image on Server Equipment.
DON'T delete this kernel image! And if it's not the latest, don't delete the latest one either.
$ uname -r
2.6.32-45-server
Removing the old kernels is the same as removing any other package. I'm using shell expansion for the version numbers to save typing. It will prompt you with a list of packages that will be removed, so you can double check the list before continuing.
sudo apt-get remove linux-image-2.6.32-{21,37,38,39,40,41,42,43,44}-server
There are some dependencies left on the system after removing the old kernels. Fortunately, you can easily clean these up, too.
sudo apt-get autoremove
Your very first code line:
dpkg -l linux-image*
Try this instead:
dpkg -l linux-image* | grep "ii"
otherwise the list will be too long on many systems. You may want to update that.