- Добавление и управление репозиторями в CentOS/RHEL
- Подключение репозиториев EPEL и Remi в CentOS
- Конфигурационные файлы репозиториев (*.repo)
- Как отключить репозиторий в CentOS?
- Проверка обновлений в нужном репозитории
- Другие популярные репозитории пакетов для CentOS
- Как мне установить основные репозитории для RHEL6
- Добавление и управление репозиториями в CentOS/RHEL
- Добавление и управление репозиториями в CentOS/RHEL
- Подключение репозиториев EPEL и Remi в CentOS
- Конфигурационные файлы репозиториев (*.repo)
- Как отключить репозиторий в 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 и рассмотрели полезные репозитории.
Источник
Как мне установить основные репозитории для RHEL6
Мы настроили RHEL6 на новом сервере. Насколько мы можем судить, наша подписка настроена правильно. Однако, когда я бегу yum repolist , он не показывает никаких репозиториев. /etc/yum.repos.d/redhat.repo пусто. Я попытался вставить контент с другого сервера RHEL6 redhat.repo, но как только я запустился yum , он снова стер его. Мне просто нужно получить базовую настройку репозиториев RedHat, чтобы я мог устанавливать пакеты.
Чтобы убедиться, что у меня не было проблемы с подпиской. Я перерегистрировал и повторно подписался. Я получаю все те же результаты.
Когда я захожу на портал клиентов RedHat, эта подписка отображается как активная.
Используя графический интерфейс, я перешел в Система> Администрирование> Red Hat Subscription Manager. На вкладке «Продукты» он не отображал никаких продуктов.
Когда я бегу yum update , вот что я получаю:
Вот как я исправил проблему, по крайней мере временно. Я скопировал /etc/yum.repos.d/redhat.repo файл с другого рабочего сервера rhel6. Затем я заменил все экземпляры sslclientkey и sslclientcert файлами .pem на этом сервере. Затем я переименовал файл .repo, чтобы избежать его удаления при обновлении. Благодаря этому я могу установить все пакеты, как и ожидалось.
Мне придется продолжать работать с поддержкой, чтобы решить корень этой проблемы.
ОБНОВИТЬ
Поддержка Red Hat наконец-то вернулась ко мне со следующими инструкциями, которые исправили корень проблемы и все хорошо:
После проверки ваших зарегистрированных систем мы показываем, что вы в настоящее время зарегистрировали их через RHSM, и одна из этих систем также зарегистрирована через RHN classic.
Перейдите в следующее местоположение после входа в систему через портал клиентов и удалите обе системы, установив флажки и нажав «Удалить выбранное» в левом нижнем углу:
Как только вышеперечисленное будет выполнено локально в терминале от имени пользователя root в системе «GH-Server-5», введите следующие команды:
Приведенная выше команда откроет терминал-регистрацию для регистрации в RHN Classic и запросит имя пользователя и пароль. Это логин и пароль вашего портала для клиентов. Также не забудьте проверить все доступные обновления, если вам не требуются ограниченные обновления.
Когда терминал на базе терминала завершит вашу регистрацию, введите следующие команды, чтобы очистить кэш yum и добавить правильные репозитории, а затем, наконец, обновить:
Источник
Добавление и управление репозиториями в CentOS/RHEL
Добавление и управление репозиториями в 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
Remi — еще один популярный репозиторий для CentOS. Содержит в себе самые новейшие версии php, а так же mysql. Был создан человеком по имени Remi Collet. Чтобы использовать данный репозиторий, в системе должен быть установлен Epel. Обратите внимание, что могут быть конфликты пакетов из этого репозитория с пакетами из базовых репозиториев.
Если 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 и рассмотрели полезные репозитории.
Источник