Centos7升级kernel-lt5.4内核

背景

2025年4月1日,博主发现ELRepo源仓库的el7内核仓库已被清空,yum在线更新内核已不可用.

正确更新Centos7内核方法如下:
从这个git仓库下载长期内核版本5.4rpm包进行安装即可.
https://github.com/omaidb/centos7_kernel_rpm.git


为什么要更新Centos7的内核到4.4以上

在k8s所有节点上执行
k8s在内核3.10下有bug,一定要更新到4.4以上

参考: https://cloud.tencent.com/developer/article/1737907

在这里插入图片描述


kernel-lt与kernel-ml的区别

参考: https://shawn0915.github.io/redhat/2018/02/04/how-to-upgrade-centos-kernel.html

内核名称全拼解释由哪个软件仓库提供
kernel-ltlt是英文【long term support】的缩写长期支持版本elrepo-kernel
kernel-mlml是英文【mainline stable】的缩写最新的稳定主线版本elrepo-kernel

Centos7通过rpm包升级kernel-lt5.4内核

el7内核rpm包下载地址: https://github.com/omaidb/centos7_kernel_rpm.git

kernel-lt5.4内核el7下载地址: http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS

参考: https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=235891

mkdir -p rpm && cd rpm
# 下载Centos7的内核安装包---历史存档
wget -c https://media.githubusercontent.com/media/omaidb/centos7_kernel_rpm/refs/heads/main/Centos7_kernel_lt_rpm/kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm

wget -c https://media.githubusercontent.com/media/omaidb/centos7_kernel_rpm/refs/heads/main/Centos7_kernel_lt_rpm/kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm

wget -c https://media.githubusercontent.com/media/omaidb/centos7_kernel_rpm/refs/heads/main/Centos7_kernel_lt_rpm/kernel-lt-headers-5.4.278-1.el7.elrepo.x86_64.rpm

在这里插入图片描述

  • 安装这3个rpm包
包名作用是否常用
kernel-lt-headers提供内核头文件,用于编译用户空间程序否(一般作为依赖)
kernel-lt-devel提供开发所需头文件和静态库,用于编译模块/驱动
kernel-lt完整的 Linux 内核镜像
# 安装内核的rpm包
rpm -ivh *.rpm

# 如果报错则忽略依赖强制安装
rpm -ivh *.rpm --nodeps --force


升级到kernel-ml6.6.9内核el7

kernel-ml6.6.9内核el7下载地址

wget -c http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-ml-headers-6.6.9-1.el7.elrepo.x86_64.rpm
wget -c http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-ml-devel-6.6.9-1.el7.elrepo.x86_64.rpm
wget -c http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-ml-6.6.9-1.el7.elrepo.x86_64.rpm

安装内核包

rpm -Uvh *.rpm --nodeps --force

将GRUB启动菜单中的第一个启动项设置为默认启动项

# 显示GRUB启动内核的索引号
grep ^menuentry /etc/grub2.cfg | cut -d \' -f 2 | nl -v 0

# 或
grep ^menuentry /etc/grub2-efi.cfg | cut -d \' -f 2 | nl -v 0


方法1: 修改GRUB全局配置文件

# 修改GRUB配置
vim /etc/default/grub

GRUB_DEFAULT=saved 改为GRUB_DEFAULT=0

参数解释
GRUB_DEFAULT=savedGRUB默认启动用户上一次选择的启动项
GRUB_DEFAULT=0设置GRUB默认启动最新内核

更新 GRUB 配置

# 更新 GRUB 配置
grub2-mkconfig -o /etc/grub2.cfg

# 或
grub2-mkconfig -o /boot/grub2/grub.cfg

方法2: 使用grub2-set-default立即生效GRUB更改

# 设置GRUB默认启动最新内核
grub2-set-default 0

修改的是 /boot/grub2/grubenv 环境文件,权重没有


查看GRUB的默认启动内核

# 查看下次启动内核版本
cat /boot/grub2/grubenv | grep saved_entry

# 或
# 查看GRUB默认启动的内核
grub2-editenv list


结果验证

# 重启系统
reboot

# 查看内核版本好
uname -a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值