В этой статье мы расскажем, что такое CentOS-репозиторий, какие виды бывают, как проходит установка репозиториев и их удаление.
CentOS (Community ENTerprise Operating System) — серверная операционная система с открытым исходным кодом, которая создана на базе Red Hat Enterprise Linux. В отличие от Red Hat Enterprise Linux CentOS полностью бесплатен. Отличительной чертой CentOS является высокая стабильность операционной системы.
Что такое репозитории
Все программы в Linux распространяются в виде пакетов ― набора приложений, которые упакованы в определённый формат. Пакеты можно скачать из репозиториев. Репозитории ― это хранилища в интернете, в которых находятся файлы пакетов приложений. Практически у каждой ОС есть свой репозиторий, который содержит проверенные и стабильные версии программ.
Виды репозиториев в CentOS и как их установить
Программное обеспечение для CentOS может находиться как в официальном репозитории, так и в дополнительных, которые созданы сторонними разработчиками. Чаще всего в сторонних репозиториях можно найти самые свежие версии программ. Однако они часто бывают менее стабильными, чем версии, которые находятся в официальном репозитории. Дополнительных репозиториев очень много.
RHEL
Официальный репозиторий CentOS ― RHEL (Red Hat Enterprise Linux). Как и в любом официальном репозиторий, в нём располагаются только самые стабильные версии программ. Именно их рекомендуется использовать на операционной системе. Зачастую они не самые новые. В официальном репозитории CentOS пакеты хранятся в формате .rpm (Red Hat Package Manager). Репозиторий распространяется по платной подписке, но есть и пробная версия. В бесплатной версии отсутствует техническая поддержка от компании-разработчика, однако пользователю доступны обновления на протяжении тестового периода. Как получить установочные файлы RHEL, можно узнать на официальном сайте.
SСL
Собратом RHEL является SСL (Software Collections) ― это репозиторий от Red Hat, в котором содержатся новые версии Python, PHP, Perl, Ruby, MySQL, MariaDB, PostgreSQL, MongoDB, Maven, Passenger, Apache httpd, Nginx, Node.js, Git, Common Java Packages. Этот репозиторий даёт администратору возможность установить альтернативную версию ПО и работать с основной и альтернативной версией одновременно. Также можно настроить окружение так, что новая программа будет работать основной на сервере.
Программное обеспечение в RHEL хранится 10 лет. После этого срока она удаляется из официального репозитория. Если пользователю всё-таки понадобится старая версия, её можно найти в репозитории SСL. Этот репозиторий не подменяет базовые библиотеки и не нарушает систему.
Файл его установщика есть в официальном репозитории, для установки SCL нужно ввести:
yum install centos-release-scl
Кроме официальных репозиториев, можно воспользоваться сторонними публичными или частными репозиториями. Самыми распространёнными являются Remi и EPEL.
EPEL
EPEL (Extra Packages for Enterprise Linux) ― это открытое бесплатное хранилище пакетов от Fedora. Оно содержит пакеты дополнительного программного обеспечения для Linux. Пакеты этого репозитория не конфликтуют с пакетами RHEL, поэтому этот репозиторий самый безопасный в использовании для CentOS.
Чтобы добавить репозиторий, введите:
yum install epel-release
Репозиторий установлен, в папке /etc/yum.repos.d появится файл epel.repo, в котором будет информация о подключенном репозитории. RPM-пакет с EPEL входит в состав официального репозитория CentOS, поэтому все необходимые файлы и GPG-ключи загружаются автоматически.
REMI
REMI содержит новейшие сборки PHP и MySQL. Пакеты этого репозитория могут заменять базовые пакеты, поэтому использовать его нужно с осторожностью.
Пакеты REMI зависят от репозитория EPEL, поэтому перед установкой установите EPEL.
Обратите внимание! В зависимости от версии ОС (CentOS 7, CentOS 8) и версии PHP установочные ссылки могут отличаться. На официальном сайте REMI можно выбрать нужные параметры системы и найти актуальную для вас ссылку.
Установка репозитория REMI происходит в два этапа: загрузка RPM-пакета и установка репозитория.
-
1
Скачайте RPM-пакет при помощи утилиты wget. Если у вас нет утилиты, выполните команду
yum install wget -y
.wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm
https://rpms.remirepo.net/enterprise/remi-release-7.rpm ― это ссылка на файл нужной вам версии, которую можно узнать на официальном сайте.
Файл установленного пакета (remi-release-7.rpm) будет сохранен в ту директорию, в которой вы находитесь в данный момент. Например, если вы root, то /root/remi-release-7.rpm
-
2
Установите репозиторий:
rpm -Uvh remi-release-7.rpm
Где remi-release-7.rpm ― это файл установленного пакета.
Готово, вы установили REMI.
ElRepo
ElRepo ― это ещё один сторонний репозиторий, который подходит для CentOS. В нём хранятся последние версии драйверов для графических, звуковых и сетевых карт, веб-камер и других периферийных инструментов.
Чтобы настроить ElRepo:
-
1
Установите GPG-ключ:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
-
2
Установите RPM-файл репозитория:
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm ― это ссылка на файл, которая может отличаться в зависимости от версии CentOS. Узнать актуальную ссылку можно на официальном сайте ElRepo.
Как отключить репозитории в CentOS
Обратите внимание! Этот способ отключает репозитории, но не удаляет их. Файлы репозиториев остаются на месте.
-
1
Для отключения репозиториев установите пакет yum-utils. Если его нет, введите команду:
yum install yum-utils -y
-
2
Узнайте идентификатор репозитория (id). Для этого введите команду:
yum repolist
Появится список всех активных репозиториев. Попробуем деактивировать репозиторий REMI:
- Идентификатор репозитория (repo id) ― id репозитория,
- Репозиторий (reponame) ― имя репозитория,
- Состояние (status) ― количество пакетов.
-
3
Для отключения репозитория введите:
yum-config-manager --disable remi-safe
Где remi-safe ― id репозитория.
-
4
Для проверки снова введите команду:
yum repolist
Репозитория REMI нет в списке. Значит отключение репозитория прошло успешно.
-
5
Обновите кеш yum:
yum clean all
-
6
Пересоздайте кеш заново:
yum makecache
Как полностью удалить репозиторий в CentOS
Для полного удаления репозиториев нужно удалить их конфигурационные файлы.
-
1
Перейдите в каталог /etc/yum.repos.d/, где хранятся файлы конфигурации:
cd /etc/yum.repos.d/
-
2
Введите команду
ls
, чтобы увидеть список всех файлов в каталоге. -
3
Удалите репозиторий:
sudo rm example.repo
Где example.repo ― имя репозитория.
-
4
Очистите rpm-кеш, удалив закачанные пакеты и метаданные:
yum clean all
Готово, вы удалили репозиторий.
Мы рассказали, какие репозитории стоит использовать при работе с CentOS, как их добавить и удалить. Про репозитории Debian можно прочитать в статье Debian-репозитории.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊