在 CentOS 系统中删除旧内核,可以释放磁盘空间并避免启动时内核过多。下面按 CentOS 7 / 8 / Stream 分别说明,并给出最安全、推荐的做法。
千万不要删除当前正在运行的内核!
uname -r
输出示例:
3.10.0-1160.el7.x86_64
记住这个版本号。
rpm -qa | grep kernel
示例输出:
kernel-3.10.0-1160.el7.x86_64
kernel-3.10.0-1127.el7.x86_64
kernel-3.10.0-1062.el7.x86_64
dnf list installed kernel
或:
rpm -qa | grep kernel-core
package-cleanup(CentOS 7 最佳)CentOS 7 自带工具,保险、不会误删当前内核。
package-cleanup --oldkernels --count=1
说明:
--count=1:只保留 1 个最新内核--count=2 保留两个dnf remove --oldinstallonly
或只保留 2 个:
dnf remove --oldinstallonly --installonly_limit=2
⚠ 非常不推荐新手使用
rpm -e kernel-3.10.0-1127.el7.x86_64
⚠ 注意事项:
uname -r 显示的那个kernel-core、kernel-modules 之外的依赖包编辑配置文件:
vi /etc/yum.conf
添加或修改:
installonly_limit=2
vi /etc/dnf/dnf.conf
设置:
installonly_limit=2
grub2-mkconfig -o /boot/grub2/grub.cfg
✅ 只要保留一个可启动内核,就不会影响系统。
✅ CentOS 7
package-cleanup --oldkernels --count=1
✅ CentOS 8 / Stream
dnf remove --oldinstallonly
如果你愿意,可以告诉我:
cat /etc/centos-release)uname -r)我可以帮你确认哪些内核可以安全删除。