| Оглавление |
|---|
| Информация |
|---|
Данная статья применима к:
|
| Предупреждение |
|---|
Установка пакетов из сторонних репозиториев (включая репозиторий 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
...
следующего содержания:
| Command | ||||
|---|---|---|---|---|
| ||||
|
...
Блок кода icon false Origin: Debian
...
Codename:
...
<кодовое_имя_дистрибутива> Suite: <ветка_дистрибутива> Version: <версия_дистрибутива> Architectures: <поддерживаемые_архитектуры> Components: main contrib non-free UDebComponents: main SignWith: yesгде:
<кодовое_имя_дистрибутива>— кодовое имя дистрибутива:- 1.8_x86-64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.8;
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.
<ветка_дистрибутива> — ветка дистрибутива:
stable
current
unstable
<версия_дистрибутива> — номер версии (можно использовать номер очередного обновления и актуально оперативного обновления, например 1.7.5);
<поддерживаемые_архитектуры> — архитектура дистрибутива. Наиболее часто употребляются:
amd64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6, 1.7, 1.8;
arm64 — для Astra Linux Special Edition РУСБ.10152-02 очередное обновление 4.7;
- source — для репозиториев, содержащих исходные коды пакетов;
Components:компоненты дистрибутива. Обычно это:main - свободно распространяемое ПО;
contrib - свободно распространяемое ПО с зависимостями от несвободного ПО;
non-free - несвободное ПО.
UDebComponents: main- Udeb-пакеты;SignWith: yes— подпись репозитория. Эту строчку не нужно указывать, если не планируется подписывать репозиторий ключом gnupg.
Такие списки могут использоваться для дополнительного контроля состава репозитория.Предупреждение Генерация списков файлов требует значительного времени. Информация Помимо конфигурационного файла задать параметры генерации репозиториев можно с помощью параметров вызова команды reprepro или с помощью переменных окружения. Подробное описание всех опций конфигурационного файла, параметров вызова команды и переменных окружения см. в справочной системе man: Command man reprepro Для очистки ранее созданной базы данных репозитория можно использовать команду:Command sudo reprepro -b <путь_к_репозиторию> clearvanished Для инициализации нового репозитория выполнить команду
где:
Codename: smolensk - кодовое имя дистрибутива: smolensk, orel ...Suite: stable - ветка дистрибутива: stable, current, unstableVersion: 1.6.0 - номер версииArchitectures: amd64 - архитектура дистрибутива: i386, amd64, source (если репозиторий будет содержать исходный код пакетов)Components: main contrib non-free - компоненты дистрибутива: main - СПО, contrib - СПО с зависимостями от несвободного, non-free - несвободное ПОUDebComponents: main - Udeb-пакетыContents: - файлы со списком содержимого каждого пакетаSignWith: yes - подпись репозитория (можно не указывать, если не планируете подписывать репозиторий ключом gnupg)
...
:
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
В результате получится примерно такой результат:
| Информация | ||
|---|---|---|
| ||
pub 2048R/2578DA4E 2017-06-19 |
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
...
. Этот файл скопировать на компьютер, где будет использоваться данный репозиторий,
...
и зарегистрировать его. Подробнее см. статью Установка ключей для сторонних репозиториев пакетов.
Предоставление доступа к репозиторию с помощью Apache2
| Предупреждение |
|---|
| Для настройки доступа к репозиторию с помощью существующего web-сервера обратитесь к администратору этого сервера. |
Для создания нового сервера, предоставляющего доступ к репозиторию:
| Command | ||||
|---|---|---|---|---|
| ||||
sudo apt-key add repo_gpg.key |
...
Установить пакет:
Command borderColor #c2e6ff bgColor #e2f3ff sudo aptinstall apache2Если репозиторий расположен
...
вне каталога /var/www/html, например, в каталоге
/srv/repo, то
...
создать символьную ссылку на репозиторий:
Command borderColor #c2e6ff bgColor #e2f3ff sudoln -s /srv/repo /var/www/html/repoВ файл /etc/apache2/sites-enabled/000-default.conf после строки
DocumentRoot /var/www/htmlдобавить:
...
Блок кода
...
| icon | false |
|---|
<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