centos7升级内核
2024年10月30日大约 2 分钟
centos7升级内核
背景
在 CentOS7 使用过程中,难免需要升级内核,但有时候因为源码编译依赖问题,需要安装特定版本得内核,下面将介绍安装特定版本内核得升级方式
注意事项
关于内核种类:
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
安装
本次以安装
kernel-lt-5.4.278-1
为例
查找版本
由于``centos7`不再维护,所以只能手动下载旧版本
下载内核
需要下载三个类型rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.278-1.el7.elrepo.x86_64.rpm
安装内核
rpm -ivh kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
提示缺少
prel
依赖yum install perl
然后执执行
rpm -ivh kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
确认安装得内核
[zhangtq@localhost ~]$ rpm -qa | grep kernel
kernel-tools-3.10.0-1160.119.1.el7.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-tools-libs-3.10.0-1160.119.1.el7.x86_64
kernel-3.10.0-1160.119.1.el7.x86_64
kernel-lt-5.4.278-1.el7.elrepo.x86_64
kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64
设置启动
查看启动顺序
[root@localhost zhangtq]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.119.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-30f2e54bd64444f0923826ab28e718e7) 7 (Core)
设置启动顺序
[root@localhost ~]# grub2-set-default 0
重启生效
[root@localhost zhangtq]# reboot
确认升级成功
-bash: unname: 未找到命令
[root@localhost ~]$ uname -r
5.4.278-1.el7.elrepo.x86_64
rpm -ivh kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm