CentOS和RHEL升级Linux内核的方法

编辑于:2023年10月11日

CentOS和RHEL升级Linux内核的方法

CentOS内核版本 相对保守,比如 CentOS 7.9 的 Linux 内核为 3.10。然而一些新特性新功能需更高的内核版本支持,如优化网络拥堵的谷歌 BBR 算法,从 4.9 版内核开始内置。RHEL 7RHEL 8CentOS 8RHEL 0SL 7CentOS 7更新内核版本,可以参考本教程。

⚠️注意,升级内核为敏感操作,请谨慎选择。

1. 查看当前内核版本和切换到 ROOT 用户。

切换到ROOT用户并查看当前内核版本

1.1 切换ROOT用户

sudo -i

使用终端连接服务器,如用户名不是ROOT,请执行如上命令切换到 ROOT 权限。

1.2 查看当前内核版本

uname -r

执行如上命令,查看当前系统的内核版本。我的CentOS 7.9内核为3.10.0

2.使用 ELRepo 存储库

ELRepo 是企业 Linux 发行版的社区存储库,所有的软件包都是针对 RHEL 内核构建的。ELRepo 组件不兼容 CentOS Stream 内核或已知会破坏内核 ABI 兼容性的重建发行版。

导入公钥并安装 ELRepo

2.1 导入公钥

执行如下命令,导入公钥。

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2.2 安装 ELRepo

根据服务所用的系统版本,请选择如下对应的一个命令执行。

⭕CentOS-7、RHEL-7、SL-7 安装 ELRepo:

yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

⭕CentOS-8、RHEL-8 安装 ELRepo:

yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

⭕RHEL-9 安装 ELRepo:

yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm

3.查看可安装的内核版本和安装内核

3.1 查看可更新内核版本

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

在终端执行如上命令,等一会将列出可供更新的所有版本,如下图所示。主要分为kernel-lt(长期维护版)和kernel-ml(主线版)者两类,采用长期支持版本(kernel-lt)更稳定。

可供更新的所有版本Linux内核,主要分为kernel-lt(长期维护版)和 kernel-ml(主线版)

3.2 选择并安装新版内核

根据需求选择其中一个版本安装,虫子菌更倾向kernel-lt长期维护版。

⭕选择稳定版,请执行如下命令:

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

⭕选择主线版,请执行如下命令:

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

如下图所示,CentOS 7 升级内核到最新版稳定版。

将Linux内核升到最新kernel-lt长期维护版

4.更新 GRUB2 引导加载器

为了确保新内核在系统启动时可以被选择,需要更新 GRUB2。

对于 CentOS 7:

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

如果使用的是 UEFI 启动,路径可能是 /boot/efi/EFI/centos/grub.cfg

对于 CentOS 8:

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

5.设置使用新内核启动并重启服务器生效

使用新内核启动并重启服务器生效

执行如下命令,将新版内核设置为启动项

grub2-set-default 0

执行如下命令,重启服务器应用新版内核

reboot

6.查看是否已使用新版内核

等服务器重启好,在终端执行uname -r看到内核已从3.10.0升级到5.4.243了。至此,我的 CentOS 7 已顺利升级内核。

相关推荐

暂无评论