更新CentOS内核

概述

大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。
但是,这只会升级内核到仓库中可用的最新版本 – 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。
与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。
本文以CentOS 8为例。

参考文章:《详解如何在 CentOS 7 中安装或升级最新的内核》 作者:Matei Cezar

查看当前内核

uname -sr

安装

安装epel-release

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm -y

列出可用内核包

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

安装最新的主线稳定内核

yum --enablerepo=elrepo-kernel install kernel-ml -y

修改grub文件

修改内核的启动顺序

编辑文件:/etc/default/grub,将GRUB_DEFAULT=saved改为GRUB_DEFAULT=0

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved      #把这里的saved改成0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0"
GRUB_DISABLE_RECOVERY="true"

接下来还需要运行grub2-mkconfig命令来重新创建内核配置:

grub2-mkconfig -o /boot/grub2/grub.cfg

重启机器

reboot

删除旧内核

查看系统中的全部内核

rpm -qa | grep kernel

在确认当前内核运行正常后,可删除多余的旧内核。个人仍建议至少保留一个旧内核,以避免万一。

删除不需要的内核

例如:

yum remove kernel-3.10.0-229.el7.x86_64 kernel-3.10.0-229.1.2.el7.x86_64

 

留下评论