Protect Base - yum плагин - CentOS Wiki

Yum - плагин protectbase

Вы должны выбрать один из плагинов для использования - protectbase или priorities. Использование этих плагинов совместно невозможно.

Целью плагина protectbase является защита обнговлений из основных репозиториев от перезаписи их обновлениями из сторонних репозиториев. Настройки репозиториев, которые будут защищены, не дадут обновляться файлам файлами из незащищенных репозиториев. Этот плагин рекомендован тем, кто использует сторонние репозитории, так как файлы из последних могут обновить некоторые системные файлы, что может повлиять на стабильность системы.

Для начала, вы должны разрешить использование плагинов в /etc/yum.conf, см YUM для уточнения деталей. Плагины включены по умолчанию, начиная с CentOS-5.

Для установки плагина protectbase убедитесь в том, что репозиторий CentOS Extras включен (по умолчанию включен) и выполните команду:

yum install yum-plugin-protectbase

В CentOS5 название пакета немного изменилось, поэтому используйте следующую команду:

yum install yum-protectbase

После установки плагина убедитесь в его включении. Отредактируйте файл /etc/yum/pluginconf.d/protectbase.conf и убедитесь, что он содержит следующие строки:

[main] 
enabled = 1

Далее вам необходимо отредактировать все .repo файлы в каталоге /etc/yum.repos.d добавив одну из следующих строк:

protect=1

или

protect=0

для каждого репозитория. Ниже представлен пример защиты [base] и [update] репозиториев в файле CentOS-Base.repo:

[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
protect=1 #relesed updates [update]
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
protect=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
protect=0
#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
protect=0
#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
protect=0 #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
protect=0

Примечание: вам необходимо явно прописаь protect=0 для всех репозиториев во всех файлах .repo которые у вас прописаны в /etc/yum.conf для случая если вы хотите чтобы они не были защищены. Иначе они будут принадлежать к группе защищенных: protect=1

 

При обновлении в дальнейшем, только репозитории, которые имеют строку protect=1 могут обновлять файлы системы, в том числе и других protect=1 репозиториев. В нашем примере, YUM сможет только обновить пакеты из [base] или [update] репозиториев. Если же будут обновленные RPMs в [addons] репозитории для пакетов из [base], то они обновлены не будут.

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