ПРИМЕР СЦЕНАРИЯ: Установка Nginx
Я устанавливаю Nginx. Чтобы получить последнее репо, я загружаю RPM с веб-сайта Nginx. Вот так:
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. Итак, когда я печатаю:
yum install nginx
Какое репо будет использовать YUM для установки Nginx?
Спасибо!
По умолчанию вы получаете самую высокую версию пакета, доступную в любом включен репозиторий. Имя репозитория не имеет значения.
Конечно, различные плагины yum, такие как приоритеты и блокировка версий, могут изменить доступные вам пакеты или версии пакетов.
Если имя пакета абсолютно одинаково в обоих репозиториях, yum разрешит это в алфавитном порядке.
Следовательно, он будет загружать обороты из репо первым в естественном порядке. Обычно, по моему опыту, я всегда устанавливаю плагин yum priority, который помогал бы мне расставлять приоритеты репозиториев по критериям, заданным пользователем. Вы можете получить больше информации здесь: http://wiki.centos.org/PackageManagement/Yum/Priorities
РЕДАКТИРОВАТЬ:
Мой принятый ответ неверен. Если имя пакета абсолютно одинаково в обоих репозиториях, yum не разрешит это по алфавиту. Майкл был прав. Это официальный ответ Redhat об этом сценарии:
Таким образом, в этом состоянии yum просто запросит репозитории, и тот, кто получит первый запрос на выборку, ответит обратно, и пакет с его зависимостями будет извлечен из того же самого. Никаких конфликтов не будет. Загружаемый пакет будет случайным по своей природе.