- Добавление и управление репозиторями в CentOS/RHEL
- Подключение репозиториев EPEL и Remi в CentOS
- Конфигурационные файлы репозиториев (*.repo)
- Как отключить репозиторий в CentOS?
- Проверка обновлений в нужном репозитории
- Другие популярные репозитории пакетов для CentOS
- CentOS-репозитории
- Что такое репозитории
- Виды репозиториев в CentOS и как их установить
- ElRepo
- Как отключить репозитории в CentOS
- Как полностью удалить репозиторий в CentOS
Добавление и управление репозиторями в CentOS/RHEL
В стандартных (официальных) репозиториях RHEL/CentOS доступно лишь небольшое количество базовых пакетов, причем в них иногда предлагаются не самые новые версии программ. Однако вы можете использовать сторонние публичные или частные репозитории для установки новых версий программ в Red Hat Enterprise Linux, CentOS, Oracle Linux и Scientific Linux. Из наиболее распространённых сторонних репозиториев можно выделить Remi и EPEL. В этой статье мы рассмотрим особенности подключения, управления и использования дополнительных репозиториев с помощью пакетного менеджера YUM в CentOS 7.
Подключение репозиториев EPEL и Remi в CentOS
При установке операционной системы (в нашем примере это CentOS 7), по умолчанию устанавливаются базовые репозитории. Посмотреть их список можно следующей командой:
Как можно увидеть на скриншоте в системе установлено 3 репозитория — base, extras, updates.
Этих основных репозиториев хватит, чтобы начать вашу работу по установке базового ПО и установке дополнительных репозиториев.
Рассмотрим, как добавить дополнительные репозитории в CentOS.
Пожалуй, самый популярный на данный момент репозиторий — это EPEL.
Репозиторий EPEL в CentOS 7 устанавливается очень просто (в отличии от CentOS 6) через RPM пакет (это самый простой способ добавления репозитория):
yum install epel-release
После установки данный репозиторий отображается в списке, даже без дополнительных манипуляций (очистка кэша yum не требуется).
Чтобы подключить репозиторий Remi, выполните команду:
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Если RPM пакета для нужного репозитория нет, вы можете добавить его, вручную создав конфигурационный .repo файл в каталоге /etc/yum.repos.d (см. следующий раздел).
Чтобы понять из каких репозиториев установлены конкретные пакеты в вашей систему, вы можете вывести полный список пакетов:
yum list installed
Как вы видите, для каждого пакета указано из какого репозитория он установлен (на скрипншоте есть репозитории base, update, epel и anaconda).
Вы можете вывести список пакетов, доступных для установки в конкретном репозитории:
yum repo-pkgs epel list
Конфигурационные файлы репозиториев (*.repo)
Все конфигурационные файлы репозиториев расположены в директории /etc/yum.repos.d/. В конфигурационных файл *.repo. Типовой конфигурационный файл репозитория содержит следующие параметры:
- name — имя репозитория;
- baseurl — ссылка на репозиторий (может быть ftp://address, http://address, https://address или file://address для локального репозитория);
- enabled – нужно ли использовать данный репозиторий: 1 – репозиторий подключен, 0 – отключен;
- async – использовать ли параллельную загрузку пакетов (auto/on/off);
- gpgcheck – нужно ли выполнять проверку GPG (1 – проверять);
- gpgkey — ссылка на GPG ключ;
- exclude — список исключенных пакетов;
- includepkgs — список включенных пакетов;
- mirrorlist – список зеркал репозитория.
В минимальном случае repo файл может выглядеть так:
Например, после подключения репозитория REMII, в директории репозиториев появится несколько конфигурационных файлов Remi (remi-*.repo).
Как вы видите, Remi имеет отдельный конфигурационный файл для каждой версии php. Вам нужно включить нужную вам версию в конфигурационном файле, например у меня на сервере будет стоять версия php 7.3, для этого я включил именно этот репозиторий (в файле remi-php73.repo указал enabled=1):
Вы можете подключит репозиторий вручную, для этого нужно создать конфигурационный файл репозитория в директории /etc/yum.repos.d/. Подключим репозиторий MaruaDB.
Добавим в него данные, которое нам предоставляет разработчик пакета MariaDB:
Как отключить репозиторий в CentOS?
Чтобы отключить один из подключенных репозиториев, достаточно в его конфигурационном файле указать enabled=0 .
После этого, нужно сбросить кэш в yum:
И пересоздать его заново:
Теперь при установке или обновлении пакетов, репозиторий remi-php73 использоваться не будет.
Если вы хотите, чтобы определенный репозиторий не использовался только при выполнении текущей команды обновления/установки пакета, можно отключить репозиторий в рамках выполнения запроса yum, например:
yum update —disablerepo=epel
В этом примере мы отключили репозиторий EPEL и выполнили обновление пакетов в системе.
Вы можете временно отключить всех репозитории, кроме определенных. Например, чтобы установить обновления только для пакетов из репозитория MariaDB:
yum update —disablerepo «*» —enablerepo=mariadb
Для удаления репозиториев используется утилита yum-config-manager, которая входит в набор yum-utils.
yum -y install yum-utils
Удалите репозиторий, например remi:
yum-config-manager —disable remi
Для полного удаления репозиторий нужно удалить его конфигурационные файлы и обновить кэш yum.
Проверка обновлений в нужном репозитории
Мы можем проверить, есть ли обновления пакетов в нужном репозитории, немного измегим команду из прошлого пункта:
yum check-update —disablerepo «*» —enablerepo=mariadb
Таким образом вы можете управлять подключенным репозиториями на сервере. Отметим, что разные репозитории могут содержать одинаковые пакеты и при обновлении у вас может возникать конфликт версий. Поэтому всегда оставляйте включенными только те репозитории, с которыми вы работаете.
Другие популярные репозитории пакетов для CentOS
MariaDB – как можно догадаться из названия, это репозиторий в котором содержатся пакеты MariaDB. Репозиторий cоздан разработчиками MariaDB, поддерживается и обновляется постоянно.
Чтобы установить данный репозиторий в систему, нужно создать для него repo файл с содержимым:
Nginx – аналогично предыдущему репозиторию, несет в себе пакеты связанные с httpd-сервером nginx.
И подключение данного репозитория, похоже на подключение репозитория MariaDB. Создаем создаем .repo файл и помещаем туда данную информацию:
Данного списка репозиториев хватит для настройки так называемого LAMP, с установленным в качестве front-end сервера nginx-ом.
Пожалуй, этого списка репозиториев хватит практически каждому пользователю, я приведу еще пару примеров более-менее популярных.
Webtatic – данный репозиторий поддерживается ограниченным количеством специалистов, в основном это Andy Thompson, в нем содержаться пакеты относящиеся к php, но менее популярный, чем Remi, и я догадываюсь почему. На момент написания статьи, последняя версия php в этом репозитории была 7.2.
yum repo-pkgs webtatic list | grep php7
Чтобы подключить данный репозиторий, нужно установить rpm пакет:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
MySQL – ну и пожалуй я напомню о mysql. Данный репозиторий не поставил вместе с популярными, так как на мой взгляд mysql как сервер БД отошел на второй план и в основном на сервера устанавливается MariaDB. НО если кто-то желает установить именно mysql (например, для Bitrix нужен именно mysql), вы можеже подключить этот репозиторий себе. Например если хотите подключить mysql 5.7:
И устанавливаем его:
rpm -Uvh mysql57-community-release-el7-9.noarch.rpm
После установки, у меня появилась возможность установить mysql:
В этой статье мы показали особенности управления репозиториями в CentOS и рассмотрели полезные репозитории.
Источник
CentOS-репозитории
В этой статье мы расскажем, что такое CentOS-репозиторий, какие виды бывают, как проходит установка репозиториев и их удаление.
CentOS (Community ENTerprise Operating System) — серверная операционная система с открытым исходным кодом, которая создана на базе Red Hat Enterprise Linux. В отличие от Red Hat Enterprise Linux CentOS полностью бесплатен. Отличительной чертой CentOS является высокая стабильность операционной системы.
Что такое репозитории
Все программы в Linux распространяются в виде пакетов ― набора приложений, которые упакованы в определённый формат. Пакеты можно скачать из репозиториев. Репозитории ― это хранилища в интернете, в которых находятся файлы пакетов приложений. Практически у каждой ОС есть свой репозиторий, который содержит проверенные и стабильные версии программ.
Виды репозиториев в CentOS и как их установить
Программное обеспечение для CentOS может находиться как в официальном репозитории, так и в дополнительных, которые созданы сторонними разработчиками. Чаще всего в сторонних репозиториях можно найти самые свежие версии программ. Однако они часто бывают менее стабильными, чем версии, которые находятся в официальном репозитории. Дополнительных репозиториев очень много.
Официальный репозиторий CentOS ― RHEL (Red Hat Enterprise Linux). Как и в любом официальном репозиторий, в нём располагаются только самые стабильные версии программ. Именно их рекомендуется использовать на операционной системе. Зачастую они не самые новые. В официальном репозитории CentOS пакеты хранятся в формате .rpm (Red Hat Package Manager). Репозиторий распространяется по платной подписке, но есть и пробная версия. В бесплатной версии отсутствует техническая поддержка от компании-разработчика, однако пользователю доступны обновления на протяжении тестового периода. Как получить установочные файлы RHEL, можно узнать на официальном сайте.
Собратом 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 нужно ввести:
Кроме официальных репозиториев, можно воспользоваться сторонними публичными или частными репозиториями. Самыми распространёнными являются Remi и EPEL.
EPEL (Extra Packages for Enterprise Linux) ― это открытое бесплатное хранилище пакетов от Fedora. Оно содержит пакеты дополнительного программного обеспечения для Linux. Пакеты этого репозитория не конфликтуют с пакетами RHEL, поэтому этот репозиторий самый безопасный в использовании для CentOS.
Чтобы добавить репозиторий, введите:
Репозиторий установлен, в папке /etc/yum.repos.d появится файл epel.repo, в котором будет информация о подключенном репозитории. RPM-пакет с EPEL входит в состав официального репозитория CentOS, поэтому все необходимые файлы и GPG-ключи загружаются автоматически.
REMI содержит новейшие сборки PHP и MySQL. Пакеты этого репозитория могут заменять базовые пакеты, поэтому использовать его нужно с осторожностью.
Пакеты REMI зависят от репозитория EPEL, поэтому перед установкой установите EPEL.
Обратите внимание! В зависимости от версии ОС (CentOS 7, CentOS 8) и версии PHP установочные ссылки могут отличаться. На официальном сайте REMI можно выбрать нужные параметры системы и найти актуальную для вас ссылку.
Установка репозитория REMI происходит в два этапа: загрузка RPM-пакета и установка репозитория.
Скачайте RPM-пакет при помощи утилиты wget. Если у вас нет утилиты, выполните команду yum install wget -y .
https://rpms.remirepo.net/enterprise/remi-release-7.rpm ― это ссылка на файл нужной вам версии, которую можно узнать на официальном сайте.
Файл установленного пакета (remi-release-7.rpm) будет сохранен в ту директорию, в которой вы находитесь в данный момент. Например, если вы root, то /root/remi-release-7.rpm
Где remi-release-7.rpm ― это файл установленного пакета.
Готово, вы установили REMI.
ElRepo
ElRepo ― это ещё один сторонний репозиторий, который подходит для CentOS. В нём хранятся последние версии драйверов для графических, звуковых и сетевых карт, веб-камер и других периферийных инструментов.
Чтобы настроить ElRepo:
Установите RPM-файл репозитория:
http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm ― это ссылка на файл, которая может отличаться в зависимости от версии CentOS. Узнать актуальную ссылку можно на официальном сайте ElRepo.
Как отключить репозитории в CentOS
Обратите внимание! Этот способ отключает репозитории, но не удаляет их. Файлы репозиториев остаются на месте.
Для отключения репозиториев установите пакет yum-utils. Если его нет, введите команду:
Узнайте идентификатор репозитория (id). Для этого введите команду:
Появится список всех активных репозиториев. Попробуем реактивировать репозиторий REMI:
- Идентификатор репозитория (repo id) ― id репозитория,
- Репозиторий (reponame) ― имя репозитория,
- Состояние (status) ― количество пакетов.
Для удаления репозитория введите:
Где remi-safe ― id репозитория.
Для проверки снова введите команду:
Удаленного репозитория REMI нет. Значит отключение репозитория прошло успешно.
Обновите кеш yum:
Пересоздайте кеш заново:
Как полностью удалить репозиторий в CentOS
Для полного удаления репозиториев нужно удалить их конфигурационные файлы.
Проверьте файлы репозиториев. Для этого введите команду:
Перед вами появится список конфигурационных файлов репозиториев. У одного репозитория может быть несколько файлов:
Удалите файлы репозитория. Например, удалим файлы REMI:
Очистите rpm-кеш, удалив закачанные пакеты и метаданные:
Готово, вы удалили репозиторий.
Мы рассказали, какие репозитории стоит использовать при работе с CentOS, как их добавить и удалить. Про репозитории Debian можно прочитать в статье Debian-репозитории.
Источник