前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 CentOS 8 中删除旧的 Linux 内核

在 CentOS 8 中删除旧的 Linux 内核

原创
作者头像
用户9239730
发布2021-11-30 12:09:17
5.8K2
发布2021-11-30 12:09:17
举报
文章被收录于专栏:运维技术知识
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核

默认情况下 yum 包管理器最多安装 3 个版本的 Linux 内核。因此,内核引导条目仅限于 3 个。

检查已安装的 Linux 内核

执行以下 yum 命令,列出 Linux 操作系统上已安装的内核。

代码语言:javascript
复制
[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
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核

通常最新的 Linux 内核应该在操作系统上处于活动状态。除非明确将默认内核设置为旧版本。可以使用unamegrubby命令进行确认当前的内核版本。

代码语言:javascript
复制
[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
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核

设置默认 Linux 内核

列出 /boot 目录中可用的 Linux 内核。

代码语言:javascript
复制
[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
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核

执行以下命令为 GRUB 设置默认内核。

代码语言:javascript
复制
[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
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核

删除旧的 Linux 内核

默认情况下,Linux 内核始终由 Yum 包管理器单独安装,同时保持旧版本完整以提供后备支持。此行为由两个 Yum 包管理器指令控制。

installonlypkgs - 包管理器永远不会更新以空格分隔的包列表。

installonly_limit - installonlypkgs 指令中列出的任何单个包可以同时安装的最大版本数。

检查installonly_limit指令的当前值:

代码语言:javascript
复制
[root@localhost ~]# grep limit /etc/dnf/dnf.conf 
installonly_limit=3
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核

使用下面命令删除旧版本的 Linux 内核。

代码语言:javascript
复制
[root@localhost ~]# dnf -y remove --oldinstallonly --setopt installonly_limit=1 kernel
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核

可能会注意到,我们并没有更改 dnf.conf 文件中的 installonly_limit参数的值,而是在命令行中临时只修改参数。

重启系统查看是否删掉多余的内核了。

在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核
在 CentOS 8 中删除旧的 Linux 内核在 CentOS 8 中删除旧的 Linux 内核

总结

在本文中学习了如何在 CentOS 8 中安全地删除旧的 Linux 内核。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档