不积小流,无以成江海。
分类: linux
2022-09-22 09:43:07
原文地址:在 centos 8 中删除旧的 linux 系统内核 作者:梦共里醉
如果更新了 操作系统,那么你会注意到,每次升级 linux 内核后,grub 菜单都会添加一个新的引导条目,同时保持以前的条目不变。本文介绍如何删掉多余的内核。 |
默认情况下 yum 包管理器最多安装 3 个版本的 linux 内核。因此,内核引导条目仅限于 3 个。
执行以下 yum ,列出 linux 操作系统上已安装的内核。
[root@localhost ~]# rpm -q kernel kernel-4.18.0-80.11.2.el8_0.x86_64 kernel-4.18.0-305.12.1.el8_4.x86_64
通常最新的 linux 内核应该在操作系统上处于活动状态。除非明确将默认内核设置为旧版本。可以使用uname和grubby进行确认当前的内核版本。
[root@localhost ~]# uname -r 4.18.0-305.12.1.el8_4.x86_64 [root@localhost ~]# grubby --default-kernel /boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
列出 /boot 目录中可用的 linux 内核。
[root@localhost ~]# ls -1 /boot/vmlinuz-* /boot/vmlinuz-0-rescue-6d19da3ce9f3444dbb62aa3fe94e2836 /boot/vmlinuz-4.18.0-240.15.1.el8_3.x86_64 /boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64
执行以下命令为 grub 设置默认内核。
[root@localhost ~]# grubby --set-default /boot//boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64 the default is /boot/loader/entries/6d19da3ce9f3444dbb62aa3fe94e2836-4.18.0-305.12.1.el8_4.x86_64.conf with index 0 and kernel /boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
默认情况下,linux 内核始终由 yum 包管理器单独安装,同时保持旧版本完整以提供后备支持。此行为由两个 yum 包管理器指令控制。
installonlypkgs - 包管理器永远不会更新以空格分隔的包列表。
installonly_limit - installonlypkgs 指令中列出的任何单个包可以同时安装的最大版本数。
检查installonly_limit指令的当前值:
[root@localhost ~]# grep limit /etc/dnf/dnf.conf installonly_limit=3
使用下面命令删除旧版本的 linux 内核。
[root@localhost ~]# dnf -y remove --oldinstallonly --setopt installonly_limit=1 kernel
可能会注意到,我们并没有更改 dnf.conf 文件中的 installonly_limit参数的值,而是在命令行中临时只修改参数。
重启系统查看是否删掉多余的内核了。
在本文中学习了如何在 8 中安全地删除旧的 linux 内核。