强制yum update命令排除某些软件包
时间:2020-01-09 10:43:10 来源:igfitidea点击:
在CentOS/RHEL/Fedora/Red Hat Enterprise Linux服务器上使用rum yum update命令时,如何排除选定的软件包?
Yum使用位于/etc/yum/yum.conf或者/etc/yum.conf的配置文件。
您需要放置"排除指令"来定义要从更新或者安装中排除的软件包列表。
这应该是一个用空格分隔的列表。Shell glob允许使用通配符*和?)。
使用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* # 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命令,但是某些软件包将无法安装。
如何禁用排除功能?
您可以使用以下语法:
yum --disableexcludes=all update yum --disableexcludes=main install php yum --disableexcludes=repoid install php httpd
其中:
- all:禁用所有排除项
main
:禁用yum.conf中[main]中定义的排除项repoid
:禁用为给定的RepoID定义的排除项
yum exclude命令行选项
最后,您可以使用以下语法在命令行本身上跳过yum命令更新:
# yum --exclude=package\* update # yum --exclude=php\* update # yum --exclude=kernel\* update # yum -x 'kernel*' -x 'php*' update
注意:上面的语法将从"所有存储库"的更新中按名称或者glob排除特定的软件包。