环境:
系统版本:CentOS Linux release 7.4.1708(Core)
内核版本:3.10.0-693.el7.x86 64
内核由3.10升级5.4
升级说明:
Linux Kernel代码执行漏洞(CVE-2020-14386) ,Linux kernel <5.9-rc4
Linux kernel拒绝服务漏洞(CVE-2021-38207),Linux kernel < 5.12.13
Linux Kernel本地权限提升漏洞(CVE‐2021-33909),Linux Kernel >=3.16 ,<5.13.3
Linux kernel eBPF本地权限提升漏洞(CVE-2021-3490),Linux kernel v5.13-rc4
1.导入elrepoe public key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2.安装elrepo源
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
![](https://img-blog.csdnimg.cn/img_convert/dc84017bf6e39198335121bf7dfd0140.png)
3.查询elrepo-kernel可用版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
![](https://img-blog.csdnimg.cn/img_convert/c0e8e717cdb2c71a2a69b2784ed1c077.png)
4.安装部署
yum --enablerepo=elrepo-kernel install kernel-lt //安装lt版本
yum --enablerepo=elrepo-kernel install kernel-ml //安装ml版本
注:kernel-ml #主线稳定版本,kernel-lt #长期支持版本,更加稳定(部分需要打补丁),建议使用ml版本,需考虑业务,安装前请在测试机上测试。
![](https://img-blog.csdnimg.cn/img_convert/51356b70dc7cf1b68864912a81dc17ea.png)
5.查看内核是否载入到grub2
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
//容易在空格处输错,sudo空awk空-F\'空'$1=="menuentry空"空{print空i++空" : "空$2}'空/etc/grub2.cfg
![](https://img-blog.csdnimg.cn/img_convert/a5127700cc18afdf12caecd0f44e6864.png)
6.设置最新版本为启动内核版本
grub2-set-default 0 //对应上述内核前的序号
其他方法:
vim /etc/default/grub
GRUB_DEFAULT=0
![](https://img-blog.csdnimg.cn/img_convert/05a64ac37dd8c5fb88fc6f0c13d43c0a.png)
7.生成grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
![](https://img-blog.csdnimg.cn/img_convert/0de181c6649263a207133025aabd59c0.png)
8.重启查看内核
reboot重启后,查看内核升级成功
![](https://img-blog.csdnimg.cn/img_convert/e8fae2b101d20e48a085da88e10b2be7.png)
9.查看kernel可用版本
rpm -qa |grep kernel
10.卸载kernel历史版本
yum remove kernel-3.10.0* * * //清理rpm -qa |grep kernel 除最新下载版本外的所有版本及组件
![](https://img-blog.csdnimg.cn/img_convert/0d6e3ba2e07060b1b786bd3eaf047ff9.png)
11.安装kernel依赖组件
需要完成第十步卸载,再安装,否则有冲突
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt-doc kernel-lt-headers kernel-lt-tools kernel-lt-tools-libs kernel-lt-tools-libs-deve //lt版本
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml-doc kernel-ml-headers kernel-ml-tools kernel-ml-tools-libs kernel-ml-tools-libs-deve //ml版本
12.安装其他依赖组件
yum -y install gcc gcc-c++ glibc-devel glibc-headers
参考文档:
https://blog.csdn.net/MssGuo/article/details/127184206
https://blog.csdn.net/weixin_43616190/article/details/126295883