centos

CentOS如何更新内核版本

小樊
60
2025-11-01 20:01:34
栏目: 智能运维

CentOS更新内核版本的详细步骤

一、前置准备:查看当前内核版本

在升级前,需确认当前系统的内核版本及发行版信息,避免操作失误:

# 查看当前运行的内核版本
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  

三、大版本升级(升级主版本,功能增强,推荐elrepo源)

若需升级到更高主版本的内核(如CentOS 7从3.10升级到4.18+),需添加ELRepo源(第三方仓库,提供最新稳定内核)。

1. 添加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  
2. 安装最新主线内核(kernel-ml,推荐)

主线内核(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  
3. 安装长期支持内核(kernel-lt,稳定,适合生产)

长期支持内核(Long Term Support)经过更长时间测试,稳定性高,适合生产环境:

# 安装最新长期支持内核及开发工具
yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-devel -y  
4. 设置默认启动内核

安装完成后,需将新内核设为默认启动项,避免系统仍使用旧内核:

# 查看所有可用内核及启动顺序(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  
5. 重启并验证
# 重启系统
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  

五、注意事项

  1. 备份重要数据:升级内核前,备份系统配置文件(如/etc)及个人数据,防止意外情况导致数据丢失。
  2. 测试环境优先:生产环境建议先在测试机验证升级流程,确保业务应用兼容新内核。
  3. 驱动兼容性:若系统中有第三方硬件驱动(如显卡、网卡),需提前确认驱动支持新内核版本,避免驱动失效。
  4. K8s环境适配:若用于Kubernetes集群,建议选择kernel-lt(长期支持版),避免因内核更新导致节点异常。

通过以上步骤,可安全完成CentOS内核版本的升级,根据需求选择小版本(补丁)或大版本(功能)升级,确保系统稳定性和安全性。

0
看了该问题的人还看了