Как добавить репозиторий в centos 7

В стандартных (официальных) репозиториях 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 и рассмотрели полезные репозитории.

Включение этого репозитория дает вам доступ к популярным программным пакетам, включая Nginx, R и Python Pip.

В этой статье мы покажем вам, как включить репозиторий EPEL в CentOS.

Предпосылки

Перед началом работы с учебником убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.

Включение репозитория EPEL в CentOS 7

Включение репозитория EPEL в CentOS 7 – довольно простая задача, так как пакет RPEL EPEL включен в репозиторий CentOS extras.

Чтобы установить пакет выпуска EPEL, введите следующую команду:

Чтобы убедиться, что репозиторий EPEL включен, запустите команду yum repolist , которая выведет список всех доступных репозиториев.

Команда отобразит идентификатор repo, имя и количество пакетов для включенных репозиториев. Вывод должен содержать строку для репозитория EPEL.

Вот и все. Репозиторий EPEL включен в вашей системе CentOS.

Включение репозитория EPEL на RHEL

Этот метод будет работать в любом дистрибутиве на основе RHEL, включая Red Hat, CentOS 6 и 7, Oracle Linux, Amazon Linux и Scientific Linux.

Читайте также:  Как поставить нумерацию в экселе по порядку

Чтобы включить репозиторий EPEL, выполните следующую команду, которая загрузит и установит пакет выпуска EPEL:

где rpm -E ‘%’ – распечатает версию дистрибутива (6 или 7).

Заключение

Для получения дополнительной информации о репозитории EPEL см. документацию EPEL.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Для любого сервера необходимо иметь возможность оперативно получить актуальное свежее программное обеспечение. Установка репозиториев epel, rpmforge и др. repo для CentOS решает вопрос получения rpm пакетов для последующей настройки и обновления функционала сервера. Так что уделим внимание этому вопросу и разберемся в тонкостях, которые тут присутствуют, как и в любом другом вопросе.

Данная статья является частью единого цикла статьей про сервер Centos.

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

Для начала давайте поясним, что такое репозитории и для чего они нужны. Вот что говорит wikipedia на этот счет:

Репозито́рий, хранилище — место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети.

Существуют репозитории для хранения программ, написанных на одном языке (например, CPAN для Perl) или предназначенных для одной платформы. Многие современные операционные системы, такие как OpenSolaris, FreeBSD и большинство дистрибутивов Linux, имеют официальные репозитории, но также позволяют устанавливать пакеты из других мест. Большинство репозиториев бесплатны, однако некоторые компании предоставляют доступ к собственным репозиториям за платную подписку.

Некоторое время назад Linux приложения выходили в виде исходного кода, который потом компилировали на сервере и получали готовые программы. На сегодняшний день большинство приложений выходят в виде так называемых пакетов. Это уже собранные приложения, которые можно сразу установить и пользоваться.

В нашем случае репозиторий — хранилище пакетов для операционной системы CentOS. Существуют repository от разработчика системы, их называют официальные. Набор rpm пакетов там обычно ограничен и версии не самые свежие. Для установки дополнительного софта используют сторонние репозитории. Их поддерживать могут как другие компании, так и группы энтузиастов.

Управлением пакетами и репозиториями в CentOS занимается утилита yum. Ее конфигурационный файл находится в /etc/yum.conf. Этот файл содержит секцию [main], в которой указываются глобальные настройки программы. Так же он может содержать одну или несколько секций [repository], в которой хранятся настройки репозиториев. Тем не менее, рекомендуется информацию о репозиториях хранить в каталоге /etc/yum.repos.d/ в специальных файлах .repo.

Минимальное содержание файла .repo следующее:

name имя, описывающее репозиторий, может быть любым
baseurl ссылка на расположение репозитория, может быть в виде http, ftp или file ссылки

Другие ползные параметры, которые могут быть указаны в repo файле:

enabled принимает значение 1 или 0, 1 — репозиторий подключен, 0 — отключен
async управляет загрузкой пакетов, auto — использует при возможности параллельную загрузку, on — использует только параллельную загрузку, off — параллельная загрузка отключена
mirrorlist вместо ссылки на конкретный адрес репозитория может быть указана ссылка на список адресов, из которых при установке будет выбран наиболее подходящий
gpgcheck принимает значение 1 или 0, 1- осуществлять проверку GPG подписи пакета из репозитория, 0 — не проверять
gpgkey ссылка на GPG ключ репозитория

Вот содержание стандартного файла с репозиториями CentOS /etc/yum.repos.d/CentOS-Base.repo:

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

Добавить репозиторий в CentOS можно тремя разными способами:

  1. Добавив секцию [repository] в файл /etc/yum.conf
  2. Создав .repo файл в директории /etc/yum.repos.d
  3. Установив rpm пакет с информацией о репозитории

Как уже было сказано ранее, первый способ использовать не рекомендуется самими разработчиками. Наиболее быстрый и удобный третий способ. Если rpm пакета для добавления репозитория не существует, то используется вручную второй способ.

Читайте также:  Как перенаправлять письма на другую почту

Установка epel repo в CentOS

Полностью epel репозиторий называется так — Extra Packages for Enterprise Linux. Это хранилище пакетов, созданное группой специалистов операционной системы Fedora. Пакеты из epel репозитория никогда не конфликтуют и не переустанавливают базовые пакеты RHEL. Поддерживаются пакеты для следующих операционных систем:

  • Red Hat Enterprise Linux (RHEL)
  • CentOS
  • Scientific Linux (SL)
  • Oracle Linux (OL)

Установить репозиторий epel в CentOS проще всего, так как epel-release package включен в стандартный Extras repository CentOS, который доступен по-умолчанию. На сегодняшний день это самый популярный неофициальный репозиторий для CentOS.

Установка репозитория epel в centos:

Теперь если проверим папку /etc/yum.repos.d, увидим там файл epel.repo, в котором будет информация о новом подключенном репозитории.

Подключение rpmforge repo в CentOS

Полное название rpmforge репозитория — RepoForge. По информации с сайта wiki.centos.org этот архив больше не поддерживается и не рекомендуется к установке. Но лично я нигде больше не нашел об этом информацию, в том числе и на официальном сайте repoforge.org. Данный репозиторий содержит следующие наборы совместимых RHEL пакетов:

  • Servers (eg. monitoring, troubleshooting, management)
  • Desktops (eg. office, leisure, multi-media)
  • Development (eg. perl, python, ruby libraries)

Установка rpmforge на centos:

  1. Устанавливаем GPG ключ:
  2. Идем на страницу загрузки и копируем ссылку rpm пакета под нужную нам архитектуру.
  3. Устанавливаем скопированный rpm пакет:

В настоящее время приведенная выше ссылка не работает по неизвестным причинам, я надеюсь, что это временные проблемы с сайтом. Пока можно использовать альтернативную:

Проверяем директорию /etc/yum.repos.d:

Все в порядке rpmforge репозиторий установлен.

Установка remi repo в CentOS

Les RPM de Remi repository поддерживает последние версии MySQL и PHP (бэкпорты федоровских rpm). Пакеты этого репозитория необходимо использовать с осторожностью, так как они заменяют базовые пакеты.

Установка репозитория remi в centos:

Обновление репозиториев с помощью yum

После добавления новых репозиториев в систему, никаких дополнительных действий производить не требуется, в отличие от debian based систем, где после добавления репозиториев, необходимо обновить кэш доступных пакетов с помощью команды apt-get update. Если выполнить команду yum update, то начнется сразу обновление пакетов. То есть смысл команды совсем другой. В CentOS кэш пакетов обновляется каждый раз, когда производится какое-то действие с помощью yum. Например, при выводе списка доступных репозиториев, обновляется список пакетов.

Показать список активных репозиториев в centos

repo id id репозитория
reponame имя репозитория
status количество пакетов

Удалить репозиторий в CentOS

Для того, чтобы удалить репозиторий из системы, необходимо узнать его id с помощью команды yum repolist. Об этом я писал в предыдущем разделе. Затем с помощью утилиты yum-config-manager, которая входит в пакет yum-utils выполним удаление:

Если получаете такую ошибку, то установите пакет yum-utils:

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

Теперь проверяем список активных репозиториев:

Удаленного репозитория remi-safe нет. Значит все в порядке, отключение репозитория прошло успешно.

Для того, чтобы обновить кэш yum после изменения репозиториев, можно воспользоваться следующими командами:

Yandex mirror для CentOS

mirror.yandex.ru — сайт компании Яндекс, зеркало репозитариев популярных дистрибутивов Linux, FreeBSD и других проектов, в том числе CentOS. Работает по протоколам HTTP, FTP и rsync.

На зеркале CentOS можно скачать дистрибутивы всех актуальных на текущий момент версий, а это версии 5, 6 и 7. Зеркало можно использовать в качестве источников стандартных репозиториев системы — base, updates, extras, centosplus.

Можно использовать, что я неоднократно делал, yandex mirror для сетевой установки CentOS. Путь к установочному образу: http://mirror.yandex.ru/centos/7/os/x86_64/images/

На этом у меня все по теме работы с репозиториями. Дальше можно заняться настройкой CentOS. Ели есть замечания, дополнения, уточнения, ошибки, прошу писать об этом в комментариях.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Adblock
detector