CentOS7修改内核版本

2021-07-21 15:16:24 浏览数 (1)

因为研究测试fabric需要安装docker,而docker又对linux内核版本有要求,因此对测试的机器内核升级,以下为整理的内核升级方法步骤,忘指正。

一、升级内核

以下是在centos7.2虚拟机上升级内核版本。虚拟机初始安装系统为centos7.2,内核版本3.1,目前centos最新应为7.5,The Linux Kernel Archives 上提供的最新稳定的系统内核为 4.16 版本.所以就把我的服务器系统升级为最新的 CentOS 7.5 版本,系统内核升级为 4.16 版本。

检查当前 CentOS 系统版本和CentOS 系统内核版本

代码语言:javascript复制
    cat /etc/redhat-release
     
    uname -s

运行 yum 命令升级。CentOS 中 update 命令可以一次性更新所有软件到最新版本。

对于 CentOS 5.× 和 6.× 的系统我们在更新后需要重新安装应用程序恢复数据, CentOS 7.× 不需要这么麻烦,可以直接升级。

代码语言:javascript复制
    yum clean all
     
    yum update

重启系统,检查当前 CentOS 系统版本以及当前 CentOS 系统内核版本:

可以看到当前系统为 CentOS 7.5 已经升级成功了,但系统内核版本依旧为 3.10 并没有升级,这是因为 CentOS 为了安全和稳定并不会把系统内核升级到最新的版本,所以 yum update 命令只会升级系统版本和更新软件.接下来我们就来升级系统内核。

升级 CentOS 7.× 内核,启用 ELRepo,要在 CentOS 7.× 上启用 ELRepo 仓库,请运行:

代码语言:javascript复制
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
     
    rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

仓库启用后,你可以使用下面的命令列出可用的系统内核相关包:

代码语言:javascript复制
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

接下来,安装最新的主线稳定内核:

代码语言:javascript复制
yum --enablerepo=elrepo-kernel install kernel-ml

为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:

打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核。

代码语言:javascript复制
vim /etc/default/grub

接下来运行下面的命令来重新创建内核配置。

代码语言:javascript复制
grub2-mkconfig -o /boot/grub2/grub.cfg

重启并验证最新的内核已作为默认内核(略)。

二、修改默认启动内核

同样,先使用uname -sr查看当前使用的内核版本,可以参考一,此处不赘述。

查看当前系统已经安装的内核使用命令:

代码语言:javascript复制
rpm -qa | grep kernel

也可以使用:

代码语言:javascript复制
cat /boot/grub2/grub.cfg |grep menuentry

根据实际设置需要默认启动的内核,此处设置kernel-ml-4.17.4-1.el7.elrepo.x86_64为默认启动的内核,命令如下:

代码语言:javascript复制
grub2-set-default 'CentOS Linux (4.17.4-1.el7.elrepo.x86_64) 7 (Core)'

设置完成后使用下面命令查看是否设置成功:

代码语言:javascript复制
grub2-editenv list

如图:

设置完成后使用如下命令重新创建内核配置:

代码语言:javascript复制
grub2-mkconfig -o /boot/grub2/grub.cfg

如图:

重启验证(略)

三、删除多余内核

使用yum remove 或rpm -e 删除多余内核,例如:

查看全部安装内核的方法参考上文二中开始的‘rpm -qa | grep kernel’命令。

END

0 人点赞