跳到主要内容

CentOS 7 升级内核

2025更新版本

由于我的服务器操作系统买了好多年了,也一直懒得折腾升级,每次更换服务器也都采用最简单的镜像方式

最近搭建wg时,需要升级内核,当下2025年,CentOS 7已经不提供支持了,这里记录一下如何手动升级内核

从网址https://dl.lamp.sh/kernel/el7找到最新版,并在服务器上进行下载

手动下载

~ wget https://dl.lamp.sh/kernel/el7/kernel-ml-6.9.10-1.el7.x86_64.rpm
~ wget https://dl.lamp.sh/kernel/el7/kernel-ml-devel-6.9.10-1.el7.x86_64.rpm

检查当前的启动的kernel

~ grub2-editenv list
saved_entry=CentOS Linux (3.10.0-1160.15.2.el7.x86_64) 7 (Core)

本地安装kernel

~ yum localinstall -y kernel-ml-6.9.10-1.el7.x86_64.rpm kernel-ml-devel-6.9.10-1.el7.x86_64.rpm

设置默认启动的内核

#查看默认启动顺序
~ awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (6.9.10-1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.15.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.13.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-20190711105006363114529432776998) 7 (Core)
#默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而4.4.4的是在1),所以需要选择0。
~ grub2-set-default 0

重启并检查内核版本

~ reboot
~ uname -r

常规版本

载入公钥

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

安装ELRepo

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

配置加速(可选)

~ sed -i "s#elrepo.org/linux#mirrors.tuna.tsinghua.edu.cn/elrepo#g" /etc/yum.repos.d/elrepo.repo

载入elrepo-kernel元数据

~ yum --disablerepo=\* --enablerepo=elrepo-kernel repolist

查看可用的rpm包

~ yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel*

安装长期支持版本的kernel/最新kernel

~ yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt.x86_64
~ yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml.x86_64

删除旧版本工具包

~ yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64 -y

安装新版本工具包

~ yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt-tools.x86_64

设置默认启动顺序

#查看默认启动顺序
~ awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.183-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-c52097a1078c403da03b8eddeac5080b) 7 (Core)
#默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而4.4.4的是在1),所以需要选择0。
~ grub2-set-default 0

重启并检查内核版本

~ reboot
~ uname -r