在 CentOS / RHEL / Rocky / Alma 等使用 yum / dnf 的系统中,可以通过以下几种方式锁定软件包版本,防止被误升级。
yum versionlock(最常用 ✅)yum install -y yum-plugin-versionlock
CentOS 8 / Rocky / Alma 用
dnf也一样:
dnf install -y dnf-plugin-versionlock
yum versionlock add nginx
yum versionlock add nginx-1.20.2
yum versionlock list
yum versionlock delete nginx
或解除所有:
yum versionlock clear
yum update nginx
如果版本被锁定,会提示:
Nothing to do
exclude 方式(简单粗暴)vi /etc/yum.conf
exclude=nginx*
或:
exclude=nginx-1.20*
✅ 适用于:
❌ 缺点:
dnf(CentOS 8+ / Rocky / Alma)dnf 与 yum 基本兼容:
dnf versionlock add nginx
查看:
dnf versionlock list
exclude=kernel*
yum versionlock add kernel
yum versionlock add \
nginx \
mysql \
php
| 场景 | 推荐方式 |
|---|---|
| 锁定具体版本 | yum versionlock |
| 禁止升级某类软件 | exclude |
| 生产环境 | versionlock + 定期 review |
| 容器 / 最小化系统 | 锁定 + 不自动更新 |
yum update 仍然会尝试升级,但被锁定包不会变yum reinstall 不受限制如果你愿意,可以告诉我:
我可以给你精确命令。