Создание репозиториев в закрытом сегменте#

Создание локальной копии базового и расширенного репозиториев с помощью apt-mirror на компьютере с доступом в интернет#

Процесс создания локальной копии репозиториев описан в статье Создание локальных и сетевых репозиториев

Для создания архива репозиториев требуется:

  1. Произвести установку пакета apt-mirror:

sudo apt install apt-mirror
  1. При установке пакета автоматически будет создан конфигурационный файл /etc/apt/mirror.list. Пример содержимого файла:

############# config ##################
#
# set base_path    /var/spool/apt-mirror
#
# 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 ##############
  1. В данном файле необходимо указать ссылки на базовый и расширенный сетевые репозитории:

############# config ##################
#
# set base_path    /var/spool/apt-mirror
#
# 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 https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64  main contrib non-free
clean https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/
  1. По умолчанию копии репозиториев сохраняются в каталоге /var/spool/apt-mirror, при необходимости изменить каталог см. статью Создание локальных и сетевых репозиториев

  2. Выполнить команду формирования копии репозитория:

sudo -u apt-mirror apt-mirror
  1. После формирования копии репозитория следует сформировать архив этой копии для последующего переноса и использования в закрытом сегменте. Для этого следует выполнить команду:

tar czf ~/extended.tgz -C /var/spool/apt-mirror/mirror/dl.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ .

Архив репозитория будет сформирован в домашнем каталоге текущего пользователя.

Создание локальной копии расширенного репозиториев с помощью архива на компьютере без доступа в интернет#

  1. Создать каталог для хранения расширенного репозитория:

sudo mkdir -p /opt/repo/repository-extended
  1. Извлечь архив с расширенным репозиторием:

sudo tar xvf <имя архива с расширенным репозиторием>.tgz -C /opt/repo/repository-extended
  1. Внести информацию о репозиториях в конфигурационный файл /etc/apt/sources.list:

#Расширенный репозиторий
deb file:///opt/repo/repository-extended/ 1.8_x86-64 contrib main non-free
  1. Выполнить обновление пакетной базы данных:

sudo apt update

Распространение копии репозиториев внутри закрытого контура#

Распространение локальной копии репозитория возможно по протоколам http и ftp.

Распространение пакетов по протоколу HTTP#

Важно

Данная часть инструкции применима только к «чистому» свежеустановленному серверу Apache2. Для применения инструкции к настроенному серверу следует обратиться к администратору этого сервера.

Для применения данной инструкции на ОС Astra Linux Special Edition 1.8 в файле настроек /etc/apache2/apache2.conf следует указать параметр AstraMode off и перезапустить сервис Apache2. Допустимость использования ОС с такими настройками определяется действующей политикой безопасности на объекте.

Установить web-сервер:

sudo apt install apache2

Создать символьную ссылку на репозиторий в корневом каталоге веб-сервера:

sudo ln -s /opt/repo /var/www/html/

В /etc/apache2/sites-enabled/000-default.conf после строки DocumentRoot /var/www/html добавить:

<Directory /var/www/html/repo>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order Deny,Allow
    Require all granted
</Directory>

Перезапустить веб-сервер:

sudo systemctl restart apache2

Для использования локальной копии репозиториев на удаленных клиентах внутри закрытого сегмента, подключение репозиториев следует осуществлять, указав в файле /etc/apt/sources.list в качестве источника:

deb http://SERVER_IP/repo/repository-extended/ 1.8_x86-64 main contrib non-free

Распространение пакетов по протоколу FTP#

Установить ftp-сервер:

sudo apt install vsftpd

Внести изменения в конфигурационный файл /etc/vsftpd.conf, указав следующие значения:

listen=YES
listen_ipv6=NO
anonymous_enable=YES
local_enable=NO
anon_root=/opt/repo
no_anon_password=YES
hide_ids=YES

Перезапустить ftp-сервер:

sudo systemctl restart vsftpd

Для использования локальной копии репозиториев на удаленных клиентах внутри закрытого сегмента, подключение репозиториев следует осуществлять, указав в файле /etc/apt/sources.list в качестве источника:

deb ftp://SERVER_IP/repository-extended/ 1.8_x86-64 main contrib non-free