Контекст:
У нас есть несколько настраиваемых репозиториев yum (в CentOS 6), и наши пользователи регулярно устанавливают различное / произвольное программное обеспечение через yum для тестирования.
У нас есть пакет, доступный в нескольких репозиториях. Он называется одинаково в двух разных репозиториях, назовите их Y и Z, но пакеты НЕ идентичны. Оба репозитория используются для других вещей / установок, но рассматриваемый пакет должен когда-либо устанавливаться только из репозитория Y.
Что я пробовал:
Когда я вручную устанавливаю рассматриваемый пакет, я исключаю / включаю репозитории, чтобы убедиться, что получаю правильную версию. Однако обычные пользователи а) забывают это сделать и б) иногда устанавливают другие пакеты, которые зависят от рассматриваемого пакета, и он устанавливается из неправильного репо как часть процесса установки зависимости.
Вопрос:
Есть ли способ настроить параметры yum по умолчанию, чтобы указать, что «если пакет X доступен из более чем одного источника, предпочитать / настаивать на источнике Y вместо источника Z»?
Моя цель - не менять нормальный yum install
процесс, который в настоящее время есть у наших пользователей; они по-прежнему должны иметь возможность устанавливать произвольное программное обеспечение с использованием простейшего синтаксиса. Просто определенные пакеты (установленные вручную или как часть установки зависимостей) должны поступать только из определенных репозиториев.
Здесь yum-plugin-priorities
пакет.
Это позволяет отдавать приоритет настроенным репозиториям.
Посмотреть здесь: http://wiki.centos.org/PackageManagement/Yum/Priorities#head-6f52124e909c1691eb0c501ba38ae9202b66d6da
Или вы можете исключить пакеты в /etc/yum.conf
.
http://linux.die.net/man/5/yum.conf:
исключить Список пакетов, которые нужно исключить из обновлений или установок. Это должен быть список, разделенный пробелами. Подстановочные знаки оболочки с использованием подстановочных знаков (например, * и?) Разрешены.
Это может быть установлено глобально или для каждого репозитория.
Нет, у yum есть только один способ решить, какую версию пакета X установить, а именно выбрать последнюю версию, которую он может найти (где «последняя» имеет особое значение для сравнения версий RPM).
На самом деле, я бы не рекомендовал иметь разные конфликтующие версии с одним и тем же именем, как вы описываете. Однако, если вы застряли в этом, несколько предложений:
man yum
)