Приоритеты для репозиториев в yum
Зачем нужны приоритеты для репозиториев?
Если у Вас используется несколько репозиториев, настоятельно рекомендуем установить и настроить приоритеты в yum. В разных версиях Red Hat Linux плагин для приоритетов может называться по-разному: yum-plugin-priorities, yum-priorities и т.п.. Применение данного плагина обусловлено тем, что в подключенных дополнительных репозиториях могут содержаться пакеты обновляемые и из официальных репозиториев, что часто может вызвать проблемы, к примеру несовместимость версии php и вашей CMS. Этот плагин применяется для упорядочивания приоритетов репозиториев. Пакеты из репозиторя с более низким приоритетом не будут обновлять пакеты, установленные из репозиториев, имеющих более высокий приоритет. Также приоритеты используются и при установке новых пакетов - в том случае, если пакет находится в двух или более репозиториях, он будет установлен из того репозитория, который имеет наивысший приоритет.
Для установки плагина yum-priorities выполните (с учетом названия плагина):
yum install -y yum-priorities
Как настраивать приоритеты
После установки плагина необходимо добавить строку priority=XXX в каждую секцию каждого файла репозиториев. Репозитории с меньшим номером имеют более высокий приоритет. Номер XXX является числом от 1 до 99.
Где находятся файлы репозиториев
Файлы репозиториев по умолчанию расположены в папке /etc/yum.repos.d
Для базовых репозиториев CentOS файл приоритетов - /etc/yum.repos.d/CentOS-base.repo
Для репозитория EPEL файл приоритетов - /etc/yum.repos.d/epel.repo
Для репозитория RPMForge файл приоритетов - /etc/yum.repos.d/rpmforge.repo
Для репозитория Remi файл приоритетов - /etc/yum.repos.d/remi.repo
Где прописывать приоритеты в файлах
В каждом из файлов может быть указано несколько репозиториев. Название каждого репозитория находится на отдельной строке и заключено в квадратные скобки, например базовые репозитории:
[base]
[updates]
[extras]
[centosplus]
[contrib]
Под названием каждого репозитория и до следующего названия (которое в квадратных скобках) указаны настройки текущего репозитория. В первую очередь обратите внимание на параметр enabled. Если enabled=0, значит репозиторий отключен (и ему нет смысла указывать приоритет - репозиторий не используется при обновлении).
Для тех репозиториев, для которых enabled=1, в отдельной строке укажите:
priority=XXX
где XXX - число от 1 до 99, чем меньше число - тем выше приоритет у репозитория.
Например:
[base]
name=CentOS-$releasever - Base
mirrorlist=...
...
priority=1
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=...
#baseurl=....
gpgcheck=1
gpgkey=...
priority=1
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
...
priority=1
...
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=...
#baseurl=...
gpgcheck=1
enabled=0
gpgkey=...
priority=2
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
...
gpgcheck=1
enabled=1
gpgkey=...
priority=2
Какие приоритеты указывать?
Рекомендуемыми приоритетами являются:
Для репозиториев [base], [addons], [updates], [extras] ... priority=1
[centosplus],[contrib] ... priority=2
Сторонние репозитории (EPEL, RPMForge, Remi, ...) priority=N (где N > 10 и на основе ваших предпочтений)
|