Pawan Bahuguna

Let's Learn and Share
Menu
  • Home
  • Free Books
  • RHEL 7 Books
  • Practice Papers
  • Contact
  • Privacy

Preparing for RHCSA or RHCE Certification? >>> Check RHEL 7 : RHCSA & RHCE Practice Papers

YES, Show Me Sample Papers.
Home
Linux
Best Way to Remove Old Unused Kernels – CentOS / Red Hat Linux
Linux

Best Way to Remove Old Unused Kernels – CentOS / Red Hat Linux

Pawan Bahuguna

Keeping your Linux system clean could be a tedious and intimidating task, but if you know the right tools this could turn into a fun activity. In this article, I am going to share the best way to remove old unused kernels from your CentOS or Red Hat Linux servers.

 

Remove Old Unused Kernels

 

While updating my CentOS Linux server, I encountered the problem of space in boot partition. Yes, I have created only 400M boot partition and please don’t criticize me for that as I don’t like to waste the space.

 


Transaction check error:
  installing package kernel-3.10.0-1062.12.1.el7.x86_64 needs 3MB on the /boot filesystem

Error Summary
-------------
Disk Requirements:
  At least 3MB more space needed on the /boot filesystem.


[[email protected] ~]# df -hP /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       397M  367M   30M  93% /boot

 

I went straight ahead to delete some of the files present in /boot/, but that is not advised and not a good way to clean /boot partition as it contains important files to boot your system. Also, deleting “initramfs, vmlinuz, System.map” and other related files manually is not the ideal solution.

So, what is the best and safest way to clean up boot partition?

Advertisements

The best way to remove unused kernels is to remove the kernel package through the yum command as it removes all the related files and dependencies.

The other best option is to use the in-built command “package-cleanup” which comes by default with the yum-utils package. This command will remove more than 1 kernel package without your intervention again and again.

Let us first know what is package-cleanup command and what options we are going to use. So, “package-cleanup” is a command which cleans up locally installed, duplicate or orphaned packages from the system.

This command can also be used for searching duplicate packages or any problem in the servers’ local RPM database. So I will recommend you to check its man page.

I am going to use the options “–oldkernels” and “–count” for this article and have listed their use below.

package-cleanup - clean up locally installed, duplicate, or orphaned packages

       --oldkernels
              Remove old kernel and kernel-devel packages.

       --count 
              Number of duplicate/kernel packages to keep on the system (default 2)

 

Now, first of all run below command and find out all the kernels installed in your Linux server. You can also check /boot, but this is the easiest command to do that.

 

[[email protected] boot]# rpm -qa kernel --last
kernel-3.10.0-1062.9.1.el7.x86_64             Wed 15 Jan 2020 02:40:36 AM GMT
kernel-3.10.0-1062.4.3.el7.x86_64             Fri 29 Nov 2019 06:24:43 PM GMT
kernel-3.10.0-1062.1.2.el7.x86_64             Mon 21 Oct 2019 02:54:19 PM BST
kernel-3.10.0-957.27.2.el7.x86_64             Tue 17 Sep 2019 11:00:09 AM BST
kernel-3.10.0-957.el7.x86_64                  Mon 16 Sep 2019 04:18:13 AM BST

 

Now as you can see, I have 5 different kernel versions installed and want to keep only the latest 3 kernel versions, so I will be using “-count=3”.

Below is the command and its output.

 

[[email protected]]# package-cleanup --oldkernels --count=3
Loaded plugins: fastestmirror, langpacks
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-957.el7 will be erased
---> Package kernel.x86_64 0:3.10.0-957.27.2.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================
 Package                            Arch           Version                             Repository      Size
============================================================================================================
Removing:
 kernel                             x86_64         3.10.0-957.el7                      @anaconda       63 M
 kernel                             x86_64         3.10.0-957.27.2.el7                 @updates        63 M

Transaction Summary
============================================================================================================
Remove  2 Packages

Installed size: 126 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Erasing    : kernel.x86_64                                                                            1/2
  Erasing    : kernel.x86_64                                                                            2/2
  Verifying  : kernel-3.10.0-957.el7.x86_64                                                             1/2
  Verifying  : kernel-3.10.0-957.27.2.el7.x86_64                                                        2/2

Removed:
  kernel.x86_64 0:3.10.0-957.el7           kernel.x86_64 0:3.10.0-957.27.2.el7

Complete!
[[email protected]]#

 

The above output shows the old kernel versions have been removed, but you can also verify it by again running the “rpm -qa kernel –last” command and also verifying our boot partition.

 

[[email protected] ~]# rpm -qa kernel --last
kernel-3.10.0-1062.9.1.el7.x86_64             Wed 15 Jan 2020 02:40:36 AM GMT
kernel-3.10.0-1062.4.3.el7.x86_64             Fri 29 Nov 2019 06:24:43 PM GMT
kernel-3.10.0-1062.1.2.el7.x86_64             Mon 21 Oct 2019 02:54:19 PM BST
[[email protected] ~]#

[[email protected] ~]# df -hP /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       397M  274M  124M  69% /boot

 

So this is the best way to remove the old unused kernels from your Red Hat or CentOS Linux servers without worrying.


I hope you have learned something new today and if you are using any different technique to remove the unused kernels, please let me know through your comments. Also, do not forget to share your views about this article and share it with your friends.

Incoming search terms:

  • https://www pawanbahuguna com/best-way-remove-old-unused-kernels-centos-linux/

Show your love by Sharing:

  • Click to share on Facebook (Opens in new window)
  • Click to share on Twitter (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • More
  • Click to share on Telegram (Opens in new window)
  • Click to print (Opens in new window)
  • Click to email a link to a friend (Opens in new window)
  • Click to share on Skype (Opens in new window)
  • Click to share on Pocket (Opens in new window)
Share
Pinterest
Linkedin
Tweet
Google+
Stumble
Email
Prev Article

Related Articles

RHEL 7 6 5 Common Administrative commands
We all are aware that Red Hat has launched a …

Common Administrative Commands for Red Hat Enterprise Linux 5, 6, & 7

Must Know Usage of grep Command with Examples
There are lots of commands in Unix/Linux which makes system …

Must Know Usage of “grep” Command with Examples

Tags:CentOS Linux Linux Basics Redhat

Leave a Reply

Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

 

Find a domain starting at $0.48

powered by Namecheap

Like Our Book

Like Our Book

Lets Connect

  • Popular
  • Recent

Free Newsletter

Subscribe NOW!

We don’t spam! Read our privacy policy for more info.

Check your inbox or spam folder to confirm your subscription.

Pawan Bahuguna

Let's Learn and Share
Copyright © 2023 Pawan Bahuguna
Home | Privacy Policy | Contact