CentOS官方仓库将内核视为基础系统组件,仅提供小版本修补(如3.10.0-1160→3.10.0-1234),不升级主线版本(3.x→4.x/5.x/6.x),因此yum update不会更新内核主线;必须通过ELRepo等第三方源手动安装kernel-lt(长期支持版,推荐生产环境)或kernel-ml(主线稳定版,更新快但风险略高),并显式设置GRUB默认启动项、更新grub配置后方可生效。

CentOS 默认不随 yum update 升级内核主线版本(比如从 3.10.0 到 5.4 或 6.1),必须手动引入第三方仓库并显式安装。直接跑 yum update 后 uname -r 还是老版本,不是你操作错了,是设计如此。
为什么不能用 yum update 升级内核?
CentOS 官方仓库把内核视为「基础系统组件」,只提供小版本修补(如 3.10.0-1160 → 3.10.0-1234),不会跨主线(3.x → 4.x/5.x/6.x)。这保证了稳定性,但也意味着新特性(eBPF、io_uring、cgroup v2)、新硬件驱动或 Kubernetes 最低要求(通常 ≥ 4.19)都得靠自己升级。
选 kernel-lt 还是 kernel-ml?
从 ELRepo 安装时,你会看到两个主流包:
-
kernel-lt:长期支持版(如5.4.278、6.1.82),官方支持周期 5–6 年,生产环境首选; -
kernel-ml:主线稳定版(如6.8.11、6.11.0),更新快但 initramfs 模块可能缺失,尤其在CentOS 7上容易启动失败。
推荐:CentOS 7 用 kernel-lt;CentOS 8 可考虑 kernel-ml(已验证兼容 5.16.11)。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
安装后不生效?检查 GRUB 默认项是否真切换了
装完 kernel-lt 或 kernel-ml,只是把文件放进 /boot,GRUB 还不知道该用哪个。常见失效原因:
-
/etc/default/grub中GRUB_DEFAULT=saved(默认值),此时grub2-set-default 0必须配合grub2-editenv list确认生效,不能只改配置文件; - 没运行
grub2-mkconfig -o /boot/grub2/grub.cfg,导致新内核条目未写入配置; - 执行完
grub2-mkconfig后,应立刻检查/boot/grub2/grub.cfg开头是否有类似menuentry 'CentOS Linux (6.1.82-1.el7.elrepo.x86_64)'的行; - 别急着删旧内核——先
reboot,进系统后立刻跑uname -r确认,再清理。
CentOS 7 和 CentOS 8 的 ELRepo 安装命令不同
版本错配会导致仓库不可用或包冲突:
-
CentOS 7:用elrepo-release-7.0-4.el7.elrepo.noarch.rpm(2026 年最新版),命令是:rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgyum install -y https://mirrors.aliyun.com/elrepo/kernel/el7/x86_64/RPMS/elrepo-release-7.0-4.el7.elrepo.noarch.rpm -
CentOS 8:用elrepo-release-8.el8.elrepo.noarch.rpm,且需先启用PowerTools(否则依赖报错):dnf config-manager --set-enabled PowerToolsdnf install -y https://mirrors.aliyun.com/elrepo/kernel/el8/x86_64/RPMS/elrepo-release-8.el8.elrepo.noarch.rpm
注意:国内镜像(如阿里云)比官网更稳,避免 https://www.elrepo.org 因网络问题下载失败。
grub2-set-default 后没查 grub2-editenv list,或 grub2-mkconfig 输出里没出现新内核名,重启后就还是老内核。

















