Добавить в корзинуПозвонить
Найти в Дзене
trivolta

Пошаговая инструкция по созданию локального репозитория в Astra Linux

Сегодня создадим локальный репозиторий операционной системы Astra Linux. Astra Linux — отечественная операционная система, созданная с прицелом на полную независимость от зарубежных технологий. Её активно внедряют в государственных структурах, на предприятиях оборонного комплекса и в корпоративных инфраструктурах, системах мониторинга крупных ЦОД, там, где особенно важна защита данных и контроль над программной средой. Очень часто на таких объектах у серверов в локальной сети нет доступа к интернету, и установка даже самого простого пакета на астру может вызвать ряд сложностей. Так как же скачать необходимый пакет и все его зависимости в таком случае. Давайте разберём всё по порядку. Данная инструкция является универсальной и подходит для других типов линукса. Почему мы вообще используем утилиту apt-mirror, почему нельзя просто взять и скачать этот репозиторий как в windows, например единым файлом. Причина в структуре и механике Debian-подобных репозиториев, на которых базируется
Оглавление

Сегодня создадим локальный репозиторий операционной системы Astra Linux.

Astra Linux — отечественная операционная система, созданная с прицелом на полную независимость от зарубежных технологий. Её активно внедряют в государственных структурах, на предприятиях оборонного комплекса и в корпоративных инфраструктурах, системах мониторинга крупных ЦОД, там, где особенно важна защита данных и контроль над программной средой. Очень часто на таких объектах у серверов в локальной сети нет доступа к интернету, и установка даже самого простого пакета на астру может вызвать ряд сложностей.

Так как же скачать необходимый пакет и все его зависимости в таком случае. Давайте разберём всё по порядку. Данная инструкция является универсальной и подходит для других типов линукса.

Нам понадобится:

  • виртуальная машина с такой же версией линукса, развернутая например в среде Virtual Box;
  • переносной жесткий диск или флэшка;
  • и немного терпения. Полный репозиторий на момент написания статьи (окт.2025 г.) составляет порядка 40 гБ. Его скачивание займет определённое время.

План следующий:

  1. Устанавливаем и настраиваем утилиту apt-mirror для скачивания репозитория астры на виртуальной машине с доступом в интернет.
  2. Выкачиваем с машины, на которой есть доступ к интернету актуальный репозиторий астры с помощью утилиты apt-mirror на переносной диск.
  3. Копируем выкачанный репозиторий на наш локальный сервер.
  4. Меняем источники пакетов на сервере в astra linux, и обновляем списки пакетов.

Итак приступим.

Почему мы вообще используем утилиту apt-mirror, почему нельзя просто взять и скачать этот репозиторий как в windows, например единым файлом.

Причина в структуре и механике Debian-подобных репозиториев, на которых базируется Astra Linux.

Главные моменты:

Репозиторий — это не просто «папка с .deb-пакетами». Это связанная структура Packages/Sources, Release, InRelease, Release.gpg, индексы и метаданные, которые должны оставаться консистентными, т.е. целостными. Простое скачивание через wget -r или rsync отдельных файлов нарушает целостность.

В момент, когда мы «тянули бы напрямую», репозиторий может обновляться. Без атомарного зеркалирования мы получаем:

  • часть старых пакетов;
  • часть уже новых;
  • индексы, не соответствующие содержимому.

Это приводит к ошибкам Hash Sum mismatch, Failed to fetch, сломанным зависимостям. APT-клиенты требуют корректного зеркала с подписью Release. Без целостного зеркала они не будут доверять данным.

Apt-mirror решает это:

  • качает содержимое целостно и последовательно;
  • синхронизирует только различия (экономия трафика);
  • сохраняет структуру один-в-один, как на сервере Astra;
  • делает задержанную индексацию, пока mirror не догружен полностью;

То есть репозиторий можно скачать «напрямую» только если только мы вручную воспроизведём логику зеркалирования и атомарных обновлений. Аpt-mirror делает это автоматически.

Что ж, начнём:

Подключите ваш переносной диск к виртуальной машине и примонтируйте его. В моём случае точка монтирования моего диска /mnt . На диске созданы папки, структура папок: /mnt/disk/astra-mirror

Далее, устанавливаем утилиту apt-mirror:

sudo apt update
sudo apt install apt-mirror

Создаём конфигурационный файл /etc/apt/mirror.list с нужными ссылками на репозиторий:

sudo nano /etc/apt/mirror.list

Содержимое файла mirror.list следующее:

set base_path /mnt/disk/astra-mirror
set nthreads 20
set _tilde 0
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-update 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended 1.7_x86-64 astra-ce
clean https://dl.astralinux.ru/astra/stable/1.7_x86-64

В данном конфиге указано что качать и куда качать. Ссылки на репозиторий астры актуальны на окт.2025 г.

В вашем случае base_path может быть иной, но путь должен указывать на конкретную папку, в которую мы будем складывать файлы репозитория.

Всё, запускаем скачивание командой:

sudo apt-mirror

Файлы должны закачаться на диск, далее:

на оффлайн машине без интернета примонтировать переносной диск, например в /mnt/disk и изменить на ней источники sources.list:

sudo nano /etc/apt/sources.list

Содержимое файла sources.list:

deb [trusted=yes] file:/mnt/disk/astra-mirror/mirror/dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base 1.7_x86-64 main contrib non-free
deb [trusted=yes] file:/mnt/disk/astra-mirror/mirror/dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main 1.7_x86-64 main contrib non-free
deb [trusted=yes] file:/mnt/disk/astra-mirror/mirror/dl.astralinux.ru/astra/stable/1.7_x86-64/repository-update 1.7_x86-64 main contrib non-free
deb [trusted=yes] file:/mnt/disk/astra-mirror/mirror/dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended 1.7_x86-64 main contrib non-free
deb [trusted=yes] file:/mnt/disk/astra-mirror/mirror/dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended 1.7_x86-64 astra-ce

Далее, очистить очереди и обновить списки:

sudo rm -rf /var/lib/apt/lists/*
sudo apt update

Всё, можно устанавливать пакеты!

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