Remove old kernel packages in RHEL 8

Leo Saavedra
2 min readFeb 26, 2021

In RHEL/CentOS 7.x is easy to remove extra kernel packages with package-cleanup, but RHEL 8 yum4 provides a method for removing kernels and keeping only the latest version and running kernel

As you can see we have two kernel packages 4.18.0–240 and 4.18.0.140–15

[buser@lautaro ~]$ rpm -qa | grep kernel-
kernel-tools-4.18.0-240.15.1.el8_3.x86_64
kernel-4.18.0-240.el8.x86_64
kernel-core-4.18.0-240.15.1.el8_3.x86_64
kernel-core-4.18.0-240.el8.x86_64
kernel-tools-libs-4.18.0-240.15.1.el8_3.x86_64
kernel-modules-4.18.0-240.15.1.el8_3.x86_64
kernel-4.18.0-240.15.1.el8_3.x86_64
kernel-modules-4.18.0-240.el8.x86_64

Then we have to remove the oldest one and keep only 1

[buser@lautaro ~]$ sudo yum remove $(yum repoquery --installonly --latest-limit=-1)
Updating Subscription Management repositories.
No match for argument: Updating
No match for argument: Subscription
No match for argument: Management
No match for argument: repositories.
Dependencies resolved.
===============================================================================================
Package Architecture Version Repository Size
===============================================================================================
Removing:
kernel x86_64 4.18.0-240.el8 @anaconda 0
kernel-core x86_64 4.18.0-240.el8 @anaconda 62 M
kernel-modules x86_64 4.18.0-240.el8 @anaconda 21 M
Transaction Summary
===============================================================================================
Remove 3 Packages
Freed space: 83 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Erasing : kernel-4.18.0-240.el8.x86_64 1/3
Running scriptlet: kernel-4.18.0-240.el8.x86_64 1/3
Erasing : kernel-modules-4.18.0-240.el8.x86_64 2/3
Running scriptlet: kernel-modules-4.18.0-240.el8.x86_64 2/3
Running scriptlet: kernel-core-4.18.0-240.el8.x86_64 3/3
Erasing : kernel-core-4.18.0-240.el8.x86_64 3/3
Running scriptlet: kernel-core-4.18.0-240.el8.x86_64 3/3
Verifying : kernel-4.18.0-240.el8.x86_64 1/3
Verifying : kernel-core-4.18.0-240.el8.x86_64 2/3
Verifying : kernel-modules-4.18.0-240.el8.x86_64 3/3
Installed products updated.
Removed:
kernel-4.18.0-240.el8.x86_64 kernel-core-4.18.0-240.el8.x86_64
kernel-modules-4.18.0-240.el8.x86_64
Complete!

then if we query the kernel packages again

[buser@lautaro ~]$ rpm -qa | grep kernel-
kernel-tools-4.18.0-240.15.1.el8_3.x86_64
kernel-core-4.18.0-240.15.1.el8_3.x86_64
kernel-tools-libs-4.18.0-240.15.1.el8_3.x86_64
kernel-modules-4.18.0-240.15.1.el8_3.x86_64
kernel-4.18.0-240.15.1.el8_3.x86_64

--

--

Leo Saavedra
0 Followers

Sysadmin, for the archeologist from the future.