Репозитории CentOS

Что такое CentOS

CentOS ― это дистрибутив, основанный на базе Red Hat Enterprise Linux (RHEL). В отличии от платного RHEL, CentOS (Community ENTerprise Operating System) является свободно распространяемым и не имеет официальной поддержки. Как правило, дистрибутив популярен среди сообщества разработчиков и реже используется компаниями и организациями. 

Операционная система отличается высокой надежностью и мало подвержена хакерским атакам, как и все дистрибутивы Linux. Она хорошо совместима с VDS/VPS-хостингом и отлично подходит для работы с выделенными серверами.

Что такое репозитории CentOS

Репозитории – это хранилища данных различных приложений. В репозиториях хранятся стабильные и надежные версии программ. Они представляют собой набор файлов и доступны для распространения по сети. Из репозиториев устанавливаются различные версии программ и приложений, в CentOS это делается с помощью пакетного менеджера YUM. 

Виды репозиториев:

  • Официальные — поддерживаются разработчиками дистрибутива и являются частью операционной системы.
  • Коммерческие — поддерживаются сторонними разработчиками. Чтобы получить доступ к таким репозиториям может понадобиться подписка. 
  • Открытые — поддерживаются сообществом энтузиастов или разработчиками открыто распространяемого программного обеспечения. Доступны любому пользователю.

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

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

Управление репозиториями в CentOS происходит с помощью команды yum.

Чтобы посмотреть какие репозитории в CentOS используются, выполните команду 

yum repolist.

Для установки дополнительного репозитория требуется команда 

yum install [repository]-release

где repository – название репозитория, который вы хотите установить.

Виды репозиториев репозиториев в CentOS

Рассмотрим наиболее популярные виды репозиториев для CentOS.

RHEL

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

Репозиторий распространяется по подписке, в бесплатном варианте отсутствует техническая поддержка.

Пакеты с обновлениями хранятся в RHEL в формате .rpm.

SСL

Или Software Collections, файл установщика есть в официальном репозитории, поэтому для загрузки вводится команда: 

sudo yum install centos-release-scl

Содержит новые версии программного обеспечения и пакетов, таких как PHP, MySQL, MariaDB, PostgreSQL, Perl, Ruby, MongoDB, Nginx, Apache httpd, Git и другие. Отличительная черта данного репозитория – он не подменяет базовые библиотеки, соответственно не нарушает целостность системы. 

EPEL

Extra Packages for Enterprise Linux, продукт поддерживаемый разработчиками проекта Fedora. Содержит новые версии программ, в том числе тех, которых нет в официальном репозитории. Для установки выполните команду:

sudo yum install epel-release

Безопасен для работы CentOS, так как не конфликтует с официальным репозиторием. Может конфликтовать с другими дополнительными репозиториями.

REMI

Репозиторий от Remi RPM. Содержит большое количество пакетов с обновлениями. Так как пакеты репозитория REMI зависят от EPEL, требуется его предварительная установка. Обращаем внимание, что пакеты REMI носят такие имена, как и в официальном репозитории, поэтому необходимо соблюдать осторожность, чтобы избежать ненужного обновления.

Загрузка репозитория происходит поэтапно. Сначала загружается rmp-пакет:

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Затем устанавливается репозиторий:

sudo rpm -Uvh remi-release-7*.rpm

Дополнительную информацию о репозитории можно найти на официальном сайте https://rpms.remirepo.net

IUS

Репозиторий от Red Hat. Содержит более новые версии программного обеспечения для дистрибутивов LINUX. Имена пакетов отличаются от официального репозитория, поэтому проблемы с обновлениями исключены. 

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

wget https://centos7.iuscommunity.org/ius-release.rpm

sudo rpm -Uvh ius-release*.rpm

ElRepo

Данный репозиторий хранит в себе ПО для звуковых и графических инструментов, сетевых карт и веб-камер.

Для работы с пакетами ElRepo требуется GPG-подпись. Первым шагом установите GPG-ключ:

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

Для установки репозитория на CentOS 8 выполните команду:

yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

Если у вас другая версия CentOS, то нужную ссылку можно найти на официальном сайте.

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

  1. Чтобы отключить репозитории в CentOS (например, для выполнения какой-либо команды) необходим пакет yum-utils. Для его установки выполните команду:

yum install yum-utils -y

  1. Далее необходимо узнать ID репозитория, для этого используйте команду:

yum repolist

Перед вами появится список всех установленных репозиторий. В нашем примере:

repo id (идентификационный номер репозитория) – remi-safe,

repo name (название репозитория) – Remi repository.

  1. Перейдем к удалению репозитория, выполним команду: 

yum-config-manager --disable remi-safe

remi-safe – это наш идентификатор репозитория.

  1. Далее обновите кэш:

yum clean all

  1. Чтобы создать кэш заново выполните:

yum makecache

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

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

  1. Для получения списка конфигурационных файлов выполните команду:

ls -l

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

  1. Чтобы удалить файлы репозитория REMI, используем команду:

rm remi-release-7.rpm,

где remi-release-7.rpm – конфигурационный файл REMI-репозитория.

Если у вас несколько файлов, то введите их через запятую.

  1. Очистите кеш, чтобы удалить скачанные пакеты и мета-данные:

yum clean all

Репозиторий полностью удален.

Всё ещё остались вопросы?