基于YUM安装软件时,通常会配置多个Repo源,而Fastest mirror 插件是为拥有多个镜像的软件库配置文件而设计的。它会连接到每一个镜像,计算连接所需的时间,然后将镜像按快到慢排序供YUM应用。
默认CentOS Linux系统,Fastestmirror插件是开启的,所以安装软件会从最快的镜像源安装,但是由于Repo源很多,而在这些源中都存在某些软件包,但有些软件有重复,甚至冲突,能否可以优先从一些Repo源中去查找,如果找不到,再去其他源中找呢?
可以使用YUM优先级插件解决该问题,YUM提供的插件yum-plugin-priorities。
比如你在centos下有centos,epel,rpmfusion三个yum源,三个yum源中可能含有相同的软件,补丁之类的东西。yum管理器为了分辨更新系统或者安装软件的时候用那个yum源的软件所以才有这么个东西。如果说,设置centos官方的yum源优先级最高,epelyum源第二,rpmfusion第三。(用1到99来表示,1最高)那在安装程序的时候,先寻找centos的yum源,如果源里面有要的程序,那就停止寻找,直接安装找到的,如果没有找到,就依次寻找epel和rpmfusion的源。如果说三个yum源都含有同一个软件,那就安装优先级最高的yum源的。
(1)直接YUM安装即可,命令如下:
yum install -y yum-plugin-priorities
(2)修改YUM源优先级配置文件,设置为Enabled,开启优先级插件,1为开启,0为禁止;
vim /etc/yum/pluginconf.d/priorities.conf
enabled = 1
(3)vim 修改/etc/yum.repos./xx.repo文件,在base段中加入如下指令:(优先级为1表示优先被查找,越大其反而被后续查找)
priority=1
[root@localhost yum.repos.d]# ls
CentOS7-Base-163.repo CentOS-Base.repo
[root@localhost yum.repos.d]# vi CentOS7-Base-163.repo
[base163]
name=Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
priority=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
(4)基于YUM安装ntpdate软件,测试已经优先从163源中查找