在本文中,我们将展示如何在RHEL / CentOS / Fedora系统上删除旧的/未使用的内核映像。 但是,在删除旧的内核之前,同样重要的是让您的内核保持最新; 安装最新版本以利用新的内核功能,并保护您的系统免受在旧版本中发现的漏洞。
要在RHEL / CentOS / Fedora系统中安装或升级到最新的内核版本,请阅读本指南:
注意 :相反,建议保持至少一个或两个旧的内核回退,以防更新有问题。
要显示系统上运行的当前版本的Linux(内核),请运行此命令。
# uname -sr Linux 3.10.0-327.10.1.el7.x86_64
列出系统上的所有安装的内核
您可以列出系统上安装的所有内核映像。
# rpm -q kernel kernel-3.10.0-229.el7.x86_64 kernel-3.10.0-229.14.1.el7.x86_64 kernel-3.10.0-327.3.1.el7.x86_64 kernel-3.10.0-327.10.1.el7.x86_64
在CentOS / RHEL上删除旧的/未使用的内核
您需要安装yum-utils ,它是与yum集成的各种实用工具,通过以多种不同的方式扩展其原始功能,使其更强大,更易于使用。
# yum install yum-utils
其中一个实用程序是package-cleanup ,您可以使用它来删除旧内核,如下所示,count标志用于指定要在系统上离开的内核数。
# package-cleanup --oldkernels --count=2
Loaded plugins: fastestmirror, langpacks, product-id, versionlock --> Running transaction check ---> Package kernel.x86_64 0:3.10.0-229.el7 will be erased ---> Package kernel.x86_64 0:3.10.0-229.14.1.el7 will be erased ---> Package kernel-devel.x86_64 0:3.10.0-229.1.2.el7 will be erased ---> Package kernel-devel.x86_64 0:3.10.0-229.14.1.el7 will be erased --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Removing: kernel x86_64 3.10.0-229.el7 @anaconda 131 M kernel x86_64 3.10.0-229.14.1.el7 @updates 131 M kernel-devel x86_64 3.10.0-229.1.2.el7 @updates 32 M kernel-devel x86_64 3.10.0-229.14.1.el7 @updates 32 M Transaction Summary =============================================================================================================================================================================================== Remove 4 Packages Installed size: 326 M Is this ok [y/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : kernel-devel.x86_64 1/4 Erasing : kernel.x86_64 2/4 Erasing : kernel-devel.x86_64 3/4 Erasing : kernel.x86_64 4/4 Loading mirror speeds from cached hostfile * base: centos.mirror.snu.edu.in * epel: repo.ugm.ac.id * extras: centos.mirror.snu.edu.in * rpmforge: kartolo.sby.datautama.net.id * updates: centos.mirror.snu.edu.in Verifying : kernel-3.10.0-229.el7.x86_64 1/4 Verifying : kernel-devel-3.10.0-229.14.1.el7.x86_64 2/4 Verifying : kernel-3.10.0-229.14.1.el7.x86_64 3/4 Verifying : kernel-devel-3.10.0-229.1.2.el7.x86_64 4/4 Removed: kernel.x86_64 0:3.10.0-229.el7 kernel.x86_64 0:3.10.0-229.14.1.el7 kernel-devel.x86_64 0:3.10.0-229.1.2.el7 kernel-devel.x86_64 0:3.10.0-229.14.1.el7 Complete!
重要提示 :运行上述命令后,将删除所有旧的/未使用的内核,并保持当前的运行状态和旧的最新内核作为备份。
在Fedora上删除旧的/未使用的内核
Fedora现在使用dnf包管理器 ,一个新版本的yum包管理器 ,所以你需要使用这个命令来删除Fedora上的旧内核。
# dnf remove $(dnf repoquery --installonly --latest-limit -2 -q)
自动删除旧内核的另一种替代方法是在yum.conf文件中设置内核限制,如图所示。
installonly_limit=2 #set kernel count
保存并关闭文件。 下次运行更新时,系统上只剩下两个内核。
您可能还想阅读以下有关Linux内核的相关文章。
在本文中,我们介绍了如何在RHEL / CentOS / Fedora系统上删除旧的/未使用的内核映像。 您可以通过下面的反馈分享任何想法。