运维Tips | 如何安全的移除系统中旧的Linux内核?

2024-09-10 20:45:49 浏览数 (2)

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]

如何安全的删除系统中旧的 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引导界面图

能看到此文的看友,说明冥冥之中,必有定数,何不关注一下作者!

若文章写得不错,不要吝惜手中转发,点赞、在看,若有疑问的小伙伴,可在评论区留言你想法哟

0 人点赞