如何排除(防止)yum在升级过程中,将一些本不应该升级的旧版本的软件包升级到最新版本呢?用exclude参数(禁止)排除指定软件包被yum升级的 方法如下,适用于CentOs / RHEL /Fedora /Red Hat Enterprise 等linux版本。
打开/etc/yum.conf ,输入:
# vi /etc/yum.conf
在[main]段中,下添加一行,如下:
exclude=php* kernel*
//这里假设是屏蔽php和内核升级
注意:可以用 * 和 ? 通配符
最后,yum.conf的内容要和下面相似:
[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*
# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h
# Default.
# installonly_limit = 3
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
保存修改好后的yum.conf文件。然后再使用yum命令升级的话,php和kernel就不能被安装了
如何禁用(禁止) excludes ?
语法如下:
yum --disableexcludes=all update
yum --disableexcludes=main install php
yum --disableexcludes=repoid install php httpd
解释:
1.all 表示禁用所有的excludes
2.main 表示禁用 [main]中的excludes
3.repoid 表示禁用给定repo id 中的excludes
yum --exclude 命令参数的使用
使用该参数,跳过某些软件包后升级,参见文章《yum 命令跳过特定(指定)软件包升级方法》如下:
# yum --exclude=package\* update
# yum --exclude=php\* update
# yum --exclude=kernel\* update
# yum -x 'kernel*' -x 'php*' update
注意:上面的命令将会通过软件包的名字或名字通配符,在所有的源中排除那些被指定的软件包的升级
查看更多yum的使用方法,请查看man中解释。
$ man yum
$ man yum.conf
没有评论