Перейти к основному содержимому

Создание локального репозитория Linux-пакетов

В случае необходимости использования собственных скриптов автоматизации, рекомендуется настроить локальный репозиторий с rpm/deb-пакетами дистрибутива продукта.

Создание локального репозитория вручную

В данном разделе представлена инструкция по созданию репозитория вручную. Выполните следующие шаги:

  1. Установите пакет createrepo:

    sudo dnf install createrepo
  2. Создайте директорию, где будут храниться rpm-пакеты:

    sudo mkdir -p /components_repo/local_repo/RPMS.local/
  3. Распакуйте архив 3rdparty.tar.gz в каталог 3rdparty:

    tar -xzf <path_distrib>/3rdparty/3rdparty.tar.gz -C <path_distrib>/3rdparty

    где path_distrib - полный путь до директории с распакованным дистрибутивом;

  4. Перенесите существующие в дистрибутиве rpm-пакеты:

    find <path_distrib> -name "*.rpm" -exec sudo cp {} /components_repo/local_repo/RPMS.local/ \;

    где path_distrib - полный путь до директории с распакованным дистрибутивом;

  5. Проинициализируйте репозиторий:

    sudo createrepo /components_repo/local_repo/RPMS.local/
  6. Создайте файл local_repo.repo в директории /etc/yum.repos.d/local_repo.repo, с содержимым:

    [local_repo]
    name=local_repo
    baseurl=file:///components_repo/local_repo/RPMS.local/
    gpgcheck=0
    enabled=1

Создание локального репоизтория с помощью Ansible-плейбука

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

Сведения

При переходе к данному разделу предполагается, что пройдены следующие шаги:

  1. Распаковка дистрибутива новой версии СУБД Pangolin;
  2. Подготовка виртуального окружения;
  3. Установлены все необходимые для корректной работы Ansible-скриптов пакеты.

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

  1. Перейдите в каталог с распакованным дистрибутивом, а затем в каталог installer:

    cd <path_to_distrib>/installer

    где path_to_distrib - полный путь до распакованного дистрибутива.

  2. Заполните inventory-файл в зависимости от конфигурации СУБД, для которой планируется создание локального репозитория.

    Файл host.ini заполняется в соответствии с шаблоном:

    • для standalone находится по пути: inventories/standalone/hosts.ini;
    • для cluster находится по пути: inventories/cluster/hosts.ini.

    За более подробной информацией по корректному заполнению inventory-файла необходимо обратиться к разделу «Заполнение inventory-файлов» секции «Сценарий установки при помощи запуска Ansible плейбука».

  3. Запустите Ansible плейбук установки локального репозитория следующей командой:

    ansible-playbook -i <path_to_inventory_file> <path_to_installer>/playbook_create_pangolin_local_repo.yaml \
    --extra-vars \
    'custom_config=<path_to_installer>/templates/custom_config_sample.yml \
    local_distr_path=<path_to_distrib>'

    Значения используемых в команде запуска сценария ключей:

    • -i — путь к inventory-файлу;
    • --extra-vars — переменные, которые по приоритету важнее переменных из inventory.

    Параметры для самостоятельного заполнения:

    • path_to_inventory_file - полный путь до inventory-файла;
    • path_to_installer - полный путь до каталога installer;
    • path_to_distrib - полный путь до дистрибутива.
    Подсказка

    Пример заполненной команды:

    ansible-playbook -i inventories/standalone/hosts.ini playbook_create_pangolin_local_repo.yaml \
    --extra-vars \
    'custom_config=/home/user/distributive/installer/templates/custom_config_sample.yml \
    local_distr_path=/home/user/distributive'