更新Centos内核版本及内核工具包

强烈建议安装前先进行备份,虚拟机可以拍个快照,云服务器则直接创建磁盘快照即可,数据无价啊!

1.首先输入

uname -sr

查看当前内核版本

2.更新仓库

输入

yum -y update

其中 -y 选项可以在每次需要确认时,自动使用 yes,节省时间。

3. 启用ELRepo仓库

导入ELRepo软件仓库的公共秘钥

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

安装ELRepo软件仓库的yum源

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

4.1 查看可用的系统内核包

输入命令

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

4.2 安装最新内核

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

kernel-ml(mainline) 和 kernel-lt(long-term)的区别在于:前者属「主线稳定分支」,后者属于「长期支持分支」,推荐使用ml内核,因为兼容性会更好。

5. 查看系统上的所有可以内核

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

接下来需要设置grub2并重启后才能生效

6.设置grub2

vi /etc/default/grub

其中vi命令是使用vi编辑器打开文本,vi编辑器是Linux和unix的标准编辑器

打开之后按”i”键编辑,设置GRUB_DEFAULT 选项为0

然后按Esc键退出编辑,输入:wq保存并退出

生成 grub 配置文件并重启

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

输入 reboot 重启服务器之后即可验证内核版本是否更新到最新

此时,内核版本已经升级到了最新

接下来我们一并安装内核工具包

7. 更新内核工具包

# 删除旧版本工具包
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64
# 安装新版本工具包
yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64

8. 删除旧内核

8.1 查看系统中全部的内核

rpm -qa | grep kernel

kernel-headers-3.10.0-957.1.3.el7.x86_64
kernel-devel-3.10.0-957.el7.x86_64
kernel-tools-libs-3.10.0-957.1.3.el7.x86_64
kernel-tools-3.10.0-957.1.3.el7.x86_64
kernel-ml-4.20.2-1.el7.elrepo.x86_64
kernel-3.10.0-957.1.3.el7.x86_64
kernel-devel-3.10.0-957.1.3.el7.x86_64
kernel-3.10.0-957.el7.x86_64

8.2 使用yum remove 删除旧内核的 RPM 包

yum remove kernel-3.10.0-514.el7.x86_64 \
kernel-tools-libs-3.10.0-862.11.6.el7.x86_64 \
kernel-tools-3.10.0-862.11.6.el7.x86_64 \
kernel-3.10.0-862.11.6.el7.x86_6

发表评论,支持MarkDown语法