Репозитории Cen­tOS - хранилища программного обеспечения в виде упакованных файлов, так называемых RPM-пакетов. RPM-пакет - представляет из себя файл формата ".rpm", расширение указывает на принадлежность файла менеджеру пакетов Red Hat (Red Hat Pack­age Man­ag­er), позволяющего устанавливать программное обеспечение на Red Hat/CentOS системы. Нужные для установки пакеты загружаются из репозиториев посредством пакетного менеджера YUM, после чего происходит дальнейшая распаковка и установка.

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

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

Cen­tOS Offi­cial Repos­i­to­ry - официальный репозиторий.

EPEL - Extra Pack­ages for Enter­prise Lin­ux - хранилище пакетов команды Fedo­ra. Содержит пакеты дополнительного программного обеспечения для таких систем как: RHEL, Sen­tOS, Sci­en­tif­ic Lin­ux. Пакеты этого репозитория не конфликтуют с родными пакетами RHEL и не заменяют их. Самый ходовой и популярный репозиторий.

ElRe­po - пакеты для RHEL, Sen­tOS, Sci­en­tif­ic Lin­ux. В хранилище представлены последние версии драйверов для: графических, звуковых, сетевых карт, веб камер и прочей периферии.

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

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

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

Управление пакетами и репозиториями осуществляет утилита YUM (Yel­low­dog Updater, Mod­i­fied) - менеджер RPM-пакетов, использующийся в дистрибутивах: RHEL, Sen­tOS, Sci­en­tif­ic Lin­ux. В его задачи входит: поиск, установка, удаление пакетов, обновление системы.

Процесс установки пакетов происходит после выполнения команды - yum install pack­a­ge­name. После ввода команды менеджер пакетов проверяет наличие конфигурационных файлов "*.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 - список исключаемых пакетов.
  • includep­kgs - список включаемых пакетов.
  • mir­rorlist - вместо ссылки на конкретный адрес репозитория, может использоваться ссылка на список адресов из которых будет выбран нужный адрес.

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

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

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

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

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

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

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

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

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

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

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

EPEL - самый простой в установке репозиторий. Epel-release pack­age включен в стандартный Extras repos­i­to­ry и доступен по умолчанию. Для его установки достаточно выполнить команду:

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

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

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

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

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

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

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