Содержание

Skip to end of metadata
Go to start of metadata

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2

  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)

  • Astra Linux Common Edition 2.12

Исходные данные

Сервер Astra Linux  с настроенным сетевым интерфейсом, имеющим IP-адрес 192.168.56.1.

Структура каталогов репозитория, используемая далее в статье:

  • каталог /srv/repo/smolensk/main - репозиторий основного диска;
  • каталог /srv/repo/smolensk/devel - репозиторий диска со средствами разработки;
  • каталог /srv/repo/smolensk/update - репозиторий диска обновления основного диска;
  • каталог /srv/repo/smolensk/update-dev - репозиторий диска обновления диска со средствами разработки;

Astra Linux SE Создание репозитория из ISO-образов установочных дисков

Создать каталог для размещения репозитория:

sudo mkdir -p /srv/repo/smolensk/main

Примонтировать образ установочного диска (если на компьютере нет каталога /media/cdrom - то создать каталог /media/cdrom):

[ -d /media/cdrom ] || sudo mkdir /media/cdrom
sudo mount /путь_к_ISO-образу /media/cdrom
Скопировать файлы из образа в каталог репозитория:
sudo cp -a /media/cdrom/* /srv/repo/smolensk/main

Отмонтировать ISO-образ диска:

sudo umount /media/cdrom
Если есть ISO-образы диска со средствами разработки, то выполнить для него аналогичные действия :
sudo mkdir -p /srv/repo/smolensk/devel
[ -d /media/cdrom ] || sudo mkdir /media/cdrom
sudo mount /путь_к_ISO-образу /media/cdrom
sudo cp -a /media/cdrom/* /srv/repo/smolensk/devel
sudo umount /media/cdrom
Для ISO-образов дисков с обновлением:
sudo mkdir -p /srv/repo/smolensk/update
[ -d /media/cdrom ] || sudo mkdir /media/cdrom
sudo mount /путь_к_ISO-образу /media/cdrom
sudo cp -a /media/cdrom/* /srv/repo/smolensk/update
sudo umount /media/cdrom
Для ISO-образа диска с обновлением средств разработки:
sudo mkdir -p /srv/repo/smolensk/update-dev
[ -d /media/cdrom ] || sudo mkdir /media/cdrom
sudo mount /путь_к_ISO-образу /media/cdrom
sudo cp -a /media/cdrom/* /srv/repo/smolensk/update-dev
sudo umount /media/cdrom

Astra Linux CE

Если создаем репозиторий для Astra Linux Common Edition, то можно поступить двумя способами:

  1. Либо скопировать репозиторий с диска:

    sudo mkdir -p /srv/repo/orel
    [ -d /media/cdrom ] || sudo mkdir /media/cdrom
    sudo mount -/путь_к_исо /media/cdrom
    sudo cp -a /media/cdrom/* /srv/repo/orel
    sudo umount /media/cdrom

  2. Либо загрузить полный репозиторий из сети:

    sudo mkdir -p /srv/repo/orel
    sudo rsync --delete -aqLz dl.astralinux.ru::astra/astra/stable/2.12_x86-64/repository/ /srv/repo/orel
    где "::astra" - указание наименования модуля rsync, а /astra/stable/2.12_x86-64/repository - загружаемый каталог репозитория. Можно также использовать альтернативный формат указания модуля rsync как корневого каталога:
    sudo rsync --delete -aqLz rsync://dl.astralinux.ru/astra/astra/stable/2.12_x86-64/repository /srv/repo/orel

    Для вывода подробной информации о ходе загрузки можно использовать опции --progress --stats:

    sudo rsync --progress --stats --delete -avLz rsync://dl.astralinux.ru/astra/astra/stable/2.12_x86-64/repository /srv/repo/orel

    Подробную информацию по опциям команды rsync см. man rsync.

    Для web-браузеров ссылка отличается: https://dl.astralinux.ru/astra/stable/2.12_x86-64/repository/

Организация распространения пакетов

Отдавать пакеты можно как по протоколу ftp, так и по http.

Если на сервере, на котором размещён репозиторий, используется межсетевой экран, то для раздачи пакетов должны быть открыты следующие порты:

  • Для протокола FTP:
    • Порт 21/TCP для команд;
    • Порт 20/TCP для данных;
    • Порты 49152-65534/TCP динамически;
  • Для протокола HTTP:
    • Порт 80/TCP;
  • Для протокола HTTPS:
    • Порт 443/TCP;
  • Для протокола rsync:
    • Порт 873/TCP;

FTP репозиторий

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

sudo apt install vsftpd
В конфигурационный файл /etc/vsftpd.conf внести следующие данные:

listen=yes
listen_ipv6=no

# Анонимный доступ разрешен
anonymous_enable=YES
local_enable=no
anon_root=/srv/repo
no_anon_password=yes
hide_ids=yes

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

sudo systemctl restart vsftpd


HTTP репозиторий

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

Для применения данной инструкции на ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) в файле настроек /etc/apache2/apache2.conf следует указать параметр AstraMode off и перезапустить сервис  Apache2. Допустимость использования ОС с такими настройками определяется действующей политикой безопасности на объекте.

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

sudo apt install apache2
Создать символьную ссылку на репозиторий:
sudo ln -s /srv/repo /var/www/html/
В /etc/apache2/sites-enabled/000-default.conf после строки DocumentRoot /var/www/html добавить:

  1. Для apache2 версии 2.4:

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

  2. Для apache2 версии 2.2:

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

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

sudo systemctl restart apache2

Настройка источников пакетов (файл /etc/apt/sources.list и каталог /etc/apt/sources.list.d)

Источники пакетов могут быть указаны в файле /etc/apt/sources.list и в файлах, расположенных в каталоге /etc/apt/sources.list.d. Примеры содержимого файлов приведены ниже, имена файлов в каталоге /etc/apt/sources.list.d могут быть произвольными, но должны иметь "расширение" .list.

Локальные источники пакетов

Для Astra Linux SE:

# репозиторий основного диска
deb file:/srv/repo/smolensk/
main smolensk main contrib non-free
# репозиторий диска со средствами разработки
deb file:/srv/repo/smolensk/devel smolensk main contrib non-free
# репозиторий диска с обновлением основного диска
deb
file:/srv/repo/smolensk/update smolensk main contrib non-free
# репозиторий диска с обновлением диска со средствами разработки
deb
file:/srv/repo/smolensk/update-dev smolensk main contrib non-free

FTP

Для Astra Linux Common Edition:

deb ftp://192.168.56.1/orel/ orel main contrib non-free

Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6:

# репозиторий основного диска
deb ftp:
//192.168.56.1/smolensk/main smolensk main contrib non-free
# репозиторий диска со средствами разработки
deb ftp:
//192.168.56.1/smolensk/devel smolensk main contrib non-free
# репозиторий диска с обновлением основного диска
deb ftp://192.168.56.1/smolensk/update smolensk main contrib non-free
# репозиторий диска с обновлением диска со средствами разработки
deb ftp:
//192.168.56.1/smolensk/update-dev smolensk main contrib non-free

Для Astra Linux Special Edition  x.7 примеры указания репозиториев см. в статье Интернет-репозитории Astra Linux Special Edition x.7

HTTP

Для Astra Linux CE:

deb http://192.168.56.1/repo/orel orel main contrib non-free

Для Astra Linux SE:

# репозиторий основного диска
deb http:
//192.168.56.1/repo/smolensk/main smolensk main contrib non-free
# репозиторий диска со средствами разработки
deb http:
//192.168.56.1/repo/smolensk/devel smolensk main contrib non-free
# репозиторий диска с обновлением основного диска
deb http:
//192.168.56.1/repo/smolensk/update smolensk main contrib non-free
# репозиторий диска с обновлением диска со средствами разработки
deb http:
//192.168.56.1/repo/smolensk/update-dev smolensk main contrib non-free

Создание локальной копии репозитория с помощью apt-mirror

Инструмент командной строки apt-mirror позволяет создавать локальные копии сетевых репозиториев пакетов. Инструмент использует конфигурационный файл, подобный конфигурационному файлу apt /etc/apt/sources.list, поддерживает многопоточную загрузку, работу с разными архитектурами, обеспечивает удаление неиспользуемых файлов, позволяет работать с ненадежными и перегруженными линиями передачи данных.

Установка пакета apt-mirror

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

sudo apt install apt-mirror

Настройка пакета apt-mirror

При установке пакета автоматически создается конфигурационный файл /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 ##############

В большинстве случаев можно использовать указанные настройки, при этом копии репозиториев будут загружаться в каталог /var/spool/apt-mirror. Для того, чтобы изменить каталог, в который будут загружаться репозитории следует раскомментировать параметр set base_path и указать нужный каталог.

Репозитории для загрузки указываются в конфигурационном файле /etc/apt/mirror.list в формате, подобном /etc/apt/sources.list. Там же могут быть указаны параметры для очистки. Например, для основного репозитория Astra Linux Special Edition 1.7:

############# 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 ##############

# Стандартный интернет-репозиторий Astra Linux Special Edition 1.7
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64  main contrib non-free

# Репозиторий с авторизацией (admin:password) и нестандартным портом (8080)
deb https://admin:password@company.ru:8080/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64  main contrib non-free

# Удаление неиспользуемых файлов из репозитория (например, устаревших версий пакетов, отсутствующих в индексах)
clean https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/

# Пропуск указанных каталогов при очистке
skip-clean https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/installer-amd64/

Про использовании аппаратных платформ, отличных от x86-64, следует явно указывать используемую архитектуру. Например, для Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7):

deb [arch=arm64] https://dl.astralinux.ru/astra/stable/4.7_arm/repository-main/ 4.7_arm main contrib non-free
deb [arch=arm64] https://dl.astralinux.ru/astra/stable/4.7_arm/repository-update/ 4.7_arm main contrib non-free
deb [arch=arm64] https://dl.astralinux.ru/astra/stable/4.7_arm/repository-base/ 4.7_arm main contrib non-free

При установке пакета 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

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

Создание и обновление копий рекомендуется выполнять от имени служебного пользователя apt-mirror. Этому пользователю должна быть разрешена запись в каталог, в который будет выполняться сохранение репозиториев. Создать каталог можно командой:

sudo mkdir /var/spool/apt-mirror
Для примера использовано принятое по умолчанию имя каталога для сохранения /var/spool/apt-mirror.
После создания каталога его нужно передать служебному пользователю apt-mirror (назначить права доступа):
sudo chown apt-mirror:apt-mirror /var/spool/apt-mirror
После настройки конфигурации и каталога создание копий репозиториев можно выполнить командой:
sudo -u apt-mirror apt-mirror

Использование копии репозитория

После завершения копирования локальные копии всех репозиториев, указанных в mirror.list, будут сохранены в подкаталогах каталога mirror каталога для сохранения, а имя подкаталога будет соответствовать имени репозитория. Так копия интернет-репозитория Astra Linux Special Edition 1.7, приведенная в примере выше, будет сохранена как mirror/dl.astralinux.ru. С учетом принятого по умолчанию имени каталога для сохранения полный путь к каталогу репозитория будет /var/spool/apt-mirror/mirror/dl.astralinux.ru, и именно этот каталог нужно будет подключать как репозиторий пакетов к другим системам.

  • No labels