Создание репозитория
Установить пакет reprepro:
sudo apt install repreprosudo mkdir <путь_к_репозиторию/имя>создать в каталоге репозитория каталог conf:
sudo mkdir <путь_к_репозиторию/имя>/confСоздать в каталоге conf файл distributions примерно такого содержания:
sudo mcedit <путь_к_репозиторию/имя>/conf/distributionsгде:
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)
Далее выполнить:
sudo reprepro -b <путь_к_репозиторию/имя> exportДобавление бинарного deb пакета:
sudo reprepro -b <путь_к_репозиторию/имя> includedeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакету/имя_пакета>.debsudo reprepro -b <путь_к_репозиторию/имя> includedeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакетам>/*.debДобавление бинарного udeb пакета:
sudo reprepro -b <путь_к_репозиторию/имя> includeudeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакету/имя_пакета>.udebsudo reprepro -b <путь_к_репозиторию/имя> includedsc <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакету/имя_пакета>.dscsudo reprepro -b <путь_к_репозиторию/имя> remove <кодовое_имя_дистрибутива(smolensk)> <имя_пакета_без_версии>Подписывание репозитория
Сгенерировать gpg-ключ (RSA или DSA):
sudo gpg --gen-keyДалее выполнить:
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 2578DA4Esudo apt-key add repo_gpg.keyApache2 + 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 добавить:
Перезапустить Apache2:
sudo systemctl restart apache2