在 CentOS / RHEL / Rocky / Alma 等使用 yum 的系统中,可以通过 yum versionlock 来锁定软件包版本,防止被升级或降级。
yum install -y yum-plugin-versionlock
安装完成后会生成:
/etc/yum/pluginconf.d/versionlock.conf
/var/lib/yum/pluginconf.d/versionlock.list
yum versionlock add nginx
这会锁定 当前安装的 nginx 版本,以后 yum update 不会升级它。
yum versionlock add httpd-2.4.6-99.el7.centos
yum versionlock add nginx php mysql
yum versionlock list
示例输出:
nginx-1:1.20.1-10.el7
yum versionlock delete nginx
yum versionlock clear
yum update
如果某个包被锁定,你会看到类似提示:
Package nginx is marked as excluded
vim /etc/yum/pluginconf.d/versionlock.list
格式示例:
nginx-1.20.1-10.el7.*
✅ 锁定的是 RPM 包级别
✅ 不影响 rpm -Uvh 手动安装
✅ 不会阻止卸载(除非依赖被锁)
✅ 只对 yum / dnf 生效
如果是 dnf,命令几乎一样:
dnf install -y dnf-plugin-versionlock
dnf versionlock add nginx
如果你愿意,可以告诉我:
我可以给你 精确命令 ✅