CentOS/RHEL yum命令如何锁定特定的软件包版本

时间:2019-11-20 08:52:43  来源:igfitidea点击:

在CentOS/RHEL 6.x中,如何将nginx的版本锁定,不允许使用yum更新?
在CentOS/Red Hat Enterprise Linux(RHEL)6.x或Fedora Linux上如何锁定软件包的版本?
CentOS yum update时,如何不更新某个软件包?

解决方案

有两种方法:

  • 将--exclude指令传递给yum命令,以定义要从更新或安装中排除的软件包列表。
  • yum versionlock命令版本锁定rpm软件包命令。

方法1:yum versionlock命令

需要安装yum-plugin-versionlock插件。
它为软件包采用了一组名称/版本,并排除了这些软件包的所有其他版本(包括可选的以下已过时的版本)。
这样,就可以防止软件包被较新版本更新。

在CentOS/RHEL服务器上安装yum-plugin-versionlock

执行

# yum -y install yum-versionlock

或者执行:

# yum -y install yum-plugin-versionlock

yum-versionlock语法

yum versionlock package-name-here
yum versionlock package1 package2
yum versionlock add package-wildcard
yum versionlock add package1\*
yum versionlock [command] package1\*

将nginx软件包锁定为当前版本:

添加到锁定列表中:

# yum versionlock nginx

或者

# yum versionlock add nginx

查看当前被锁定版本的软件包列表:

# yum versionlock list

从锁定列表中移除软件包

# yum versionlock delete nginx

删除锁定列表中所有软件包

# yum versionlock clear

更新新版本时,不更新package1,package2:

将 pakage1 package2添加到锁定列表中,(系统大更新时,这2个软件包不进行更新)

# yum versionlock exclude pakage1 package2
# yum versionlock exclude pakage-wildcard-here

Linux 如何查看软件包的历史记录?

使用以下命令:

# yum --showduplicates list packageNameHere
# yum --showduplicates list nginx

方法2:在配置文件中设置不更新的软件包

# vi /etc/yum.conf

[main]部分下添加:

exclude=php* nginx*

这表示,在执行 yum update时,排除php和nginx。不进行更新。