Управление репозиториями в CentOS. Добавление репозиториев EPEL, ELRepo, REMI в CentOS

Репозитории CentOS - хранилища программного обеспечения в виде упакованных файлов, так называемых RPM-пакетов.

RPM-пакет - представляет из себя файл формата ".rpm", расширение указывает на принадлежность файла менеджеру пакетов Red Hat (Red Hat Package Manager), позволяющего устанавливать программное обеспечение на Red Hat/CentOS системы.

Нужные для установки пакеты загружаются из репозиториев посредством пакетного менеджера YUM, после чего происходит дальнейшая распаковка и установка.

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

Наиболее популярными и распространенными являются следующие репозитории:

CentOS Official Repository - официальный репозиторий.

EPEL - Extra Packages for Enterprise Linux - хранилище пакетов команды Fedora. Содержит пакеты дополнительного программного обеспечения для таких систем как: RHEL, SentOS, Scientific Linux. Пакеты этого репозитория не конфликтуют с родными пакетами RHEL и не заменяют их. Самый ходовой и популярный репозиторий.

ElRepo - пакеты для RHEL, SentOS, Scientific Linux. В хранилище представлены последние версии драйверов для: графических, звуковых, сетевых карт, веб камер и прочей периферии.

REMI - специализируется по MySQL и PHP. Пакеты этого репозитория могут заменять базовые пакеты, поэтому с ними надо поосторожнее.

RPMforge - больше не поддерживающийся репозиторий. Рекомендуют не использовать, проект закрыт.

Управление репозиториями в CentOS

Управление пакетами и репозиториями осуществляет утилита YUM (Yellowdog Updater, Modified) - менеджер RPM-пакетов, использующийся в дистрибутивах: RHEL, SentOS, Scientific Linux. В его задачи входит: поиск, установка, удаление пакетов, обновление системы.

Процесс установки пакетов происходит после выполнения команды - yum install packagename. После ввода команды менеджер пакетов проверяет наличие конфигурационных файлов "*.repo", эти файлы содержат информацию о репозиториях и хранятся в директории /etc/yum.repos.d. Во время проверки YUM получает всю необходимую информацию, указывающую откуда загружать пакет и какие зависимости имеют к нему отношение. После чего происходит установка пакета.

Конфигурационные файлы репозиториев содержат следующие параметры:

  • name - имя репозитория, может быть любым.
  • baseurl - ссылка указывающая на репозиторий. Может быть вида: ftp://link, http://link, https://link, если репозиторий размещен в сети интернет, или file://path, если репозиторий размещен локально.
  • enabled - указывает на активацию репозитория при выполнении обновления. Может иметь следующие значения, 1 - если подключен, 0 - если отключен.
  • gpgcheck - включить или выключить проверку сигнатуры GPG. Может иметь следующие значения, 1 - проверять, 0- не проверять.
  • gpgkey - ссылка на ключ GPG.
  • exclude - список исключаемых пакетов.
  • includepkgs - список включаемых пакетов.
  • mirrorlist - вместо ссылки на конкретный адрес репозитория, может использоваться ссылка на список адресов из которых будет выбран нужный адрес.

Подключение репозиториев в CentOS

Добавить репозиторий в CentOS можно несколькими способами. Можно создать файл ".repo" в директории /etc/yum.repos.d или установить rpm-пакет с информацией о репозитории. Если rpm-пакет отсутствует, то добавлять приходится ручками, создавая конф. файл репозитория.

Для просмотра списка активных репозиториев выполняют команду - yum repolist

yum repolist

# Выхлоп:
repo id                                 repo name                                                              status
base/7/x86_64                           CentOS-7 - Base                                                         9,007
epel/x86_64                             Extra Packages for Enterprise Linux 7 - x86_64                         10,580
extras/7/x86_64                         CentOS-7 - Extras                                                         390
updates/7/x86_64                        CentOS-7 - Updates                                                      2,469
repolist: 22,446

# repo id - id репозитория
# repo name - имя репозитория
# status - количество пакетов

Удаление репозиториев в CentOS

Для удаления репозиториев в системе должен быть установлен пакет yum-utils.

yum install yum-utils -y

Допустим мы хотим удалить из системы репозитории REMI и ELRepo, для этого надо узнать "repo id" при помощи команды yum repolist.

yum repolist

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.yandex.ru
 * elrepo: elrepo.0m3n.net
 * epel: mirror.23media.de
 * extras: mirror.yandex.ru
 * remi-safe: mirror.23media.de
 * updates: mirror.yandex.ru
repo id                           repo name                                                                    status
base/7/x86_64                     CentOS-7 - Base                                                               9,007
elrepo                            ELRepo.org Community Enterprise Linux Repository - el7                          162
epel/x86_64                       Extra Packages for Enterprise Linux 7 - x86_64                               10,580
extras/7/x86_64                   CentOS-7 - Extras                                                               390
remi-safe                         Safe Remi's RPM repository for Enterprise Linux 7 - x86_64                    1,144
updates/7/x86_64                  CentOS-7 - Updates                                                            2,469
repolist: 23,752

Удалим указанные репозитории.

yum-config-manager --disable remi-safe --disable elrepo

Команда скорее отключает указанные репозитории, чем удаляет их. Она выставляет значение параметра enabled равным 0. Файлы репозиториев ".repo" останутся на месте. Если выполнить команду yum repolist, то репозитории будут недоступны.

yum repolist

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.yandex.ru
 * epel: fedora-mirror01.rbc.ru
 * extras: mirror.yandex.ru
 * updates: mirror.yandex.ru
repo id                                 repo name                                                              status
base/7/x86_64                           CentOS-7 - Base                                                         9,007
epel/x86_64                             Extra Packages for Enterprise Linux 7 - x86_64                         10,580
extras/7/x86_64                         CentOS-7 - Extras                                                         390
updates/7/x86_64                        CentOS-7 - Updates                                                      2,469
repolist: 22,446

Теперь нужно обновить кэш YUM.

yum clean all
yum makecache

Для полного удаления репозиториев следует удалить их конфигурационные файлы.

# Переходим в каталог /etc/yum.repos.d
cd /etc/yum.repos.d

# Удаляем файлы
rm -f elrepo.repo remi-php70.repo remi-php71.repo remi-safe.repo remi.repo

Добавление репозитория EPEL

EPEL - самый простой в установке репозиторий. Epel-release package включен в стандартный Extras repository и доступен по умолчанию. Для его установки достаточно выполнить команду:

yum install epel-release -y

В процессе установки будет создан файл "epel.repo", который будет содержать все данные для работы с репозиторием. Выполним команду выводящую содержимое файла.

cat /etc/yum.repos.d/epel.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

Добавление репозитория ELRepo

Сначала устанавливаем GPG ключ.

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Устанавливаем rpm-файл репозитория.

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Retrieving http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:elrepo-release-7.0-2.el7.elrepo  ################################# [100%]

Добавление репозитория REMI

Установка репозитория REMI происходит в несколько этапов. Для выполнения команды, у вас должна быть установлена утилита wget.

yum install wget -y
# Скачиваем rpm-пакет, при помощи утилиты wget
wget http://remi.mirror.ate.info/enterprise/remi-release-7.rpm

2016-09-22 04:48:28 (5.43 MB/s) - ‘remi-release-7.rpm’ saved [8147/8147]
# файл пакета, ‘remi-release-7.rpm’ будет сохранен в ту директорию 
# в которой вы находитесь в данный момент, если вы root, то /root/remi-release-7.rpm

# Устанавливаем репозиторий:
rpm -Uvh remi-release-7.rpm

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

Ответить:

Please enter your comment!
Please enter your name here