关于内核种类:
kernel-ml
kernel-ml 中的ml是英文【 mainline stable 】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。
kernel-lt
kernel-lt 中的lt是英文【 long term support 】的缩写,elrepo-kernel中罗列出来的长期支持版本。
注意事项
- ML 与 LT 两种内核类型版本可以共存
- 但每种类型内核只能存在一个版本,例如:当系统已存在 LT 内核的 5.4.103 版本时,继续安装 LT 内核的 4.4.215 版本则会提示:
package kernel-lt-5.4.103-1.el7.elrepo.x86_64 (which is newer than kernel-lt-4.4.215-1.el7.elrepo.x86_64) is already installed
升级至最新版本
查看系统信息
- 查看发行信息
cat /etc/os-release
- 查看CentOS版本
cat /etc/redhat-release
- 查看内核版本
uname -r
更新源并升级
yum update -y
启用并安装ELRepo仓库
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
查看可安装的软件包
其中包括了主线版本kernel-ml和长期支持版本kernel-lt
yum list available --disablerepo='*' --enablerepo=elrepo-kernel
选择 ML 或 LT 版本安装
# 安装 ML 版本
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
# 安装 LT 版本,K8S全部选这个
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
设置内核启动顺序
查看grub配置信息
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
修改默认启动项
xxx 为序号数字,以指定启动列表中第x项为启动项,x从0开始计数,如上图所示,6.3.0的序号为0
grub2-set-default xxxx
例如设置以6.3.0内核启动
# 查看内核启动序号
[root@hrqwsirjxtfjbls ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (6.3.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-7fca48e64ce64db1ac24ac9229c25232) 7 (Core)
# 设置启动序号
[root@localhost ~] grub2-set-default 0
# 重启
reboot
# 检查内核版本
uname -r
安装指定版本
本次以安装 LT 内核的 4.415 版本为例。
查找版本
因 ELRepo 源都是最新版本,所以旧版本内核只能手动下载。
查找 kernel rpm 历史版本:http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
下载内核 RPM
共需要下载三个类型 rpm
注意:下方链接请更换成你自己需要的版本,早期的一些版本没有下载地址,请事先确认好
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.203-1.el7.elrepo.x86_64.rpm
安装内核
rpm -ivh kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64.rpm
确认已安装内核版本
[root@hrqwsirjxtfjbls ~]# rpm -qa | grep kernel
kernel-3.10.0-1160.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-ml-devel-6.3.0-1.el7.elrepo.x86_64
kernel-headers-3.10.0-1160.88.1.el7.x86_64
kernel-tools-libs-3.10.0-1160.88.1.el7.x86_64
kernel-tools-3.10.0-1160.88.1.el7.x86_64
kernel-ml-6.3.0-1.el7.elrepo.x86_64
kernel-lt-5.4.203-1.el7.elrepo.x86_64
kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64
设置启动
# 查看启动顺序
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.203-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (6.3.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
# 设置启动顺序
[root@localhost ~]# grub2-set-default 0
# 重启生效
[root@localhost ~]# reboot
版权属于:FoXiMao
本文链接:https://www.foximao.com/linux/CentOS_upgrade_kernel.html
转载时须注明出处及本声明