如何安全的删除系统中旧的 Linux 内核?
描述:如果更新了 Linux 操作系统,那么你会注意到,每次升级 Linux 内核后,GRUB 菜单都会添加一个新的引导条目,同时保持以前的条目不变,这可能会导致系统启动时出现多个内核选项,若只想保留最新和上一次的内核版本,那么你可以使用以下命令来删除旧的内核。
weiyigeek.top-KylinOS-GRUB-引导界面图
注:适用于 Redhat、CentOS、KylinOS、Rocky 等Linux操作系统。
默认情况下 yum 包管理器最多安装 3 个版本的 Linux 内核,由 installonly_limit 参数确定。因此内核引导条目仅限于 3 个,第四的一个是进入系统救援时的引导。
代码语言:javascript复制$ grep limit /etc/dnf/dnf.conf
installonly_limit=3
操作实践
1.检查已安装的 Linux 内核,执行以下 yum命令,列出 Linux 操作系统上已安装的内核。
代码语言:javascript复制$ rpm -q kernel
kernel-4.19.90-52.19.v2207.ky10.x86_64 # 旧版本
kernel-4.19.90-52.25.v2207.ky10.x86_64 # 次新版本
kernel-4.19.90-52.40.v2207.ky10.x86_64 # 最新版本
2.验证当前内核版本是否为最新版本。
代码语言:javascript复制$ uname -r
4.19.90-52.40.v2207.ky10.x86_64
$ grubby --default-kernel
/boot/vmlinuz-4.19.90-52.40.v2207.ky10.x86_64
3.列出 /boot 目录中所有可用的内核版本。
代码语言:javascript复制$ ls -1 /boot/vmlinuz-*
/boot/vmlinuz-0-rescue-e435999161274d0bb3c4650bd88344f8
/boot/vmlinuz-4.19.90-52.19.v2207.ky10.x86_64
/boot/vmlinuz-4.19.90-52.25.v2207.ky10.x86_64
/boot/vmlinuz-4.19.90-52.40.v2207.ky10.x86_64
4.若你不是最新的内核,可执行以下命令为 GRUB 设置默认内核。
代码语言:javascript复制# 设置默认内核
grubby --set-default /boot/vmlinuz-4.19.90-52.40.v2207.ky10.x86_64
5.默认情况下,Linux 内核始终由 Yum 包管理器单独安装,同时保持旧版本完整以提供后备支持,所以建议执行以下命令来删除旧的内核。
代码语言:javascript复制# 检查installonly_limit指令的当前值:
$ grep limit /etc/dnf/dnf.conf
installonly_limit=3
# 删除旧的内核
dnf -y remove --oldinstallonly --setopt installonly_limit=2 kernel
# 更新 GRUB 配置
grub2-mkconfig -o /boot/grub2/grub.cfg
上述,我们并没有更改 dnf.conf 文件中的 installonly_limit参数的值,而是在命令行中临时只修改参数,此处运行后只保留了最新内核与次新内核。
6.最后,重启系统就可查看是否删掉多余的内核了,
weiyigeek.top-删除多余内核的GRUB引导界面图
能看到此文的看友,说明冥冥之中,必有定数,何不关注一下作者!
若文章写得不错,不要吝惜手中转发,点赞、在看,若有疑问的小伙伴,可在评论区留言你想法哟