在 CentOS/RHEL 7 系统中,若希望执行 yum update -y 时 不升级内核,可通过以下方法实现:
方法 1:单次临时排除内核更新
在命令中通过 --exclude 参数排除 kernel 相关包
yum update -y --exclude=kernel* --exclude=centos-release*
- 作用范围:仅针对本次更新有效。
- 排除内容:
kernel*:排除所有内核包(包括kernel,kernel-core,kernel-tools等)。centos-release*:避免升级大版本(如从小版本 7.9 到 7.10)。
方法 2:永久配置排除列表
修改 YUM 配置文件,永久禁用内核更新:
- 1.
编辑
/etc/yum.conf:vi /etc/yum.conf - 2.
在
[main]部分添加排除规则:exclude=kernel* centos-release*- 保存并退出编辑器。
- 3.
后续所有
yum update均会跳过内核:yum update -y
方法 3:使用 yum-plugin-versionlock 锁定版本(推荐)
通过插件锁定特定软件包的版本:
- 1.
安装插件(若未安装):
yum install -y yum-plugin-versionlock - 2.
查看已安装的内核版本:
rpm -q kernel # 示例输出: # kernel-3.10.0-1160.el7.x86_64 # kernel-3.10.0-1127.el7.x86_64 - 3.
锁定当前所有内核版本:
yum versionlock kernel* - 4.
验证锁定的包列表:
yum versionlock list
解锁方法(如需恢复更新):
yum versionlock delete kernel*
验证是否排除了内核更新
执行 yum update 时,观察输出中是否有以下提示:
Excluding 1 update due to versionlock (使用版本锁)
Excluding kernel* from updates (使用yum.conf排除规则)
补充说明
- 1.
仅更新安全性补丁(不升级内核):
即使排除内核更新,系统仍会安装其他安全补丁。建议同时运行:yum update --security - 2.
为何需要保留旧内核:
保留至少 2-3 个旧内核可确保在启动失败时能回退:package-cleanup --oldkernels --count=2 - 3.
应急更新内核(手动操作):
如果需要临时升级内核,临时移除排除规则:yum update kernel -y --disableexcludes=all
总结
| 方法 | 使用场景 | 恢复更新的方式 |
|---|---|---|
--exclude 临时排除 | 偶尔跳过内核更新 | 无需操作,下次自动恢复 |
修改 yum.conf | 永久禁用内核更新 | 删除配置文件中的 exclude 行 |
versionlock 锁定版本 | 精确控制特定包的版本(如生产环境) | yum versionlock delete |
选择适合场景的方法,保持系统稳定性和安全性。
2554

被折叠的 条评论
为什么被折叠?



