Альтернативные варианты установки

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

Создание зеркала репозитория Docsvision

При необходимости можно выполнить установку системы в ОС Astra Linux с подключением к собственной копии репозитория Docsvision. Для этого выполните шаги, описанные в инструкции ниже.

  1. Установите пакет apt-mirror с помощью графического менеджера пакетов или командой:

    sudo apt-get install apt-mirror
  2. Выполните настройку пакета в конфигурационном файле /etc/apt/mirror.list. В этом файле указаны параметры, принятые по умолчанию, и пути к репозиториям. Файл создается автоматически, убедитесь, что содержимое соответствует примеру ниже.

    Добавьте в конфигурационный файл адреса репозиториев Docsvision в формате, подобном /etc/apt/sources.list:

    # sudo nano /etc/apt/mirror.list
    
    deb-all https://packages.docsvision.com/astra 1.7_x86-64 6.1
    deb-amd64 https://packages.docsvision.com/astra 1.7_x86-64 6.1
    Пример содержимого файла:
    ############# config ##################
    #
    # set base_path    /var/spool/apt-mirror (1)
    #
    # set mirror_path  $base_path/mirror
    # set skel_path    $base_path/skel
    # set var_path     $base_path/var
    # set cleanscript $var_path/clean.sh
    # set defaultarch  <running host architecture>
    # set postmirror_script $var_path/postmirror.sh
    # set run_postmirror 0
    set nthreads     20
    set _tilde 0
    #
    ############# end config ##############
    
    deb-all https://packages.docsvision.com/astra 1.7_x86-64 6.1
    deb-amd64 https://packages.docsvision.com/astra 1.7_x86-64 6.1
    
    clean https://packages.docsvision.com/astra
    1 Копии репозиториев будут загружаться в каталог /var/spool/apt-mirror. Чтобы изменить каталог для сохранения копий репозиториев, раскомментируйте параметр set base_path и укажите нужный каталог.
  3. Создайте зеркало репозитория. Создание и обновление копий рекомендуется выполнять от имени служебного пользователя apt-mirror. Этому пользователю должна быть разрешена запись в каталог для сохранения репозиториев.

    Создать каталог можно командой ниже. Для примера использовано принятое по умолчанию имя каталога для сохранения /var/spool/apt-mirror:

    sudo mkdir -p /var/spool/apt-mirror/{mirror,skel,var}
  4. После создания каталог нужно передать служебному пользователю apt-mirror, назначив права доступа командой:

    sudo chown -R apt-mirror:apt-mirror /var/spool/apt-mirror
  5. Создайте скрипт postmirror для автоматической загрузки ключа проверки подлинности репозитория командой ниже:

    echo 'find packages.docsvision.com -mindepth 1 -maxdepth 1 -exec curl -fsSLo {}/gpg https://{}/gpg \;' | sudo -u apt-mirror tee -a /var/spool/apt-mirror/var/postmirror.sh > /dev/null
  6. После настройки и создания каталога, создание зеркала репозиториев можно выполнить командой:

    sudo -u apt-mirror apt-mirror
  7. Настройте регулярное обновление репозитория (опционально).

    При установке пакета apt-mirror создается шаблон службы cron для ежедневного автоматического обновления репозиториев. Чтобы включить автоматическое обновление, раскомментируйте последнюю строку в файле /etc/cron.d/apt-mirror:

    #
    # Regular cron jobs for the apt-mirror package
    #
    0 4    * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
  8. После завершения установки локальные копии всех репозиториев, указанных в mirror.list, будут сохранены в подкаталогах mirror_path, а имя подкаталога будет соответствовать имени репозитория. Так копия интернет-репозитория Docsvision, приведенная в примере выше, будет сохранена как mirror/packages.docsvision.com.
    С учетом принятого по умолчанию имени каталога для сохранения полный путь к каталогу репозитория будет /var/spool/apt-mirror/mirror/packages.docsvision.com, и именно этот каталог нужно будет подключать как репозиторий пакетов к другим системам.

  9. Полученный каталог можно передать на другую машину, указав в sources.list локальный путь до него:

    deb file:/var/spool/apt-mirror/mirror/packages.docsvision.com/astra 1.7_x86-64 6.1
  10. В качестве альтернативы предыдущему пункту можно настроить HTTP-сервер для раздачи содержимого репозитория. Тогда потребуется указать адрес сервера в sources.list:

    deb http://apt.domain.com/astra 1.7_x86-64 6.1
    1. После добавления адреса HTTP-сервера в /etc/apt/sources.list выполните шаги в инструкции "Предварительная настройка сервера Linux", но в качестве источника вместо официального репозитория Docsvision укажите адрес развернутого http-сервера.

Настройка HTTP-сервера (опционально)

В данном разделе инструкции описываются шаги по настройке HTTP-сервера Apache2, входящего в базовый репозиторий Astra Linux. При необходимости можно использовать любой другой сервер. Данный раздел инструкции является опциональным (необязательным).

Инструкция применима только к "чистому" свежеустановленному серверу Apache2. Чтобы применить инструкцию к настроенному серверу, обратитесь к администратору этого сервера.

  1. Установите пакет apache2 можно с помощью графического менеджера пакетов или следующей командой:

    sudo apt-get install apache2

    При установке пакета apache2, по пути /etc/apache2/sites-available/000-default.conf, создается конфигурация сайта со страницей приветствия. Можно использовать уже существующую конфигурацию или создать новую. Во втором случае необходимо удалить символьную ссылку на 000-default.conf в sites-enabled.

    Пример содержимого файла:
    <VirtualHost *:80>
    	# https://wiki.astralinux.ru/pages/viewpage.action?pageId=238749508
    	# Допустимость использования ОС с такими настройками определяется действующей политикой безопасности на объекте.
    	AstraMode off
    
    	DocumentRoot /var/spool/apt-mirror/mirror/packages.docsvision.com
    
    
    	<Directory /var/spool/apt-mirror/mirror/packages.docsvision.com>
    		# Можно пропустить, если не нужен листинг файлов репозитория.
    		Options Indexes
    		Require all granted
    	</Directory>
    </VirtualHost>

    Если конфигурация по умолчанию была изменена, необходимо создать символьную ссылку на новую в sites-enabled:

    sudo ln -s ../sites-available/001-apt-mirror.conf /etc/apache2/sites-enabled/001-apt-mirror.conf
  2. Выполните перезагрузку конфигурации командой:

    sudo systemctl reload apache2

Создание простого репозитория (опционально)

Если создание зеркала репозитория Docsvision не подходит, по запросу может быть предоставлен пример создания собственного репозитория. Пример выдается по запросу в отдел технической поддержки.

  1. Установите пакеты командой:

    sudo apt-get install apt-utils gnupg zip unzip
  2. Распакуйте архив с примером и выдайте права на запуск:

    unzip simplerepo.zip (1)
    chmod +x simplerepo.sh
    1 Архив, предоставляемый по запросу в отдел технической поддержки.
  3. Сгенерируйте GPG-ключ для подписания репозитория:

    gpg --full-generate-key

    Не изменяйте тип ключа по умолчанию (DSA и RSA). При успешном исходе результат окажется примерно следующий:

    pub   rsa3072 2023-09-18 [SC]
          878E959495162BDBE57FA37A32F2FB68D7C54F5C
    uid                      Test Test
    sub   rsa3072 2023-09-18 [E]
  4. Измените simplerepo.sh, в переменной gpg_fingerprint укажите отпечаток ключа, полученный на предыдущем шаге (в примере — это 878E959495162BDBE57FA37A32F2FB68D7C54F5C). В переменной gpg_passphrase укажите путь до текстового файла (файл необходимо создать), содержащего passphrase, заданный при создании ключа.

  5. Переместите архивы с пакетами в каталог pending и создайте репозиторий следующей командой:

    ./simplerepo.sh
    • Пакеты хранятся в wwwroot/pool/<component>, их можно перемещать между компонентами вручную.

    • По умолчанию пакеты из архива попадают в компонент unstable. После тестирования их можно переместить в stable.

    • После перемещения пакетов в другой компонент необходимо запустить скрипт повторно.

  6. Настройте HTTP-сервер и укажите репозиторий при установке.