CentOS 7: Полное руководство по подключению сторонних репозиториев
Вы установили CentOS 7 и столкнулись с тем, что нужной программы просто нет в официальных источниках? Знакомая ситуация? Не отчаивайтесь! Мир Linux открыт для всех, и тысячи сторонних репозиториев готовы поделиться с вами самым свежим софтом.
В отличие от Ubuntu с её PPA, в CentOS подход другой, но не менее эффективный. Мы покажем вам, как легко расширить возможности вашей системы. Вы научитесь подключать любые внешние хранилища пакетов всего за пару команд.
Вас ждет несколько проверенных способов. Вы узнаете, как вручную создать конфигурационный файл, прописав в нем все необходимые параметры. Мы разберем синтаксис этого файла построчно, чтобы вы понимали, за что отвечает каждая строка.
Но это еще не всё! Часто всё сводится к одной простой команде `yum install`, которая автоматически скачает и настроит всё за вас. Мы покажем, как это работает на реальном примере с популярным репозиторием NUX.
Вы также откроете для себя мощь утилиты `yum-config-manager` для тонкого управления вашими источниками программ. Включение, отключение и настройка репозиториев станут для вас простой и быстрой задачей.
А если что-то пошло не так? Не проблема! Вы узнаете, как чисто и аккуратно удалить ненужный репозиторий из системы, не оставив следов. Готовы превратить ваш CentOS 7 в мощную и гибкую рабочую станцию? Тогда начинаем!
В операционных системах семейства Linux основное программное обеспечение хранится в репозиториях. Но далеко не всегда все нужные программы есть в официальных источниках, а поскольку свой репозиторий может создать каждый, то очень скоро появились сторонние ресурсы, в которых можно найти новые версии программ или даже таких, которых пока нет в официальных хранилищах.
В Ubuntu для таких целей используются PPA-репозитории, в CentOS такой технологии нет, но зато есть достаточно простой способ установки сторонних ресурсов через пакетный менеджер. В этой статье мы рассмотрим, как добавить репозиторий CentOS 7.
Содержание статьи
- Как добавить репозиторий в CentOS вручную
- Настройка репозиториев CentOS
- Как удалить репозиторий CentOS
- Выводы
Как добавить репозиторий в 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
Теперь этого репозитория больше нет в системе.
Выводы
В этой статье мы рассмотрели, как выполняется подключение репозитория CentOS 7. Как видите, это не сложнее, чем в Ubuntu. Преимущество Ubuntu только в том, что у неё есть централизованная база таких репозиториев и поиск по ней. А для CentOS репозитории надо искать в интернете.