在CentOS/RHEL系统中,当有多个Yum源(repository)提供相同软件包时,可以通过设置优先级来控制Yum优先使用哪个源。以下是设置Yum源优先级的详细方法:
安装priority插件:
yum install yum-plugin-priorities
在Yum源配置文件中设置优先级: 编辑/etc/yum.repos.d/目录下的.repo文件,在需要设置优先级的源中添加:
priority=N
其中N是数字,数字越小优先级越高(1为最高优先级)
示例:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
priority=1
验证优先级是否生效:
yum repolist
安装presto插件:
yum install yum-plugin-presto
配置优先级: 在/etc/yum/pluginconf.d/priorities.conf中设置:
[main]
enabled=1
check_obsoletes=1
bash
yum repolist -v
假设你有公司内部源和官方源,希望优先使用内部源:
编辑内部源的.repo文件:
[company-repo]
name=Company Repository
baseurl=http://internal.repo.company.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=0
priority=1
编辑官方源的.repo文件:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
priority=10
这样配置后,Yum会优先从公司内部源获取软件包,只有当内部源没有时才从官方源获取。