【Linux】更新系统时,如何避免升级内核

在 CentOS/RHEL 7 系统中,若希望执行 yum update -y 时 不升级内核,可通过以下方法实现:


方法 1:单次临时排除内核更新

在命令中通过 --exclude 参数排除 kernel 相关包

yum update -y --exclude=kernel* --exclude=centos-release*
  • 作用范围:仅针对本次更新有效。
  • 排除内容
    • kernel*:排除所有内核包(包括 kernelkernel-corekernel-tools 等)。
    • centos-release*:避免升级大版本(如从小版本 7.9 到 7.10)。

方法 2:永久配置排除列表

修改 YUM 配置文件,永久禁用内核更新:

  1. 1.

    编辑 /etc/yum.conf

    vi /etc/yum.conf
    
  2. 2.

    在 [main] 部分添加排除规则

    exclude=kernel* centos-release*
    
    • 保存并退出编辑器。
  3. 3.

    后续所有 yum update 均会跳过内核

    yum update -y
    

方法 3:使用 yum-plugin-versionlock 锁定版本(推荐)

通过插件锁定特定软件包的版本:

  1. 1.

    安装插件(若未安装):

    yum install -y yum-plugin-versionlock
    
  2. 2.

    查看已安装的内核版本

    rpm -q kernel
    # 示例输出:
    # kernel-3.10.0-1160.el7.x86_64
    # kernel-3.10.0-1127.el7.x86_64
    
  3. 3.

    锁定当前所有内核版本

    yum versionlock kernel*
    
  4. 4.

    验证锁定的包列表

    yum versionlock list
    

解锁方法(如需恢复更新):

yum versionlock delete kernel*

验证是否排除了内核更新

执行 yum update 时,观察输出中是否有以下提示:

Excluding 1 update due to versionlock (使用版本锁)
Excluding kernel* from updates (使用yum.conf排除规则)

补充说明

  1. 1.

    仅更新安全性补丁(不升级内核):
    即使排除内核更新,系统仍会安装其他安全补丁。建议同时运行:

    yum update --security
    
  2. 2.

    为何需要保留旧内核
    保留至少 2-3 个旧内核可确保在启动失败时能回退:

    package-cleanup --oldkernels --count=2
    
  3. 3.

    应急更新内核(手动操作)
    如果需要临时升级内核,临时移除排除规则:

    yum update kernel -y --disableexcludes=all
    

总结

方法使用场景恢复更新的方式
--exclude 临时排除偶尔跳过内核更新无需操作,下次自动恢复
修改 yum.conf永久禁用内核更新删除配置文件中的 exclude 行
versionlock 锁定版本精确控制特定包的版本(如生产环境)yum versionlock delete

选择适合场景的方法,保持系统稳定性和安全性。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值