Removing Old Linux Kernels

Something many linux users will run across is after several times of running their favorite "yum update" command, they are suddenly out of room on the /boot partition of their drive and to make things worse yum update is spewing back error messages saying /boot is out of space every time they try to run. If you're like me perhaps the most annoying thing is that little update icon in the top right hand corner of the screen sitting there saying that it has kernel updates for you and no matter how many times you tell it to update and restart your machine it is still there, but I digress.

Step 1: Find Your Current Kernel Version

To find your current kernel version you can run the following command, but beware if you recently updated your kernel but have not yet restarted or kspliced, your system will show you the kernel that is in use, not necessarily the most recently downloaded. So rule of thumb before kernel updates is make sure you've restarted before removing old versions if possible.

Command: uname -r

Sample Output: 2.6.32-279.5.2.el6.x86_64

Step 2: List Installed Kernels

Depending on your operating system you can list your installed kernels by using the rpm or dpkg command.

Command for Debian/Ubuntu: dpkg --list 'linux-image*'

Sample Output:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                          Version                       Description
+++-=============================-=============================-==========================================================================
ii  linux-image                   2.6.22.14.21                  Generic Linux kernel image.
un  linux-image-2.6                                       (no description available)
rc  linux-image-2.6.20-15-generic 2.6.20-15.27                  Linux kernel image for version 2.6.20 on x86/x86_64
ii  linux-image-2.6.20-16-generic 2.6.20-16.32                  Linux kernel image for version 2.6.20 on x86/x86_64
ii  linux-image-2.6.22-14-generic 2.6.22-14.47                  Linux kernel image for version 2.6.22 on x86/x86_64
ii  linux-image-generic           2.6.22.14.21                  Generic Linux kernel image

Command for rpm based systems: rpm -q kernel

Sample Output:

 kernel-2.6.12-1.el5
 kernel-2.6.18-17.el5
 kernel-2.6.18-53.el5
 kernel-2.6.18-53.1.4.el5

Step 3: Removing Old Kernels

Finally the actual deleting. Be very careful not to remove the kernel the system is currently running; doing so may result in system problems and will cause you a great deal of headaches. Now that you've been warned pick the kernel from your list of the installed kernels that is not the one you are using and run the appropriate remove command below.

For RHEL / CentOS / Fedora (and any other RPM based system) use: rpm -e kernel-2.6.12-1.e15

For Debian / Ubuntu systems use: sudo apt-get remove linux-image-2.6.22-14-generic

Loading Conversation