如果相同的应用程序在两个仓库中可用,YUM如何知道哪个仓库用于安装?

示例场景:安装Nginx

我正在安装Nginx。 为了获得最新的回购,我从Nginx网站下载了RPM。 像这样:

rpm -Uvh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 

由于我需要安装PHP-FPM,我还从其他地方下载了更多的回购,如下所示:

 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

现在第一个回购还包含Nginx。 所以当我input:

 yum install nginx 

YUM会使用哪个repo来安装Nginx?

谢谢!

如果包名在这两个回购中绝对相同,yum将按字母顺序parsing。

因此它会从自然顺序中首先下载的repo下载rpm。 通常以我的经验,虽然我总是会安装yum优先级插件,这将帮助我优先考虑用户定义标准的仓库。 你可以在这里得到更多的信息: http : //wiki.centos.org/PackageManagement/Yum/Priorities

编辑:

我接受的答案是不正确的。 如果包名在这两个回购中绝对相同,yum将不会按字母顺序parsing。 迈克尔是对的。 这是来自redhat的一个正式答案:

因此,在这种情况下,yum将简单地查询存储库以及获取第一个读取查询的任何一个,然后回复,并且具有相关性的包将从相同的位置取出。 不会有任何冲突。 下载的软件包将是随机的。

默认情况下,您将获得任何启用的存储库中可用包的最高版本。 存储库名称是完全不相关的。

当然,诸如优先级和版本锁等各种yum插件可以更改哪些包或包版本可供您使用。