Введение
Стандартные репозитории CentOS (и, соответственно, Red Hat Enterprise Linux) содержат достаточно ограниченное количество пакетов, среди которых, как ни странно, много популярных, а также часто нет самых новых версий. Для того, чтобы устранить эти недостатки можно подключить дополнительные (неофициальные) репозитории CentOS – EPEL, RPMForge и Remi.
Репозиторий EPEL
Репозиторий EPEL (Extra Packages for Enterprise Linux) – поддерживается в рамках проекта Fedora и содержит некоторые пакеты, которые не вошли в стандартный набор RHEL (CentOS).
RPMforge
RPMforge (теперь называется RepoForge) является результатом сотрудничества создателей пакетов. Он содержит более 4000 пакетов для CentOS. При этом RepoForge не является частью Red Hat или CentOS, но предназначен для работы с этими (и некоторыми другими) дистрибутивами.
REMI
Создатели репозитория Remi пишут, что основной задачей Remi является предоставление самых последних версий пакетов для rpm-based дистрибутивов, в том числе CentOS, RHEL, Fedora и др. Особенно важным это является в том случае если вы используете не самую последнюю версию дистрибутива и выпуск новых пакетов в официальных репозиториях уже прекращен.
Установка репозиториев
В первую очередь желательно проверить какие репозитории уже подключены в вашей системе:
yum repolist
Результатом будет вывод:
repo id repo name status base CentOS-6 - Base 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
Для подключения репозитория:
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Репозиторий REMI устанавливается отключенным. Для подключения в файле /etc/yum.repos.d/remi.repo необходимо поменять значение переменной enabled в секции [remi] c 0 на 1. На примере редактора vi:
vi /etc/yum.repos.d/remi.repo
Нажмите Insert для перехода в режим ввода.
Поменяйте значение переменной enabled в секции [remi] с 0 на 1
Нажмите Esc для перехода в режим команд
Для сохранения и выхода введите:
:wq
На этом подключение дополнительных репозиториев в 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
Заключение
Для того, чтобы ваша система работала как часы – ей необходимы самые свежие, обновленные программы. Для того, чтобы у вас были самые свежие программы – надо подключить рабочие, всегда актуальные репозитории, с которых эти программы могут быть обновлены. Ну и на последок, регулярно запускайте:
yum -y update yum -y upgrade
А еще лучше, создайте крон джобу (или используйте автоматизированные средства), которая будет сама, скажем раз в день, обновлять пакеты в вашей системе.
Веселого администрирования и удачи!