Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition
  • ОС СН Смоленск 1.6
  • ОС СН Ленинград 8.1
  • ОС ОН Орёл
    • 2.12


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

    Сервер Astra Linux  Для размещения и распространения репозиториев используется сервер Astra Linux с настроенным сетевым интерфейсом, имеющим статический IP-адрес 192.168.56.1 (см. Настройка сетевых подключений в Astra Linux).

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

    • каталог /srv/repo/alse/main - основной репозиторий для Astra Linux x.7 или репозиторий основного диска для более ранних обновлений;
    • каталог /srv/repo/alse/base - базовый репозиторий для Astra Linux x.7 или репозиторий диска со средствами разработки для более ранних обновлений;
    • каталог /srv/repo/alse/update-main - репозиторий обновления основного репозитория (основного диска);
    • каталог /srv/repo/alse/update-base - репозиторий обновления базового репозитория (диска со средствами разработки);

    Якорь
    repo-from-iso
    repo-from-iso
    Astra Linux

    SE Создание

    Special Edition: создание репозитория из ISO-образов установочных дисков

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

    Command

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

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

    Command

    [ -d /media/cdrom ] || sudo mkdir /media/cdrom
    sudo mount /путь_к_ISO-образу /media/cdrom

    Скопировать файлы из образа в каталог репозитория:

    Command

    sudo cp -a /media/cdrom/* /srv/repo/smolenskalse/main

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

    Command

    sudo umount /media/cdrom

    Если есть ISO-образы требуется, выполнить аналогичные действия для базового репозитория  (диска со средствами разработки, то выполнить для него аналогичные действия ):

    Command

    sudo mkdir -p /srv/repo/smolenskalse/develbase
    [ -d /media/cdrom ] || sudo mkdir /media/cdrom
    sudo mount /путь_к_ISO-образу /media/cdrom
    sudo cp -a /media/cdrom/* /srv/repo/smolenskalse/develbase
    sudo umount /media/cdrom

    Для ISO-образов дисков с обновлениемобновления основного репозитория (основного диска):

    Command

    sudo mkdir -p /srv/repo/smolenskalse/update-main
    [ -d /media/cdrom ] || sudo mkdir /media/cdrom
    sudo mount /путь_к_ISO-образу /media/cdrom
    sudo cp -a /media/cdrom/* /srv/repo/smolenskalse/update-main
    sudo umount /media/cdrom

    Для ISO-образа обновления базового репозитория (диска с обновлением средств разработки):

    Command

    sudo mkdir -p /srv/repo/smolenskalse/update-devbase
    [ -d /media/cdrom ] || sudo mkdir /media/cdrom
    sudo mount /путь_к_ISO-образу /media/cdrom
    sudo cp -a /media/cdrom/* /srv/repo/smolenskalse/update-devbase
    sudo umount /media/cdrom

    Astra Linux

    CE

    Common Edition: создание репозитория

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

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

      Command

      sudo mkdir -p /srv/repo/

    orel
    1. alce
      [ -d /media/cdrom ] || sudo mkdir /media/cdrom
      sudo mount

    -
    1. /путь_к_

    исо
    1. ISO-образу_диска /media/cdrom
      sudo cp -a /media/cdrom/* /srv/repo/

    orel
    1. alce
      sudo umount /media/cdrom


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

      Command

      sudo mkdir -p /srv/repo/

    orel
    1. alce
      sudo rsync --delete -aqLz dl.astralinux.ru::astra/astra/stable/2.12_x86-64/repository/ /srv/repo/alce

      где "::astra" - указание наименования модуля rsync, а /astra/stable/2.12_x86-64/repository - загружаемый каталог репозитория. Можно также использовать альтернативный формат указания модуля rsync как корневого каталога:

      Command
      sudo rsync --delete -
    aqz
    1. aqLz rsync://dl.astralinux.ru/astra/astra/stable/
    orel
    1. 2.12_x86-64/repository /srv/repo/alce

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

      Command

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

    /orel
    1. /alce

      Подробную информацию по опциям команды 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 серверслужбу FTP (подробнее см. Использование протокола FTP):

    Command

    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 с включенным МРД необходимо в файле настроек /etc/apache2/apache2.conf следует указать параметр AstraMode off и перезапустить сервис  Apache2.
    Допустимость использования ОС с такими настройками определяется действующей политикой безопасности на объекте.

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

    Command

    sudo apt install apache2

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

    Command

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

    В /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-сервер:

    Command

    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 Special Edition x.7:

    Информация

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

    Для Astra Linux Special Edition 1.6:

    Информация

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

    FTP

    Для Astra Linux CE "Орел"Common Edition:

    Информация

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

    Для Astra Linux

    SE "Смоленск":

    Special Edition РУСБ.10015-01 очередное обновление x.7:

    info
    Информация

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


    deb ftp://192.168.56.1/smolenskalse/update-main
     smolensk stable main contrib non-free
    #
    если скопированы диски разработчика и обновления:репозиторий диска с обновлением диска со средствами разработки
    deb ftp:
    //192.168.56.1/alse/update-base stable main contrib non-free

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

    Информация

    # репозиторий основного диска

    deb ftp://192.168.56.1/alse/main smolensk/devel smolensk main  main contrib non-free
    # репозиторий диска со средствами разработки
    deb ftp:
    //192.168.56.1/alse/base smolensk main contrib non-free
    # репозиторий диска с обновлением основного диска
    deb ftp://192.168.56.1/smolenskalse/update
     -main smolensk main contrib non-free
    # репозиторий диска с обновлением диска со средствами разработки
    deb ftp:
    //192.168.56.1/smolenskalse/update-dev base smolensk main  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 alce stable main contrib non-free

    Для Astra Linux SE "Смоленск"Special Edition x.7:

    Информация

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


    Для Astra Linux Special Edition 1.6:

    Информация

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


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

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

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

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

    Command
    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
    -dev smolensk main contrib
    / 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. Этому пользователю должна быть разрешена запись в каталог, в который будет выполняться сохранение репозиториев. Создать каталог можно командой:

    Command
    sudo mkdir /var/spool/apt-mirror

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

    Command
    sudo chown apt-mirror:apt-mirror /var/spool/apt-mirror

    После настройки конфигурации и каталога создание копий репозиториев можно выполнить командой:

    Command
    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, и именно этот каталог нужно будет подключать как репозиторий пакетов к другим системам.

    Кеширование репозиториев с помощью службы apt-cacher-ng

    Установка

    Информация
    Данных раздел применим к Astra Linux Special Edition x.7 с подключенным расширенным репозиторием  начиная с обновления БЮЛЛЕТЕНЬ № 2021-1126SE17 (оперативное обновление 1.7.1).

    Служба кеширования репозитория apt-cacher-ng представлена пакетом apt-cacher-ng. Пакет доступен в расширенном репозитории  начиная с обновления БЮЛЛЕТЕНЬ № 2021-1126SE17 (оперативное обновление 1.7.1) и может быть установлен с помощью Графический менеджер пакетов synaptic или командой:

    Command
    sudo apt install apt-cacher-ng

    После установки пакета служба запускается автоматически и готова к работе. Конфигурационные файлы службы находятся в каталоге /etc/apt-cacher-ng. Кеш находится в каталоге /var/cache/apt-cacher-ng.

    Служба использует порт 3142/tcp. При использовании межсетевого экрана следует разрешить доступ к этому порту. Например, для межсетевого экрана firewalld:

    Command
    firewall-cmd --permanent --zone public --add-port 3142/tcp

    При использовании системы виртуализации разрешить доступ для виртуальных машин, расположенных на хосте. Например, для системы виртуализации QEMU/KVM:

    Command
    firewall-cmd --permanent --zone libvirt --add-port 3142/tcp


    Настройка клиентов

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

    Для переключения клиентских машин на работу через прокси можно на этих машинах создать файл с соответствующим правилом в каталоге /etc/apt/. Например, файл /etc/apt/7proxy со следующим правилом:

    Блок кода
    Acquire::http::Proxy "http://<IP-адрес_кеширующего_сервера>:3142";

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

    Также можно определять порядок кеширования непосредственно в указаниях репозиториев, например:

    Блок кода
    deb http://<IP-адрес_кеширующего_сервера>/dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64  main contrib non-free

    или для использования протокола HTTPS:

    Блок кода
    deb http://<IP-адрес_кеширующего_сервера>/HTTPS///dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64  main contrib non-free