使用yum-plugin-versionlock可锁定软件包版本防止意外升级,先安装插件,再用yum versionlock命令锁定如httpd或内核等关键包,支持指定版本和通配符,通过list查看已锁定项,delete或clear解除锁定,该功能优先级高于常规更新,有助于提升系统稳定性。

在Linux系统中,尤其是使用YUM包管理器的系统(如CentOS、RHEL、Fedora等),经常会遇到因系统更新导致某个软件包被意外升级,从而引发兼容性问题。为了避免这种情况,可以使用YUM的
versionlock插件来锁定特定软件包的版本,防止其被自动升级。
启用 yum-plugin-versionlock 插件
大多数基于RPM的系统默认已安装
yum-plugin-versionlock,但如果没有,需要先安装:
- yum install -y yum-plugin-versionlock
安装完成后,该插件会自动启用,无需额外配置。
锁定软件包版本
使用
versionlock命令可以锁定当前已安装软件包的版本。例如,要锁定
httpd(Apache)的当前版本:
- yum versionlock httpd
也可以锁定指定版本:
- yum versionlock httpd-2.4.6-97.el7
支持通配符,例如锁定所有以
kernel-开头的包:
- yum versionlock kernel\*
查看已锁定的版本
要查看当前被锁定的软件包列表:
- yum versionlock list
该命令会输出所有被锁定的包名和版本模式。
GNU makefile中文手册 pdf,文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。同时重点讨论如何为一个工程编写Makefile。阅读本书之前,读者应该对GNU的工具链和Linux的一些常用编程工具有一定的了解。诸如:gcc、as、ar、ld、yacc等本文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。重点讨论如何使用make来管理软件工程、以及如何为工程编写正确的Makefile。 本手册不是一个纯粹的语言翻译版本,其中对GNU make的一些语法
删除版本锁定
如果需要解除某个包的版本锁定,可以使用
delete或
unlock子命令:
- yum versionlock delete httpd
也可以通过编号删除(使用
list命令时每条规则前有编号):
- yum versionlock delete 1
要清除所有锁定规则:
- yum versionlock clear
注意事项
锁定的是版本模式,不是当前安装状态:versionlock基于包名和版本模式进行匹配,即使该包尚未安装,也会阻止符合模式的包被安装。
优先级高于其他更新策略:一旦锁定,常规的
yum update将无法升级该包,除非先解除锁定。
适用于关键服务组件:常用于锁定数据库、Web服务器、内核等对稳定性要求高的软件。
基本上就这些。合理使用
yum versionlock能有效避免因意外升级导致的服务中断,提升系统稳定性。









