关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

CentOS 使用 yum update 更新时保留特定版本的软件

发布时间:2022/10/31 14:11:37
香港云服务器

有时需要保留特定版本的软件不升级,但升级其他软件,这时就需求用到下面的技巧。当CentOS/RHEL/Fedora下的Linux服务器使用 yum update 时命令如何排除选定的包呢?



Yum使用/etc/yum/yum.conf/etc/yum.conf中的配置文件。您需要放置exclude指令来定义要更新或安装中排除的包列表。这应该是一个空格分隔的列表。允许使用通配符*和?)。

当我使用yum update时,如何排除php内核包

打开/etc/yum.conf文件,输入:

vi /etc/yum.conf

[main]部分下面添加以下行,输入:

exclude=php* kernel*

最后,它应如下所示:

[ main ]cachedir = /var/cache/yum 
keepcache = 0 debuglevel = 2 logfile = /var/log/yum.log 
distroverpkg = redhat-release 
tolerant = 1 exactarch = 1 obsoletes = 1 gpgcheck = 1 plugins = 1 exclude =php* kernel*

保存并关闭文件。您现在可以照常使用yum命令,但不会安装某些软件包。


Yum-Command-To-Downgrade-or-Rollback-Updates.png


如何禁用排除?

您可以使用以下语法:

yum --disableexcludes = all update
yum --disableexcludes = main install php
yum --disableexcludes = repoid install php httpd

这里:

  • all:禁用所有排除
  • main:禁用yum.conf中[main]中定义的排除
  • repoid:禁用为给定repo id定义的排除
  • yum -exclude 命令行选项

最后,您可以使用以下语法在命令行上跳过yum命令更新:

注意:上述语法将按名称排除特定包,或者从所有存储库的更新中排除。

yum --exclude=package\* update
yum --exclude=php\* update
yum --exclude=kernel\* update
yum -x 'kernel*' -x 'php*' update