可通过--exclude参数临时排除更新,如跳过内核、特定服务或32位包;2. 修改/etc/yum.conf配置文件可永久排除指定包更新。

在使用 Linux 系统(如 CentOS、RHEL 或 Fedora)时,有时你不希望某些软件包被更新,比如内核、特定服务或自定义配置的程序。这时可以通过 yum 的 exclude 功能来跳过这些包的更新。以下是几种常用的排除更新方法。
1. 临时排除包更新(单次命令)
如果你只想在某一次 yum 操作中跳过某些包,可以在命令中直接使用 --exclude 参数。
- yum update --exclude=kernel*:更新系统但跳过所有内核相关包
- yum update --exclude=httpd,nginx:跳过 httpd 和 nginx 的更新
- yum update --exclude='*.i386':跳过所有 32 位包更新(适用于 64 位系统)
2. 永久设置排除(全局配置)
要永久跳过某些包的更新,可以修改 yum 的主配置文件 /etc/yum.conf,在 [main] 部分添加 exclude 指令。
- sudo vi /etc/yum.conf
exclude=kernel* httpd nginx
保存后,所有 yum update 操作都会自动跳过这些包。支持通配符(如 kernel*)和多个包名,用空格分隔。
3. 验证排除是否生效
可以使用以下命令查看当前将被更新的包,确认被排除的包不在列表中:
- yum list updates:查看可更新的包
- yum update --dry-run:模拟更新过程,不实际安装
如果配置正确,你指定的包不会出现在更新列表中。
4. 注意事项与常见问题
排除更新虽然方便,但也需注意:
- 排除内核更新可能导致系统错过安全补丁,建议定期手动检查
- 排除的包名需准确,可使用 yum list installed | grep 关键词 查看实际包名
- 某些依赖更新可能受排除影响,导致其他软件无法升级
- 在使用 yum update --enablerepo=xxx 等操作时,exclude 依然生效
基本上就这些。通过临时参数或修改 yum.conf,你可以灵活控制哪些包不被更新,避免意外升级导致服务异常。配置简单但容易忽略细节,建议测试后再用于生产环境。










