Доброго всем здравия! В данной статье рассмотрим создание локального файлового репозитория для определенного приложения на RED OS 7.3.
Передо мной стояла задача установить систему мониторинга Zabbix на сервер под управлением RED OS 7.3 (далее целевой сервер), при этом целевой сервер нельзя подключить к интернету из-за технических ограничений и соображений безопасности со стороны Заказчика.
В моем распоряжении был личный ноутбук (далее ноутбук) с выходом в интернет по 4G-модему с установленным Oracle VM VirtualBox, на котором была поднята RED OS 7.3 скачанной >> отсюда .
В Базе знаний RED OS в статье 3.4.2 Создание локального репозитория описан механизм для создания локального сетевого репозитория, при этом нужно скачать весь репозиторий RED OS, а это по моим подсчетам около 150 ГБайт (не точно но много, это точно), настроить web-сервер репозитория и отдать на целевой сервер. Ресурсов и времени у меня на это не было, поэтому я озадачился, как эту проблему упростить и решить в гораздо меньшие сроки.
Механизм поиска решения задачи я описывать не буду (у меня это заняло около 5 часов проб и ошибок), поэтому представлю вам сразу рабочий вариант решения.
Так как на целевом сервере используется сертифицированная RED OS 7.3, то и пакеты программ мы должны получить из сертифицированного репозитория.
(далее все команды выполняются от пользователя с правам root)
На ноутбуке:
Меняем источники репозиториев:
nano /etc/yum.repos.d/RedOS-Base.repo
в строке baseurl меняем все 7.3 на 7.3c
тоже самое делаем и тут
nano /etc/yum.repos.d/RedOS-Updates.repo
Далее создадим папку хранения репозитория
mkdir /opt/reposzab
Для установки Zabbix-сервера, как указано в базе знаний 3.7.1.2 Настройка сервера на mysql и zabbix 6.2 нам потребуются следующие пакеты программ:
- httpd
- zabbix-apache-conf
- zabbix-sql-scripts
- mariadb
- mariadb-server
- zabbix-server-mysql
- zabbix-agent
Скачаем эти пакеты со всеми зависимостями в наш репозиторий
dnf download --resolve httpd zabbix-apache-conf zabbix-sql-scripts mariadb mariadb-server zabbix-server-mysql zabbix-agent --downloaddir /opt/reposzab
Забегаю вперед, хочу отметить, что в дальнейшем, при установке MariаDB на целевом сервере был необходим пакет mysql-selinux. Поэтому добавляем и этот пакет в репозиторий.
dnf download --resolve mysql-selinux --downloaddir /opt/reposzab
Для создания локального репозитория нам необходимы некоторые утилиты. Установим их
dnf install createrepo yum-utils
При сборке репозитория потребуется файл comps.xml
Не буду объяснять его назначение и чтобы не выдумывать его самому мы просто сделаем его из репозитория RED OS
создадим временный каталог и перейдем в него
mkdir /opt/temprepo
cd /opt/temprepo
Выполним следущее
reposync --repoid=base --downloadcomps
После того как на экране вы увидите: comps.xml для репозитория base сохранен
Прервите выполнение дальних действий Ctrl+C.
Далее скопируй файл comps.xml в наш репозиторий
cp /opt/temprepo/base/comps.xml /opt/reposzab
Далее создадим наш репозиторий
createrepo -v /opt/reposzab/ -g comps.xml
Перенесем любым доступным способом всю папку /opt/reposzab с ноутбука на целевой сервер.
На целевом сервере:
Меняем источники репозиториев:
в файле
nano /etc/yum.repos.d/RedOS-Base.repo
имеющуюся строку baseurl закоментируем символом # вначале сторки
напишем свою:
baseurl=file:///opt/reposzab/
в файле
nano /etc/yum.repos.d/RedOS-Updates.repo
меняем на enabled=0
Далее устанавливаем Zabbix согласно Базы знаний RED OS 3.7.1.2 Настройка сервера на mysql и zabbix 6.2
Подобным образом можно достаточно быстро установить любые другие программы на RED OS сервера без интернета.
Буду рад, если моя статья помогла вам в решении ваших задач.