CentOS 系统更新后,并不会像某些 Linux 发行版那样自动清除旧内核。如果你在启动时留意过 Grub 菜单,就会发现每次升级都会多出一两个内核选项,时间一长,整个菜单变得冗长杂乱。更关键的是,这些旧内核占用了实实在在的磁盘空间,而且系统重启时一旦选错版本,还可能引发不必要的麻烦。
因此,定期清理旧内核非常有必要。具体怎么操作?其实只需几步即可完成。
首先,确认当前使用的内核版本
# uname -a
Linux localhost.localdomain 3.10.0-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07 UTC 201 GNU/Linux
这一步至关重要——你必须明确自己正在运行的内核是哪一个,后续才能安全地删除其他版本,避免误删当前正在使用的内核。
接着,列出系统中所有内核相关的 RPM 包
# rpm -qa | grep kernel
kernel-3.10.0-229.14.1.el7.x86_64
kernel-3.10.0-229.el7.x86_64
abrt-addon-kerneloops-2.1.11-22.el7.centos.0.1.x86_64
kernel-tools-libs-3.10.0-229.20.1.el7.x86_64
kernel-3.10.0-229.20.1.el7.x86_64
kernel-tools-3.10.0-229.20.1.el7.x86_64
从输出中可以清晰看到,当前正在使用的内核版本是 3.10.0-229.20.1.el7(也就是 uname -a 显示的那个),而另外两个旧版本——3.10.0-229.14.1.el7 和 3.10.0-229.el7——可以放心移除。
删除旧内核的 RPM 包
yum remove kernel-3.10.0-229.14.1.el7
yum remove kernel-3.10.0-229.el7
直接使用 yum remove 命令卸载对应的包即可,简洁高效。注意每次只删除一个,切勿一次性全选,以免误操作。
最后,重启系统验证清理效果
# reboot
重启之后,Grub 菜单里应该只剩下当前内核,显得干净利落。有一个细节值得说明:无需手动修改 /boot/grub/menu.lst 或 /boot/grub2/grub.cfg,因为 yum remove 会自动更新启动配置。人为干预反而容易引发问题。
整个过程没有太多坑点,唯一需要注意的是删除前务必确认当前内核版本,避免误删。按照这个步骤操作,CentOS 的启动菜单就能始终保持清爽整洁。
