注意:
- 因为官方ELRepo 源最新地址已经没有内核包了,所以网上的大多数升级方法都会失败,报错找不到内核包
- 所以我们去下载安装历史版本的内核就可以了
- kernel rpm 历史版地址:http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
升级步骤:
第一步:查看内核版本
[root@xiaopenglinux ~]# uname -r
# 我这边显示的是3.10版本的内核,根据操作系统不同有差异
第二步:查看当前系统的内核包:
[root@node1 ~]# rpm -qa |grep kernel
#我这边显示的是3.10版本的内核、内核头和内核依赖,根据操作系统不同有差异
第三步:手动下载内核文件
#先安装个wget工具
[root@node1 ~]# yum -y install wget
#下载内核文件
[root@node1 ~]# wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.226-1.el7.elrepo.x86_64.rpm
#下载内核依赖文件
[root@node1 ~]# wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.226-1.el7.elrepo.x86_64.rpm
#下载内核头部文件
[root@node1 ~]# wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.226-1.el7.elrepo.x86_64.rpm
第四步:安装新版内核
# 先安装kernel-lt-5.4.226-1.el7.elrepo.x86_64.rpm内核
[root@localhost ~]# rpm -ivh kernel-lt-5.4.226-1.el7.elrepo.x86_64.rpm
# 再安装依赖
[root@localhost ~]# rpm -ivh kernel-lt-devel-5.4.226-1.el7.elrepo.x86_64.rpm
# 移除现有的 kernel-headers 包,否则会报错内核头冲突
[root@localhost ~]# rpm -e --nodeps kernel-headers-3.10.0-1160.el7.x86_64
#安装新版kernel-lt-headers
[root@localhost ~]# rpm -ivh kernel-lt-headers-5.4.226-1.el7.elrepo.x86_64.rpm
#查看当前系统的内核包
[root@localhost ~]# rpm -qa | grep kernel
#查看启动顺序,发现升级的5.4内核顺序位置是0
[root@localhost ~]# cat /etc/grub2.cfg | grep menuentry|awk -F "\'" '$1=="menuentry " {print i++ " : " $2}'
#设置启动顺序,将顺序为0的内核设置为启动引导内核
[root@localhost ~]# grub2-set-default 0
#重启加载生效
[root@localhost ~]# reboot
#再次查看内核,已经升级到5.4版本了
[root@localhost ~]# uname -r