在升级前,需确认当前系统的内核版本及发行版信息,避免操作失误:
# 查看当前运行的内核版本
uname -r
# 查看系统发行版详情(确认CentOS版本,如7/8)
cat /etc/centos-release
小版本升级通过CentOS官方yum源即可完成,适用于修复安全漏洞或小bug,不会改变内核主版本号(如3.10.0-229.el7.x86_64→3.10.0-693.el7.x86_64)。
# 清理并刷新yum缓存
yum clean all && yum makecache
# 列出可用的内核包(含升级版本)
yum list kernel
# 执行内核升级(自动解决依赖)
yum update kernel -y
# 重启系统使新内核生效
reboot
# 验证新内核版本
uname -r
若需升级到更高主版本的内核(如CentOS 7从3.10升级到4.18+),需添加ELRepo源(第三方仓库,提供最新稳定内核)。
# 导入ELRepo官方GPG密钥(验证软件包完整性)
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装ELRepo仓库(根据CentOS版本选择对应URL,如7用elrepo-release-7.0-3.el7.elrepo.noarch.rpm)
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
主线内核(Mainline)包含最新功能,但稳定性可能略低,适合追求新特性的用户:
# 启用elrepo-kernel元数据(避免干扰官方源)
yum --disablerepo="*" --enablerepo="elrepo-kernel" repolist
# 列出可用的内核包(筛选kernel-ml相关)
yum --disablerepo="*" --enablerepo="elrepo-kernel" list kernel*
# 安装最新主线内核及开发工具(可选,用于内核编译)
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel -y
长期支持内核(Long Term Support)经过更长时间测试,稳定性高,适合生产环境:
# 安装最新长期支持内核及开发工具
yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-devel -y
安装完成后,需将新内核设为默认启动项,避免系统仍使用旧内核:
# 查看所有可用内核及启动顺序(grub2界面中的序号,从0开始)
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
# 设置默认内核(例如新内核在grub2界面中排第1位,序号为0)
grub2-set-default 0
# 重新生成grub2配置文件(确保设置生效)
grub2-mkconfig -o /boot/grub2/grub.cfg
# 重启系统
reboot
# 验证新内核版本
uname -r
旧内核会占用/boot分区空间,可通过以下命令删除(务必保留至少一个可用内核,避免无法启动):
# 列出已安装的内核包
rpm -qa | grep kernel
# 删除旧内核(例如删除3.10.0-229.el7.x86_64)
yum remove kernel-3.10.0-229.el7.x86_64 kernel-3.10.0-229.el7.x86_64-devel -y
/etc)及个人数据,防止意外情况导致数据丢失。kernel-lt(长期支持版),避免因内核更新导致节点异常。通过以上步骤,可安全完成CentOS内核版本的升级,根据需求选择小版本(补丁)或大版本(功能)升级,确保系统稳定性和安全性。