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

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

В Ubuntu для таких целей используются PPA-репозитории, в CentOS такой технологии нет, но зато есть достаточно простой способ установки сторонних ресурсов через пакетный менеджер. В этой статье мы рассмотрим, как добавить репозиторий CentOS 7.

Как добавить репозиторий в CentOS вручную

Все файлы репозиториев в системе CentOS или Red Hat хранятся в каталоге /etc/yum.repos.d/, вы можете посмотреть их список с помощью такой команды:

ls /etc/yum.repos.d/

Для каждого репозитория обычно создаётся отдельный файл, но в одном файле могут находиться несколько репозиториев, которые связаны между собой. Синтаксис файла такой:

[название_репозитория]
name=описание_репозитория
mirrorlist=ссылка_на_список зеркал
baseurl=ссылка_на_зеркало с пакетами
enabled=1
gpgcheck=1
gpgkey=файл_ключа_подписи

А теперь разберём подробнее, что за что отвечает:

  • Название репозитория будет выводиться при обновлении списка пакетов через YUM, а также может использоваться для управления настройками репозитория через yum-config-manager, о котором мы поговорим ниже.
  • Атрибутиы mirrorlist и baseurl взаимозаменяемы, если используется один из них, то другой не нужен. Например, мы можем сразу указать ссылку на архив пакетов с помощью baseurl или указать URL, по которому можно скачать список таких ссылок. Конечно, второе предпочтительнее.
  • Параметр enabled позволяет включить или отключить репозиторий.
  • Параметр gpgcheck включает проверку цифровой подписи пакетов, а gpgkey — указывает адрес ключа, с которым надо сверять подпись. Эти параметры не обязательны.

Таким образом, чтобы подключить репозитории CentOS, необходимо просто добавить в эту папку файл настроек репозитория.

Например, вы хотите установить пакеты из репозитория, которые доступны по URL: http://vault.centos.org/centos/7.4.1708/extras/x86_64/Packages/. Тогда конфигурация репозитория будет выглядеть вот так:

vi /etc/yum.repos.d/extras741708.repo

[extras741708]
name=Extras packages for CentOS 7.4.1708 for x86_64
baseurl=http://vault.centos.org/centos/7.4.1708/extras/x86_64/
enabled=1

Если вы хотите использовать для репозитория проверку подписи по GPG-ключу, то надо передать URL, по которому этот ключ можно получить с помощью параметра gpgkey.

Но обычно вам не придётся этого всего делать. Большинство популярных репозиториев уже позаботились обо всём этом и создали свой rpm-пакет, который устанавливает все нужные им настройки и ключи. Обычно эти пакеты и саму команду для их установки можно найти на официальном сайте репозитория. Установка репозитория CentOS 7 NUX выполняется такой командой:

yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

Утилита yum скачает и установит все необходимые конфигурационные файлы. И при следующем обращении к YUM будет загружен список пакетов этого репозитория.

Дальше вы можете устанавливать из него пакеты. Также можно проверить конфигурацию репозитория:

vi /etc/yum.repos.d/nux-dextop.repo

Как видите, здесь есть два репозитория: nux-desktop и nux-desktop-testing. Первый включён по умолчанию, а второй отключён. Вы можете включить его, поставив в параметре enabled значение 1.

Настройка репозиториев CentOS

В Red Hat есть утилита subscribtion-manager, которая позволяет управлять подключёнными репозиториями, устанавливать их и менять конфигурации. Она проприетарная, поэтому из CentOS вырезана. Но настройка репозитория CentOS 7 необязательно должна выполняться вручную. Существует специальная утилита — yum-config-manager, правда, она не поставляется вместе с системой и её надо установить:

yum install yum-utils

Утилита имеет несколько опций, но мы будем использовать только некоторые из них:

  • —add-repo — добавить репозиторий;
  • —enable — активировать репозиторий;
  • —disable — отключить репозиторий;
  • —setopt — установить значение параметра репозитория;

Опции —add-repo надо передать адрес файла .repo с описанием репозитория, поэтому она используется очень редко, а вот для включения или отключения репозиториев утилиту использовать очень удобно. Например, отключаем репозиторий nux-dextop:

yum-config-manager --disable nux-dextop

Затем включаем обратно:

yum-config-manager --enable nux-dextop

Если всё прошло так, как надо, то утилита выведет новую конфигурацию, если же ничего не выведено, значит такой пакет не найден. Проверьте, правильно ли вы вводите название репозитория с помощью команды:

yum repolist

Как удалить репозиторий CentOS

Чтобы удалить репозиторий CentOS из системы, достаточно удалить его файл из папки /etc/yum.repos.d или удалить пакет, которым вы его устанавливали. Например, удаляем репозиторий nux-dextop:

yum remove nux-dextop-release

Если репозиторий устанавливался через пакет, то такой метод удаления предпочтительнее, так как система удалит всё, что было установлено. Если же мы добавляли репозиторий вручную, достаточно удалить файл с его настройками:

rm /etc/yum.repos.d/extras741708.repo

Теперь этого репозитория больше нет в системе.

Источник

Понравилась статья? Поделиться с друзьями: