因为研究测试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