之路 on it Road.com

设置默认 Linux 内核:

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

# ls /boot/vm*
/boot/vmlinuz-0-rescue-25d4accaa6754a5e97616dd5774f723b
/boot/vmlinuz-4.18.0-240.10.1.el8_3.x86_64
/boot/vmlinuz-4.18.0-240.22.1.el8_3.x86_64
/boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64

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

# grubby --set-default /boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
The default is /boot/loader/entries/25d4accaa6754a5e97616dd5774f723b-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 内核:

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

此行为由两个 Yum 包管理器指令控制。

  • installonlypkgs 空间分隔的包列表,这些包永远不会被包管理器更新。

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

检查 installonly_limit 指令的当前值

# grep limit /etc/dnf/dnf.conf
installonly_limit=3

在 Linux Bash 提示符下执行以下命令以删除旧版本的 Linux 内核。

# dnf -y remove --oldinstallonly --setopt installonly_limit=1 kernel
...
Removed:
  kernel-4.18.0-240.10.1.el8_3.x86_64
  kernel-4.18.0-240.22.1.el8_3.x86_64
  kernel-core-4.18.0-240.10.1.el8_3.x86_64
  kernel-core-4.18.0-240.22.1.el8_3.x86_64
  kernel-modules-4.18.0-240.10.1.el8_3.x86_64
  kernel-modules-4.18.0-240.22.1.el8_3.x86_64
Complete!

我们可能会注意到,我们没有更改 dnf.conf 文件中的 installonly_limit 指令值,而是在运行时仅为当前 dnf 命令设置它。

现在重新启动 Linux 操作系统。

# reboot

检查 GRUB 引导菜单,旧内核条目已被删除。

检查已安装的 Linux 内核

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

# rpm -q kernel
kernel-4.18.0-240.10.1.el8_3.x86_64
kernel-4.18.0-240.22.1.el8_3.x86_64
kernel-4.18.0-305.12.1.el8_4.x86_64

通常最新的 Linux 内核应该在操作系统上处于活动状态。

我们可以使用以下命令进行确认正在使用的内核版本。

# uname -r
4.18.0-305.12.1.el8_4.x86_64
# grubby --default-kernel
/boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
在 CentOS/RHEL 8 中删除旧的 Linux 内核
日期:2020-09-17 00:12:37 来源:oir作者:oir