在 CentOS 系统中,随着内核更新,旧内核会不断积累,占用 /boot 空间,可能导致系统更新失败或 /boot 分区满。下面分 CentOS 7 / 8 / Stream 给你一套安全、常用的清理旧内核方法。
uname -r
例如:
3.10.0-1160.95.1.el7.x86_64
✅ 这个内核绝对不能删。
rpm -qa | grep kernel
dnf list installed | grep kernel
package-cleanup(最安全,官方推荐)yum install -y yum-utils
保留 2 个内核(当前 + 1 个旧):
package-cleanup --oldkernels --count=2 -y
✅ 自动删除多余旧内核
✅ 不会删除正在运行的内核
rpm -qa | grep kernel
然后手动删除(示例):
yum remove kernel-3.10.0-957.el7.x86_64
dnf查看当前内核:
uname -r
查看已安装内核:
dnf list installed kernel
删除指定旧内核:
dnf remove kernel-core-<版本>
编辑配置文件:
vi /etc/dnf/dnf.conf
添加或修改:
installonly_limit=2
然后清理:
dnf autoremove
/boot 空间(如果已经满了)/boot 使用情况df -h /boot
ls /boot
删除旧版本(⚠️ 不要删当前内核相关文件):
rm -f /boot/initramfs-旧版本.img
rm -f /boot/vmlinuz-旧版本
grub2-mkconfig -o /boot/grub2/grub.cfg
/boot 满了无法更新?/boot如果你愿意,可以告诉我:
/boot 已满我可以给你精确到命令级别的操作方案。