Олег Букатчук

Подключение репозиториев CentOS: EPEL, RPMForge, Remi

Авг
26

Стандартные репозитории CentOS (и, соответственно, Red Hat Enterprise Linux) содержат достаточно ограниченное количество пакетов, среди которых, как ни странно часто нет самых новых версий. Для того, чтобы устранить эти недостатки можно подключить дополнительные (неофициальные) репозитории CentOS — EPEL, RPMForge и Remi.

Репозиторий EPEL (Extra Packages for Enterprise Linux) — поддерживается в рамках проекта Fedora и содержит некоторые пакеты, которые не вошли в стандартный набор RHEL (CentOS).

Репозиторий RPMforge (теперь называется RepoForge) является результатом сотрудничества создателей пакетов. Он содержит более 4000 пакетов для CentOS. При этом RepoForge не является частью Red Hat или CentOS, но предназначен для работы с этими (и некоторыми другими) дистрибутивами.

Репозиторий Remi является источником самых последних версий пакетов для rpm-based дистрибутивов, в том числе CentOS, RHEL, Fedora и др. Особенно важным это является в том случае если вы используете не самую последнюю версию дистрибутива и выпуск новых пакетов в официальных репозиториях уже прекращен.

В первую очередь желательно проверить какие репозитории уже подключены в вашей системе:

# yum repolist

Результатом будет вывод:

repo id              repo name                                  status 
base                 CentOS-6 - Base                            4 776 
extras               CentOS-6 - Extras                             17 
updates              CentOS-6 - Updates                           851

Установка репозитория EPEL в CentOS

Часто рекомендуется перед подключением этого репозитория скачать и выполнить импорт GPG-ключа. Но, по большому счету скачивать, и отдельно устанавливать GPG-ключ не требуется, т.к. он включен в пакет, размещается в каталоге /etc/pki/rpm-gpg/ и после установки вам будет предложено его импортировать при первой установке пакета из репозитория EPEL.
Однако, если вы все же хотите импортировать GPG-ключ перед подключением репозитория EPEL к CentOS, выполните команду:

# rpm --import https://fedoraproject.org/static/0608B895.txt

Проверим корректность импорта.

# rpm -qa gpg* 

Вывод будет примерно таким.

gpg-pubkey-0608b895-4bd22942

Для установки репозитория EPEL выполните.

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

Если команда выдает ошибку, то значит уже выпущена новая версия пакета. Перейдите по ссылке http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html и подставьте номер новой версии в ссылку или скачайте и установите из локальной папки.

Установка репозитория RepoForge (бывш. RPMForge) в CentOS

Ситуация с GPG-ключом здесь точно такая же, как в EPEL. Для установки GPG-ключа перед подключением репозитория выполните:

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

Проверьте корректность импорта.

# rpm -qa gpg* 

Вывод будет примерно таким.

gpg-pubkey-c105b9de-4e0fd3a3

Для подключения репозитория в 32-битной системе выполните команду.

# rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

А для 64-битной системы эту команду.

# rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

В том случае, если команда завершилась с ошибкой, возможно, что ссылки на пакеты устарели, тогда используйте ссылки, указанные здесь: http://repoforge.org/use/

Установка репозитория Remi в CentOS

Для установки GPG-ключа перед подключением репозитория выполните команду.

# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

Вывод.

gpg-pubkey-00f97f56-467e318a

Для подключения репозитория Remi:

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Репозиторий Remi устанавливается отключенным. Для подключения в файле /etc/yum.repos.d/remi.repo необходимо поменять значение переменной enabled в секции [remi] c 0 на 1. На примере редактора nano:

# nano /etc/yum.repos.d/remi.repo

Поменяйте значение переменной enabled в секции [remi] с 0 на 1

На этом подключение дополнительных репозиториев в CentOS можно считать завершенным.
Однако, дополнительно рекомендуется установить и настроить плагин yum: yum-priorities. Применение данного плагина обусловлено тем, что в подключенных дополнительных репозиториях могут содержаться пакеты обновляющие, так же пакеты из официальных репозиториев, что часто может вызвать проблемы, к примеру несовместимость версии php и вашей CMS. Плагин yum-priorities применяется для упорядочивания приоритетов репозиториев. Пакеты из репозиторя с более низким приоритетом не будут обновлять пакеты, установленные из репозиториев, имеющих более высокий приоритет. Также приоритеты используются и при установке новых пакетов — в том случае, если пакет находится в двух или более репозиториях, он будет установлен из того репозитория, который имеет наивысший приоритет.
Для установки плагина yum-priorities выполните.

# yum install -y yum-priorities

После установки плагина добавьте строку priority=10 в первую секцию каждого файла:

/etc/yum.repos.d/epel.repo
/etc/yum.repos.d/rpmforge.repo
/etc/yum.repos.d/remi.repo

Проверьте список подключенных репозиториев.

# yum repolist

Вывод

repo id             repo name                                          status 
base                CentOS-6 - Base                                  4 710+66 
epel                Extra Packages for Enterprise Linux 6 - i386        6 887 
extras              CentOS-6 - Extras                                    10+7 
rpmforge            RHEL 6 - RPMforge.net - dag                       4 512+1 
updates             CentOS-6 - Updates                                  850+1

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

yum -y update

Profit!