版本锁定怎么用
业务系统对某个组件版本有兼容要求时,包管理器提供版本锁定来阻止“顺手升级”:RHEL 系用 versionlock 插件,Debian 系用 apt-mark hold。锁定的麻烦在于它同时挡住了安全补丁,所以每个锁定项都要登记理由、责任人与复核日期,而不是锁完就不管。
基本信息
| 加固项 | 版本管理与补丁平衡 |
|---|---|
| 适用平台 | RHEL 系与 Debian 系 |
| 工具 | yum/dnf versionlock、apt-mark hold |
| 登记要求 | 锁定理由、责任人、复核日期 |
| 主要风险 | 同时阻断安全更新 |
| 风险等级 | 低 |
典型使用场景
- 核心中间件兼容性约束:升级需要业务回归,先锁版本争取时间
- 甲方交付要求:按指定版本交付并说明锁定范围
- 紧急规避:某次更新引入回归问题时临时锁定相关包
- 定期复核:在每个安全公告周期检查锁定项是否仍然必要
- 报表口径:补丁合规统计里显式标注被排除的包
锁定与解除
锁定与解除
# RHEL 系:安装版本锁定插件并锁住指定包
yum install -y yum-plugin-versionlock
yum versionlock add nginx && yum versionlock list
# Debian 系:等价做法
apt-mark hold nginx && apt-mark showhold
# 评估后解除锁定
# yum versionlock delete nginx
# apt-mark unhold nginx各发行版命令
| 环境 | 锁定 | 查看与解除 |
|---|---|---|
| RHEL 系(yum) | yum versionlock add 包名 | yum versionlock list / delete |
| RHEL 系(dnf) | dnf versionlock add 包名 | dnf versionlock list / delete |
| Debian 系 | apt-mark hold 包名 | apt-mark showhold / unhold |
| Windows 环境 | 不适用本项 | 改用更新审批与分组策略 |
锁定会同时挡住安全更新:每次公告评估时单独判断“这个锁是否仍然必要”,否则容易锁着锁着漏了漏洞。
老写法在新系统上可能改名或需要安装对应的 dnf 插件,迁移时不要照抄旧文档。
锁定项如果不出现在补丁合规报表里,就会形成统计盲区,报告需要显式标注排除原因。
落地检查点
- 为每个锁定项登记理由、责任人与复核日期
- 把锁定清单同步给补丁合规报表,说明排除原因
- 在每个安全公告周期复查一次,确认锁仍必要
- 解除锁定前安排业务回归,明确可接受的影响窗口