CentOS7 yum锁定软件版本防止自动更新命令 Linux

前言

生产服务器为了稳定,不希望某些关键软件随 yum update 被升级到新版本,比如 MySQL、Nginx、内核。yum 自带版本锁定插件 yum-versionlock,可以把指定包固定在当前版本,后续更新跳过它。本文讲解安装插件、锁定、查看、解锁的完整命令,适配 CentOS7。

操作步骤

1. 安装 versionlock 插件

yum install -y yum-plugin-versionlock

2. 锁定当前已安装包版本

yum versionlock nginx
yum versionlock mysql-community-server

3. 查看已锁定列表

yum versionlock list

4. 批量锁定(先看完整包名)

yum list installed nginx
yum versionlock add nginx

5. 解锁

yum versionlock delete nginx

6. 验证 update 是否跳过锁定包

yum update --showduplicates | grep nginx
yum update

被锁定的包不会出现在更新列表。

7. 删除全部锁定

yum versionlock clear

常见坑

  1. 包名写错或只写部分名,versionlock 匹配不到,锁定无效。
  2. 锁定后手动用 yum install 新版本仍可装,只是 update 不升级。
  3. 插件未安装命令报 command not found。
  4. 内核包锁定后安全补丁无法更新,需定期评估手动升级。
  5. versionlock 只锁 yum,源码编译安装的软件不受影响。
  6. 锁定规则存于 /etc/yum/pluginconf.d/versionlock.list,可备份迁移。
  7. 依赖包被锁可能导致其他包无法更新,注意依赖关系。

总结

yum-versionlock 是生产环境固定关键软件版本的标准手段:安装插件 → versionlock add 锁包 → list 核对 → delete 解锁。它只阻止 update 自动升级,不阻止手动安装。锁定要挑真正需要稳定的包,内核这类安全补丁包谨慎长期锁定。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-11-14 07:15 
'); })();