Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.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
Создание репозитория
Установить пакет reprepro:
sudo apt install reprepro
sudo mkdir <путь_к_репозиторию>
Создать в каталоге репозитория подкаталог conf:
sudo mkdir <путь_к_репозиторию>/conf
Создать в подкаталоге conf файл distributions следующего содержания:
Origin: Debian Codename: smolensk Suite: stable Version: 1.6.0 Architectures: amd64 Components: main contrib non-free UDebComponents: main
где:
Codename: smolensk
- кодовое имя дистрибутива:- Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7 - 1.7_x86-64;
- Для Astra Linux Special Edition РУСБ.10152-02 очередное обновление 1.7 - 4.7_arm64;
- Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 - smolensk;
- Для Astra Linux Common Edition - orel.
Suite: stable
- ветка дистрибутива:- stable
- current
- unstable
Version: 1.6.0
- номер версии (можно использовать номер очередного обновления и актуально оперативного обновления);Architectures:
архитектура дистрибутива:- i386 (в Astra Linux не используется);
- amd64;
- source (если репозиторий будет содержать исходный код пакетов);
Components:
компоненты дистрибутива:- main - свободно распространяемое ПО
- contrib - свободно распространяемое ПО с зависимостями от несвободного ПО
- non-free - несвободное ПО
UDebComponents: main
- Udeb-пакетыContents
: - файлы со списком содержимого каждого пакетаSignWith: yes
- подпись репозитория (можно не указывать, если не планируете подписывать репозиторий ключом gnupg)
Для очистки ранее сгенерированной базы данных репозитория можно использовать команду:
sudo reprepro -b <путь_к_репозиторию> export
Добавление бинарного deb пакета:
sudo reprepro -b <путь_к_репозиторию> includedeb <кодовое_имя_дистрибутива> <путь_к_пакету/имя_пакета>.deb
sudo reprepro -b <путь_к_репозиторию> includedeb <кодовое_имя_дистрибутива> <путь_к_пакетам>/*.deb
Добавление бинарного udeb пакета:
sudo reprepro -b <путь_к_репозиторию> includeudeb <кодовое_имя_дистрибутива> <путь_к_пакету/имя_пакета>.udeb
sudo reprepro -b <путь_к_репозиторию> includedsc <кодовое_имя_дистрибутива> <путь_к_пакету/имя_пакета>.dsc
sudo reprepro -b <путь_к_репозиторию> remove <кодовое_имя_дистрибутива> <имя_пакета_без_версии>
Подписание репозитория
Сгенерировать gpg-ключ (RSA или DSA):
sudo gpg --gen-key
SignWith: yes
Далее выполнить:
sudo reprepro --ask-passphrase -b <путь_к_репозиторию/имя> export (параметр --ask-passphrase запрашивает пароль для gpg-ключа)
sudo reprepro --ask-passphrase -b <путь_к_репозиторию/имя> includedeb <кодовое имя дистрибутива> <имя_пакета>.deb
На компьютере где создавался репозиторий выполнить:
sudo gpg --list-keys
Далее выполнить:
sudo gpg --armor --output repo_gpg.key --export 2578DA4E
sudo apt-key add repo_gpg.key
Apache2 + reprepro
Установить пакет:
sudo apt install apache2
Если репозиторий расположен по другому пути, например, /srv/repo
, то при необходимости создать симлинк с репозиторием:
sudo ln -s /srv/repo /var/www/html/repo
В /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 Allow from all </Directory>
Перезапустить Apache2:
sudo systemctl restart apache2