ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Centos7升级kernel-lt5.4内核

2026/8/13 17:03:27 拓冰建站 浏览量
Centos7升级kernel-lt5.4内核

Centos7升级kernel-lt5.4内核

    • 背景
      • 为什么要更新Centos7的内核到4.4以上
      • kernel-lt与kernel-ml的区别
    • Centos7通过rpm包升级`kernel-lt5.4`内核
      • 升级到`kernel-ml6.6.9内核el7`
    • 将GRUB启动菜单中的第一个启动项设置为默认启动项
      • 方法1: 修改GRUB全局配置文件
      • 方法2: 使用grub2-set-default立即生效GRUB更改
    • 查看GRUB的默认启动内核
    • 结果验证

背景

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-prpm&&cdrpm# 下载Centos7的内核安装包---历史存档wget-chttps://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.rpmwget-chttps://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.rpmwget-chttps://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-chttp://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-ml-headers-6.6.9-1.el7.elrepo.x86_64.rpmwget-chttp://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-ml-devel-6.6.9-1.el7.elrepo.x86_64.rpmwget-chttp://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启动菜单中的第一个启动项设置为默认启动项

# 1. 确认当前内核版本和系统架构uname-rcat/etc/redhat-releaseuname-m

# 2. 查看已安装的内核相关包,了解现有组件rpm-qa|grep-E"^kernel|^kernel-"

# 3. 检查引导方式,是传统的BIOS还是UEFIls/sys/firmware/efi2>/dev/null&&echo"UEFI Boot"||echo"Legacy BIOS Boot"

# 4. 查看关键工具链是否齐全(离线安装时极可能缺失)rpm-qa|grep-E"^gcc|^make|^elfutils|^binutils"

# 显示GRUB启动内核的索引号grep^menuentry /etc/grub2.cfg|cut-d\'-f2|nl-v0# 或(efi机器)grep^menuentry /etc/grub2-efi.cfg|cut-d\'-f2|nl-v0


方法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-default0

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


查看GRUB的默认启动内核

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

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


结果验证

# 重启系统reboot

# 查看内核版本好uname-a