Priorities - yum плагин - CentOS Wiki

Yum - плагин priorities

Примечание: Этот плагин называется yum-priorities в CentOS-5 и yum-plugin-priorities в CentOS-4. Функционирует он одинаково на обеих версиях.

Устанавливается данный плагин с помощью команды:

CentOS-4:

yum install yum-plugin-priorities

CentOS-5

yum install yum-priorities

Данный плагин может быть использован для обеспечения упорядоченности защиты репозиториев посредством назначения им приоритетов. Пакеты из репозитория с более низким приоритетом никогда не будут использоваться для обновления пакетов, которые были установлены из репозиториев с более высоким приоритетом. Приоритеты так же используются для установки нового пакета - если пакет находится более чем в одном репозитории, он будет установлен из репозитория с наивысшим приоритетом. Этот плагин будет наиболее полезен тем пользователям, которые используют сторонние репозитории, так как они потенциально могут поставить под угрозу стабильность вашей системы CentOS.

Чтобы использовать данный плагин, вы должны включить его в файле /etc/yum.conf, см. YUM для уточнения деталей.

Плагин Priorities можно получить в двух местах:

Через репозиторий CentOS Extras. Поскольку репозиторий CentOS Extras включен по умолчанию, вы можете установить этот плагин на CentOS 4, установив yum-plugin-priorities пакет. В CentOS 5 Extras репозитории - имя пакета yum-priorities. Более подробную информацию о рипозиториях CentOS можно найти на странице репозиториев.

После того как плагин установлен, убедитесь, что он включен. Вы можете сделать это путем редактирования файла /etc/yum/pluginconf.d/priorities.conf:

[main]

enabled=1

Пример: если пакет gconfmm2 был установлен из основного репозитория и другой пакет (скажем gconfmm20 из дополнительного репозитория) настаивает на замене собой устаревшего пакета gconfmm2, YUM заменит gconfmm2 на gconfmm20. Использование же данного плагина может предотвратить эту ситуацию. Добавив следующую строку в основной раздел (main section) /etc/yum/pluginconf.d/priorities.conf:

check_obsoletes=1

С включенным плагином, вы можете добавить репозиториям приоритеты, вставив следующую строку:

priority=N

в запись для репозитория, где N - целое число от 1 до 99. Приоритет для репозиториев по умолчанию составляет 99. Репозитории с меньшим номером имеют высший приоритет. Как правило, лучше всего назначить высший приоритет для репозиториев base и update. В следующем примере файла CentOS-Base.repo как раз и задан подобный случай с назначением для репозиторев [base] и [update] наивысшего (N=1) приоритета:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
priority=1 #released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
priority=1
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
priority=1
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
priority=1 #additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
priority=2 #contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
priority=2

Примечание: Приведенный выше пример для CentOS-4, имя файла RPM-GPG-KEY-centos4 (в строке gpgkey) должна быть заменена на RPM-GPG-KEY-CentOS-5 для использования на CentOS-5.

После внесения этих изменений в файл CentOS-Base.repo, YUM никогда не будет обновлять пакеты из репозиториев [base] и [update] пакетами из репозиториев с низкими приоритетами.

Рекомендуемыми параметрами являются:

[base], [addons], [updates], [extras] ... priority=1

[centosplus],[contrib] ... priority=2

Сторонние репозитории ... priority=N  (где N  > 10 и на основе ваших предпочтений)

Автор: Александр