Наш wiki-портал переехал на новый движок и доступен по адресу http://wiki.astralinux.ru

Эта версия портала обновляться больше не будет.

Создание собственного репозитория

Материал из AstraLinux Wiki
Перейти к: навигация, поиск

Установить пакет reprepro: sudo apt-get install reprepro
Создать каталог репозитория например repo: mkdir repo
Создать в каталоге репозитория каталог conf: mkdir repo/conf
Создать в каталоге conf файл distributions примерно такого содержания:
mcedit repo/conf/distributions

Origin: Debian
Codename: smolensk
Suite: stable
Version: 1.5.3
Architectures: amd64
Components: main contrib non-free
UDebComponents: main
Contents:
SignWith: yes

Где:

Codename: smolensk - кодовое имя дистрибутива: smolensk, orel ...
Suite: stable - ветка дистрибутива: stable, current, unstable
Version: 1.5.3 - номер версии
Architectures: amd64 - архитектура дистрибутива: i386, amd64, source (если репозиторий будет содержать исходный код пакетов)
Components: main contrib non-free - компоненты дистрибутива: main - СПО, contrib - СПО с зависимостями от несвободного, non-free - несвободное ПО
UDebComponents: main - Udeb-пакеты
Contents: - файлы со списком содержимого каждого пакета
SignWith: yes - подпись репозитория (можно не указывать, если не планируете подписывать репозиторий ключём gnupg)

Далее выполнить:
reprepro -b repo export
reprepro -b repo createsymlinks
После этого можно наполнять репозиторий пакетами:

reprepro -b repo includedeb <кодовое имя дистрибутива> <имя_пакета>.deb - добавление бинарного deb пакета
reprepro -b repo includeudeb <кодовое имя дистрибутива> <имя_пакета>.udeb - добавление бинарного udeb пакета
reprepro -b repo includedsc <кодовое имя дистрибутива> <имя_пакета>.dsc - добавление пакета с исходным
reprepro -b repo remove <кодовое имя дистрибутива> <имя_пакета> - удаление пакета

Для создания подписанного репозитория необходимо:
Сгенерировать gpg-ключ командой:
gpg --gen-key

добавить в repo/conf/distributions строку:
SignWith: yes

далее выполнить:
reprepro --ask-passphrase -b repo export (параметр --ask-passphrase запрашивает пароль для gpg-ключа)

и наполнить репозиторий:
reprepro --ask-passphrase -b repo includedeb <кодовое имя дистрибутива> <имя_пакета>.deb

Чтобы пользоваться подписанным репозиторием необходимо:

на компьютере где создавался репозиторий выполнить:
gpg --list-keys

в результате получится примерно такой результат:

   pub   2048R/2578DA4E 2017-06-19
uid RusBITech (Key for signing) <mail@rusbitech.ru>


далее выполнить:
gpg --armor --output repo_gpg.key --export 2578DA4E

в результате получим файл repo_gpg.key в текущем каталоге, который необходимо скопировать на компьютер, где будет использоваться данный репозиторий,
и добавить его в систему:
sudo apt-key add repo_gpg.key

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты