[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]如何安全地移除系统中旧的 linux 内核?
描述:当你更新 Linux 操作系统时,你会发现每次升级内核后,GRUB 菜单会添加新的引导选项,同时保留旧的选项。这可能会导致系统启动时出现多个内核选择。如果你只希望保留最新的和上一个内核版本,可以使用以下命令来删除旧的内核。
weiyigeek.top-KylinOS-GRUB-引导界面图
注意:本方法适用于 Redhat、CentOS、KylinOS、Rocky 等 Linux 操作系统。
默认情况下,yum 包管理器最多安装 3 个版本的 Linux 内核,由 installonly_limit 参数决定。因此,内核引导条目仅限于 3 个,第四个是用于系统救援的引导选项。
代码语言:javascript运行次数:0
$ grep limit /etc/dnf/dnf.conf installonly_limit=3
操作实践:
- 检查已安装的 Linux 内核,执行以下 yum 命令,列出 Linux 操作系统上已安装的内核。
代码语言:javascript运行次数:0
$ 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 # 最新版本
- 验证当前内核版本是否为最新版本。
代码语言:javascript运行次数:0
$ 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
- 列出 /boot 目录中所有可用的内核版本。
代码语言:javascript运行次数:0
$ 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
- 如果你不是使用最新的内核,可以执行以下命令为 GRUB 设置默认内核。
代码语言:javascript运行次数:0
# 设置默认内核 grubby --set-default /boot/vmlinuz-4.19.90-52.40.v2207.ky10.x86_64
- 默认情况下,Linux 内核始终由 Yum 包管理器单独安装,同时保留旧版本以提供后备支持。因此,建议执行以下命令来删除旧的内核。
代码语言:javascript运行次数:0
# 检查 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 参数的值,而是在命令行中临时修改参数。这样运行后,只保留了最新内核与次新内核。
- 最后,重启系统即可查看是否删除了多余的内核。
weiyigeek.top-删除多余内核的GRUB引导界面图
能看到此文的朋友,说明冥冥之中,必有定数,何不关注一下作者!
若文章写得不错,不要吝惜手中转发,点赞、在看,若有疑问的朋友,可在评论区留言你的想法哟?!










