Репозитории Linux — одна из самых полезных функций дистрибутива Linux. Они содержат базу данных пакетов и программного обеспечения для конкретного дистрибутива или его дочерних компонентов.
Yum — один из таких репозиториев. Это базовый репозиторий для пакетов RPM, используемых в дистрибутивах RedHat и RedHat. RPM прост в настройке и использовании, что позволяет пользователям легко и быстро устанавливать пакеты программного обеспечения в свои системы.
Пакеты Yum могут размещаться на сервере и обслуживаться удаленно через HTTP, HTTPS и FTP или локальную установку репозитория. Локальная установка предполагает загрузку пакетов и сохранение их на локальном диске.
Цель этого руководства — научить вас создавать локально размещенный репозиторий Yum на CentOS.
Предпосылки
Чтобы следовать руководству, вам необходимо выполнить следующие требования:
Дистрибутив REHL или CentOS; Пользователь root или пользователь в группе sudo; Доступ к Интернету; Менеджер пакетов Yum установлен и обновлен.
Шаг 1. Установите веб-сервер
Обычно пакеты yum обслуживаются по протоколу HTTP / HTTPS или FTP. Однако, поскольку мы не можем использовать и то, и другое, я выбираю веб-сервер, поскольку, на мой взгляд, это более простой вариант для установки и настройки.
Мы будем использовать Apache. Используйте команду ниже, чтобы установить и запустить сервер.
$ sudo yum install httpd
Стоит отметить, что для локального репозитория вы можете использовать FTP или HTTP / HTTPS. Вы также можете использовать другие веб-серверы, такие как Nginx.
$ sudo systemctl start httpd
$ sudo systemctl enable httpd
$ sudo systemctl status httpd
После того, как Apache установлен и успешно запущен, мы можем приступить к настройке локального репозитория.
Шаг 2: Установите необходимые пакеты
На втором этапе нам нужно установить пакеты и инструменты, которые помогут в создании, настройке и управлении локальным репозиторием.
Инструменты, которые нам нужны, — это пакет createrepo, который объединяет файлы.rpm вместе в репозиторий repomd и yum-utils для управления репозиторием. Вы можете установить пакеты с помощью команды:
$ sudo yum install createrepo yum-utils
Шаг 3: Создайте каталоги репозитория
Третий шаг — создать необходимые каталоги для настройки репозиториев. Поскольку мы используем веб-сервер, их создание в каталоге / var / www / html имеет смысл.
Нам требуются следующие каталоги:
- Baseos
- Extras
- Appstream
- Epel
Используйте команду show ниже, чтобы настроить каталоги.
$ sudo mkdir /var/www/html/{baseos,extras,appstream,epel}
ПРИМЕЧАНИЕ. В зависимости от различных факторов создание каталогов может не потребоваться. Однако на всякий случай создайте их заранее и удалите в случае возникновения ошибки.
Шаг 4. Синхронизация репозиториев Yum
На этом шаге мы синхронизируем репозитории с каталогами, которые мы создали на предыдущем шаге. Мы собираемся использовать инструмент reposync как:
$ sudo yum reposync -p=/var/www/html —repoid=baseos —download-metadata
$ sudo yum reposync -p=/var/www/html —repoid=extras —download-metadata
$ sudo yum reposync -p=/var/www/html —repoid=appstream —download-metadata
$ sudo yum reposync -p=/var/www/html —repoid=epel —download-metadata
Шаг 5: Создайте новый репозиторий
Последний шаг — создать репозиторий с помощью инструмента createrepo. Команда для этого:
$ sudo createrepo /var/www/html/
Это запустит создание репо и вывод, как показано ниже:
Directory walk started
Directory walk done — 2817 packages
Temporary output repo path: /var/www/html/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished
Шаг 6: Настройте локальное репо на клиентском компьютере
Последний шаг — сообщить клиентским машинам о локальном репозитории и ссылке для их загрузки.
Введите команду как:
$ sudo nano /etc/yum.repos.d/local.repo
Внутри файла добавьте следующие записи.
local-base]
name=Yum Local Base
baseurl=http://192.168.0.20:80/base
enabled=1
gpgcheck=0[local-extras]
name=Yum Local Extras
baseurl=http://192.168.0.20:80/extras
enabled=1
gpgcheck=0[local-appstream]
name=Yum Local Appstream
baseurl=http://192.168.0.20:80/appstream
enabled=1
gpgcheck=0[local-epel]
name=Yum Local Epel
baseurl=http://192.168.0.20:80/epel
enabled=1
gpgcheck=0
Шаг 7: Подтвердите реполист
Чтобы проверить, доступен ли реполист, используйте команду:
$ sudo yum repolist
Заключение
Это все для этой статьи. В руководстве мы говорили о том, как настроить локальный репозиторий Yum на базе CentOS. Надеюсь, это руководство принесло вам пользу и помогло решить проблему.