- how to enable repo with yum-config-manager —enable
- 1 Answer 1
- Добавление и управление репозиторями в CentOS/RHEL
- Подключение репозиториев EPEL и Remi в CentOS
- Конфигурационные файлы репозиториев (*.repo)
- Как отключить репозиторий в CentOS?
- Проверка обновлений в нужном репозитории
- Другие популярные репозитории пакетов для CentOS
how to enable repo with yum-config-manager —enable
During the try to install yum-utils, I ran into the problem that there seems to be no enabled repos. How can I enable yum-config-manager , when I seem to need him to do so.
[root@spectrumscale ~]# yum install yum-utils Failed to set locale, defaulting to C Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile There are no enabled repos. Run "yum repolist all" to see the repos you have. You can enable repos with yum-config-manager --enable
1 Answer 1
To install specific package from specific repo you can use
yum install --enablerepo=name-of-repo name-of-package
Say there can be conflict between version, consider example of installing mariadb 5.5.66 , in my case I got 2 repo mariadb-5 and mariadb-10 , suppose if I wish to install from mariadb-5 repo then I use
yum install --disablerepo=mariadb-10 --enablerepo=mariadb-5 MariaDB-server MariaDB-client
To enable enable specific repo, you can use
yum-config-manager --enable name-of-repo
Here is example on Centos 7.7
[root@localhost server-setup]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) [root@localhost server-setup]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.piconets.webwerks.in * epel: mirror.poliwangi.ac.id * extras: mirrors.piconets.webwerks.in * remi-safe: mirror.innosol.asia * updates: mirrors.piconets.webwerks.in repo id repo name status CodeIT/x86_64 CodeIT repo 369 base/7/x86_64 CentOS-7 - Base 10,097 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,453 extras/7/x86_64 CentOS-7 - Extras 305 ius/x86_64 IUS for Enterprise Linux 7 - x86_64 641 mariadb-10 MariaDB 94 mariadb-5 MariaDB 39 remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 3,621 updates/7/x86_64 CentOS-7 - Updates 711 repolist: 29,330
[root@localhost server-setup]# yum-config-manager --disable mariadb-5
After Disabling
[root@localhost server-setup]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.piconets.webwerks.in * epel: mirror.poliwangi.ac.id * extras: mirrors.piconets.webwerks.in * remi-safe: mirror.innosol.asia * updates: mirrors.piconets.webwerks.in repo id repo name status CodeIT/x86_64 CodeIT repo 369 base/7/x86_64 CentOS-7 - Base 10,097 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,453 extras/7/x86_64 CentOS-7 - Extras 305 ius/x86_64 IUS for Enterprise Linux 7 - x86_64 641 mariadb-10 MariaDB 94 remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 3,621 updates/7/x86_64 CentOS-7 - Updates 711 repolist: 29,291
What it actually does .
I got MariaDB.repo file at /etc/yum.repos.d/ , when you use —enable or —disable , it will change the value of enabled = to 0 or 1 , based on this, yum repolist will show you repositories.
[root@localhost server-setup]# cat /etc/yum.repos.d/MariaDB.repo [mariadb-10] name = MariaDB baseurl = http://yum.mariadb.org/10.4.10/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 [mariadb-5] name = MariaDB baseurl = http://yum.mariadb.org/5.5.66/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 enabled = 1
Добавление и управление репозиторями в CentOS/RHEL
13.12.2019
VyacheslavK
CentOS, Linux
комментариев 5
В стандартных (официальных) репозиториях RHEL/CentOS доступно лишь небольшое количество базовых пакетов, причем в них иногда предлагаются не самые новые версии программ. Однако вы можете использовать сторонние публичные или частные репозитории для установки новых версий программ в Red Hat Enterprise Linux, CentOS, Oracle Linux и Scientific Linux. Из наиболее распространённых сторонних репозиториев можно выделить Remi и EPEL. В этой статье мы рассмотрим особенности подключения, управления и использования дополнительных репозиториев с помощью пакетного менеджера YUM в CentOS 7.
Репозиторий представляет собой обновляемое хранилище rpm-пакетов программ для Linux. Различные менеджеры пакетов могут использовать сетевые репозитории для установки и обновления программ.
Подключение репозиториев EPEL и Remi в CentOS
При установке операционной системы (в нашем примере это CentOS 7), по умолчанию устанавливаются базовые репозитории. Посмотреть их список можно следующей командой:
Как можно увидеть на скриншоте в системе установлено 3 репозитория — base, extras, updates.
Этих основных репозиториев хватит, чтобы начать вашу работу по установке базового ПО и установке дополнительных репозиториев.
Рассмотрим, как добавить дополнительные репозитории в CentOS.
Пожалуй, самый популярный на данный момент репозиторий — это EPEL.
EPEL (Extra Packages for Enterprise Linux) — это открытый и бесплатный проект репозитория, предоставляемый командой Fedora. Он содержит в себе высококачественные пакеты дополнительного ПО для Linux дистрибутивов. В данном репозитории размещается огромное количество пакетов начиная с ftp-серверов, заканчивая php и утилитами мониторинга системы. Это самый популярный дополнительный репозиторий. Важно отметить, что пакеты из EPEL не конфликтуют с родными пакетами CentOS/RHEL и не заменяют их.
Репозиторий EPEL в CentOS 7 устанавливается очень просто (в отличии от CentOS 6) через RPM пакет (это самый простой способ добавления репозитория):
После установки данный репозиторий отображается в списке, даже без дополнительных манипуляций (очистка кэша yum не требуется).
Чтобы подключить репозиторий Remi, выполните команду:
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Remi — еще один популярный репозиторий для CentOS. Содержит в себе самые новейшие версии php, а так же mysql. Был создан человеком по имени Remi Collet. Чтобы использовать данный репозиторий, в системе должен быть установлен Epel. Обратите внимание, что могут быть конфликты пакетов из этого репозитория с пакетами из базовых репозиториев.
Если RPM пакета для нужного репозитория нет, вы можете добавить его, вручную создав конфигурационный .repo файл в каталоге /etc/yum.repos.d (см. следующий раздел).
Чтобы понять из каких репозиториев установлены конкретные пакеты в вашей систему, вы можете вывести полный список пакетов:
Как вы видите, для каждого пакета указано из какого репозитория он установлен (на скрипншоте есть репозитории base, update, epel и anaconda).
Вы можете вывести список пакетов, доступных для установки в конкретном репозитории:
Конфигурационные файлы репозиториев (*.repo)
Все конфигурационные файлы репозиториев расположены в директории /etc/yum.repos.d/. В конфигурационных файл *.repo. Типовой конфигурационный файл репозитория содержит следующие параметры:
- name — имя репозитория;
- baseurl — ссылка на репозиторий (может быть ftp://address, http://address, https://address или file://address для локального репозитория);
- enabled – нужно ли использовать данный репозиторий: 1 – репозиторий подключен, 0 – отключен;
- async – использовать ли параллельную загрузку пакетов (auto/on/off);
В минимальном случае repo файл может выглядеть так:
[rep_name] name=rep_name baseurl=rep_url
Например, после подключения репозитория REMII, в директории репозиториев появится несколько конфигурационных файлов Remi (remi-*.repo).
Как вы видите, Remi имеет отдельный конфигурационный файл для каждой версии php. Вам нужно включить нужную вам версию в конфигурационном файле, например у меня на сервере будет стоять версия php 7.3, для этого я включил именно этот репозиторий (в файле remi-php73.repo указал enabled=1):
Вы можете подключит репозиторий вручную, для этого нужно создать конфигурационный файл репозитория в директории /etc/yum.repos.d/. Подключим репозиторий MaruaDB.
Добавим в него данные, которое нам предоставляет разработчик пакета MariaDB:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos73-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Как отключить репозиторий в CentOS?
Чтобы отключить один из подключенных репозиториев, достаточно в его конфигурационном файле указать enabled=0 .
После этого, нужно сбросить кэш в yum:
Теперь при установке или обновлении пакетов, репозиторий remi-php73 использоваться не будет.
Если вы хотите, чтобы определенный репозиторий не использовался только при выполнении текущей команды обновления/установки пакета, можно отключить репозиторий в рамках выполнения запроса yum, например:
yum update —disablerepo=epel
В этом примере мы отключили репозиторий EPEL и выполнили обновление пакетов в системе.
Вы можете временно отключить всех репозитории, кроме определенных. Например, чтобы установить обновления только для пакетов из репозитория MariaDB:
yum update —disablerepo «*» —enablerepo=mariadb
Для удаления репозиториев используется утилита yum-config-manager, которая входит в набор yum-utils.
Удалите репозиторий, например remi:
yum-config-manager —disable remi
Для полного удаления репозиторий нужно удалить его конфигурационные файлы и обновить кэш yum.
Проверка обновлений в нужном репозитории
Мы можем проверить, есть ли обновления пакетов в нужном репозитории, немного измегим команду из прошлого пункта:
yum check-update —disablerepo «*» —enablerepo=mariadb
Таким образом вы можете управлять подключенным репозиториями на сервере. Отметим, что разные репозитории могут содержать одинаковые пакеты и при обновлении у вас может возникать конфликт версий. Поэтому всегда оставляйте включенными только те репозитории, с которыми вы работаете.
Другие популярные репозитории пакетов для CentOS
MariaDB – как можно догадаться из названия, это репозиторий в котором содержатся пакеты MariaDB. Репозиторий cоздан разработчиками MariaDB, поддерживается и обновляется постоянно.
Чтобы установить данный репозиторий в систему, нужно создать для него repo файл с содержимым:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos73-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Nginx – аналогично предыдущему репозиторию, несет в себе пакеты связанные с httpd-сервером nginx.
И подключение данного репозитория, похоже на подключение репозитория MariaDB. Создаем создаем .repo файл и помещаем туда данную информацию:
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/CentOS/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key
Данного списка репозиториев хватит для настройки так называемого LAMP, с установленным в качестве front-end сервера nginx-ом.
Пожалуй, этого списка репозиториев хватит практически каждому пользователю, я приведу еще пару примеров более-менее популярных.
Webtatic – данный репозиторий поддерживается ограниченным количеством специалистов, в основном это Andy Thompson, в нем содержаться пакеты относящиеся к php, но менее популярный, чем Remi, и я догадываюсь почему. На момент написания статьи, последняя версия php в этом репозитории была 7.2.
yum repo-pkgs webtatic list | grep php7
mod_php71w.x86_64 7.1.31-1.w7 webtatic mod_php72w.x86_64 7.2.21-1.w7 webtatic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ php72w-tidy.x86_64 7.2.21-1.w7 webtatic php72w-xml.x86_64 7.2.21-1.w7 webtatic php72w-xmlrpc.x86_64 7.2.21-1.w7 webtatic
Чтобы подключить данный репозиторий, нужно установить 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 и рассмотрели полезные репозитории.
Предыдущая статья Следующая статья