Оглавление |
---|
Информация |
---|
Данная статья применима к:
|
Предупреждение |
---|
Установка пакетов из сторонних репозиториев (включая репозиторий Debian) может привести к нарушению работы ОС, и делается на свой страх и риск. Техническая поддержка по вопросам, связанным с пакетами, установленными из сторонних репозиториев не оказывается. При установке пакетов из сторонних репозиториев необходимо соблюдать требования эксплуатационной документации, см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition |
Создание структуры репозитория
Установить пакет reprepro:
Command borderColor #c2e6ff bgColor #e2f3ff sudo apt install reprepro
Создать каталог для размещения репозитория:
Command borderColor #c2e6ff bgColor #e2f3ff sudo mkdir <путь_к_репозиторию>
Создать в каталоге репозитория подкаталог conf:
Command borderColor #c2e6ff bgColor #e2f3ff sudo mkdir <путь_к_репозиторию>/conf
Создать в подкаталоге conf файл distributions следующего содержания:
Блок кода icon false Origin: Debian Codename:
<кодовое_имя_дистрибутива> Suite:
<ветка_дистрибутива> Version:
<версия_дистрибутива> Architectures:
<поддерживаемые_архитектуры> Components: main contrib non-free UDebComponents: main SignWith: yes
где:
Codename: smolensk
- <кодовое_имя_дистрибутива>
— кодовое имя дистрибутива:
1.7_x86-64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7
;
4.7_
arm — для Astra Linux Special Edition РУСБ.10152-02 очередное обновление
4.7
;
1.6_x86-64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6
;
2.12_x86-64
— для Astra Linux Common Edition
.
<ветка_дистрибутива> —
Suite: stable
- ветка дистрибутива:
stable
current
unstable
Version: 1.6.0
- <версия_дистрибутива> — номер версии (можно использовать номер очередного обновления и актуально оперативного обновления, например 1.7.5);
Architectures:
<поддерживаемые_архитектуры> — архитектура дистрибутива:
i386 (в Astra Linux не используется);
amd64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6, 1.7;
arm64 armhf — для Astra Linux Special Edition РУСБ.10152-02 очередное обновление 4.7;
1.6_x86-64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6;
source — для репозиториев, содержащих исходные коды пакетов;
Components:
компоненты дистрибутива. Обычно это:main - свободно распространяемое ПО;
contrib - свободно распространяемое ПО с зависимостями от несвободного ПО;
non-free - несвободное ПО.
UDebComponents: main
- Udeb-пакеты;
Contents
: - файлы со списком содержимого каждого пакета;SignWith: yes
— подпись репозитория
. Эту строчку не нужно указывать, если не
планируется подписывать репозиторий ключом gnupg
.
Для очистки ранее сгенерированной базы данных репозитория можно использовать команду:
Command sudo reprepro -b <путь_к_репозиторию> clearvanished
Для инициализации нового репозитория выполнить команду:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro -b <путь_к_репозиторию> export
Наполнить репозиторий пакетами
:
Добавление бинарного deb пакета:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro -b <путь_к_репозиторию> includedeb <кодовое_имя_дистрибутива> <путь_к_пакету/имя_пакета>.deb
Добавление всех пакетов deb из каталога <путь_к_пакетам>:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro -b <путь_к_репозиторию> includedeb <кодовое_имя_дистрибутива> <путь_к_пакетам>/*.deb
Примечание icon false При появлении ошибки: No priority given for '<имя_пакета>', skipping выполнить добавление пакета с игнорированием приоритета с помощью опции -P:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro -P -V -b <путь_к_репозиторию> includedeb <кодовое_имя_дистрибутива> <путь_к_пакету/имя_пакета>.deb
Добавление бинарного udeb пакета:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro -b <путь_к_репозиторию> includeudeb <кодовое_имя_дистрибутива> <путь_к_пакету/имя_пакета>.udeb
Добавление пакета с исходным текстом:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro -b <путь_к_репозиторию> includedsc <кодовое_имя_дистрибутива> <путь_к_пакету/имя_пакета>.dsc
Удаление пакета:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro -b <путь_к_репозиторию> remove <кодовое_имя_дистрибутива> <имя_пакета_без_версии>
Использование неподписанного репозитория
Предупреждение |
---|
Использование неподписанных репозиториев по умолчанию запрещено. Рекомендуется использовать только подписанные репозитории. См. далее Подписание репозитория. |
Для того, чтобы разрешить использовать неподписанные репозитории следует в описание репозитория на компьютере, на котором выполняется установка, добавить переметр параметр [trusted=yes]. При этом строка описания репозитория будет выглядеть так:
Блок кода |
---|
deb [trusted=yes] https://download.astralinux.ru/astra/stable/2.12_x86-64/repository stable contrib main non-free |
Подробнее см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.
Якорь | ||||
---|---|---|---|---|
|
Для подписания репозитория:
Сгенерировать gpg-ключ (RSA или DSA):
Command borderColor #c2e6ff bgColor #e2f3ff gpg --gen-key
Команда генерации ключа запросит:
имя пользователя;
адрес e-main пользователя;
пароль;
- Ввести запрошенные данные и подтвердить создание ключа.
Убедиться, что в файле /<путь_к_репозиторию>/conf/distributions присутствует строка:
Блок кода icon false SignWith: yes
Выполнить команду:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro --ask-passphrase -b <путь_к_репозиторию/имя> export
параметр --ask-passphrase запрашивает пароль для gpg-ключа
.
Наполнить репозиторий добавляя пакеты, например:
Command borderColor #c2e6ff bgColor #e2f3ff sudo reprepro --ask-passphrase -b <путь_к_репозиторию/имя> includedeb <кодовое имя дистрибутива> <имя_пакета>.deb
Чтобы пользоваться подписанным репозиторием необходимо:
На компьютере где создавался репозиторий получить список ключей:
Command borderColor #c2e6ff bgColor #e2f3ff Title gpg --list-keys gpg: проверка таблицы доверия
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: глубина: 0 достоверных: 1 подписанных: 0 доверие: 0-, 0q, 0n, 0m, 0f, 1u
gpg: срок следующей проверки таблицы доверия 2024-02-10
/home/le/.gnupg/pubring.kbx
---------------------------
pub rsa3072 2022-02-10 [SC] [ годен до: 2024-02-10]
ECBD2F097D49CD738EB378201623A5978DBFC107
uid [ абсолютно ] support <support@astralinux.ru>
sub rsa3072 2022-02-10 [E] [ годен до: 2024-02-10]Выполнить экспорт ключа, используя адрес электронной почты:
Command borderColor #c2e6ff bgColor #e2f3ff sudo gpg --armor --output repo_gpg.key --export support@astralinux.ru
В результате будет получен файл repo_gpg.key в текущем каталоге, который необходимо скопировать на компьютер, где будет использоваться данный репозиторий, и добавить его в систему (для добавления ключа нужны привилегии суперпользовтаеля):
Command borderColor #c2e6ff bgColor #e2f3ff sudo apt-key add repo_gpg.key
Apache2 + reprepro
Для предоставления доступа к репозиторию с помощью web-службы apache2:
Установить пакет:
Command borderColor #c2e6ff bgColor #e2f3ff sudo apt
install apache2
Если репозиторий расположен вне каталога /var/www/html, например, в каталоге
/srv/repo
, то
cоздать символьную ссылку на репозиторий:
Command borderColor #c2e6ff bgColor #e2f3ff 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:
Command borderColor #c2e6ff bgColor #e2f3ff sudo systemctl restart apache2