Как установить локальный репозиторий Yum в CentOS/RHEL

centos System

Репозитории программного обеспечения - это коллекции программных пакетов, которые могут быть использованы пользователями для загрузки, установки и обновления программных пакетов на своей системе. Обычно эти репозитории расположены в интернете, чтобы к ним могли получить доступ многие пользователи. Менеджеры пакетов, такие как Yum, поддерживают список репозиториев программного обеспечения для загрузки и установки пакетов на вашу систему. Иногда вам может понадобиться создать и поддерживать локальный репозиторий программного обеспечения в вашей системе и разрешить доступ к нему другим пользователям в вашей сети.

Это необходимо, в основном, если вам нужно поддерживать репозиторий во внутренней сети организации, или ваше программное обеспечение должно быть изолировано от внешней сети. Такая конфигурация не требует подключения к Интернету, поскольку пользователи могут легко устанавливать программные пакеты через вашу интрасеть/LAN. В этой статье мы узнаем, как настроить локальный репозиторий yum в CentOS или RHEL.

Yum - это популярный менеджер пакетов для систем CentOS/RHEL. Он поддерживает список интернет-репозиториев для легкой загрузки и установки пакетов. Но вы можете настроить его на получение пакетов и из вашего локального репозитория.

Как установить локальный репозиторий Yum в CentOS/RHEL

Здесь описаны шаги по настройке локального репозитория yum в CentOS/RHEL. Наш репозиторий yum будет размещен на HTTP-сервере NGINX в системе CentOS, а наш клиент также будет системой CentOS.

1. Установите сервер NGINX

Сначала мы установим сервер NGINX для размещения нашего репозитория. Откройте терминал и выполните следующую команду, чтобы сделать то же самое из репозитория EPEL с помощью менеджера Yum.

Установка сервера NGINX

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

systemctl status nginx

Далее необходимо открыть порты 80 и 443 для разрешения веб-трафика на сервер NGINX, обновить службу брандмауэра для разрешения входящего HTTP и HTTPS, используя следующие команды.

После установки сервера NGINX вы можете протестировать его, открыв веб-браузер и перейдя по следующему URL. Замените SERVER_DOMAIN_NAME_OR_IP на IP-адрес или доменное имя вашего сервера.

http://[SERVER_IP]

Узнать IP-адрес Linux сервера

2. Создание локального репозитория Yum

Далее необходимо выполнить следующую команду для создания, настройки и управления локальным репозиторием.

yum install createrepo yum-utils

Далее создайте необходимые каталоги, в которых будут храниться пакеты yum.

Далее выполним следующую команду для синхронизации репозиториев CentOS Yum с локальными каталогами.

Для CentOS 7

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

  • -g - включить удаление пакетов, которые не прошли проверку подписи GPG после загрузки
  • -l - включить поддержку плагинов yum.
  • -d - включить удаление локальных пакетов, больше не присутствующих в репозитории.
  • -m - включить загрузку файлов comps.xml.
  • --repoid - указать идентификатор репозитория.
  • --newest-only - указать reposync извлекать только пакеты последней версии.
  • --download-metadata - включить загрузку всех метаданных, не используемых по умолчанию.
  • --download_path - укажите путь для загрузки пакетов.

Для CentOS 8

Затем выполните следующую команду для проверки локальных каталогов, чтобы убедиться, что все пакеты синхронизированы локально.

Далее создайте новые реподанные для локальных репозиториев, выполнив следующие команды, где флаг -g используется для обновления информации о группе пакетов с помощью XML-файла.

Далее нам нужно создать серверный блок в NGINX, который будет отвечать на запросы пакетов и репозиториев.

Перезапустите сервер NGINX, чтобы применить изменения. Откройте браузер и перейдите на сайт http://[server_ip].

3. Создание задания Cron для синхронизации и создания репозиториев

Мы создадим задание cron, которое будет автоматически синхронизировать ваши локальные репозитории с официальными репозиториями CentOS, загружать последние обновления и патчи безопасности.

Добавьте следующие строки в вышеуказанный пустой файл скрипта.

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

Теперь этот скрипт будет автоматически выполняться ежедневно.

4. Установка локального репозитория Yum на клиенте

Вам необходимо выполнить следующие шаги на клиентской системе (не на сервере). Для этого добавьте локальный репозиторий в конфигурацию Yum.

Добавьте в него следующие строки. Замените часть, выделенную жирным шрифтом, на IP-адрес или доменное имя вашего сервера.

Сохраните изменения и выйдите из файла.

Выполните следующую команду для просмотра локальных репозиториев в списке доступных репозиториев на клиентских машинах.

ИЛИ

Вы увидите список доступных репозиториев в вашей системе.

Avatar for Gnostis
Gnostis
Добавить комментарий