使用yum-versionlock插件可锁定RPM包版本,防止意外升级。先安装并启用插件,通过“yum versionlock package-name”命令锁定指定包,支持通配符;用“yum versionlock list”查看已锁定包;使用“yum versionlock delete”按名称或编号删除锁定,或用“yum versionlock clear”清除所有锁定,操作需谨慎。定期评估锁定必要性,避免安全风险。
在Linux系统中,特别是基于RPM的发行版如CentOS、RHEL或Fedora中,使用YUM包管理器时,有时需要防止某些软件包被意外升级。这在生产环境中尤其重要,比如保持内核版本稳定、避免依赖变化导致服务异常。这时就可以使用
yum-versionlock
插件来“锁定”特定软件包的版本。
启用 yum-versionlock 插件
大多数现代RHEL/CentOS系统默认已安装
yum-plugin-versionlock
,但如果没有,可以通过以下命令安装:
yum install -y yum-plugin-versionlock
安装完成后,插件会自动启用。你也可以检查配置文件
/etc/yum/pluginconf.d/versionlock.list
确保其中内容为:
[main]
enabled=1
锁定软件包版本
使用以下命令可以锁定当前已安装软件包的版本,防止其被升级:
yum versionlock package-name
例如,要锁定
kernel
版本:
yum versionlock kernel
也可以锁定特定版本:
yum versionlock kernel-3.10.0-1160.el7
支持通配符,比如锁定所有3.10内核版本:
yum versionlock kernel-3.10.*
查看已锁定的软件包
要查看当前被锁定的软件包列表:
yum versionlock list
输出示例:
kernel-3.10.0-1160.el7.*
nginx-1.20.1-1.el7.*
删除版本锁定
如果需要允许某个软件包升级,可以将其从锁定列表中移除:
yum versionlock delete package-name
例如:
yum versionlock delete kernel
也可以通过编号删除(使用
yum versionlock list
时每条前面有编号):
yum versionlock delete 1
清除所有锁定
在特殊情况下,如维护完成需全面更新,可清除所有锁定:
yum versionlock clear
注意:此操作不可逆,请确认后再执行。
基本上就这些。合理使用
versionlock
能有效控制生产系统的软件版本一致性,避免因自动升级引发的兼容性问题。锁定后建议定期评估是否仍需保留限制,避免长期无法更新带来安全风险。
linux centos nginx ai linux系统 centos系统 有锁 nginx delete linux centos