Как создать репозиторий на линукс?
Я собрал deb пакет со своей прогой, нужно как-то ее распространять. Мне нужно чтобы пользователь смог установить мою прогу одной командой apt install, может двумя, если нужно добавить репозиторий. Как мне это сделать?
Ответы (2 шт):
apt-get install reprepro gnupg2
mkdir /var/www/debian
mkdir /var/www/debian/conf
touch /var/www/debian/conf/distributions
editor /var/www/debian/conf/distributions
Там пишем описание репозитория
Codename: stable
Suite: stable
Version: 1.x
Origin: Nikolaich
Label: Nikolaich
Description: Nikolaich Stable Repository
Architectures: amd64
Components: main
SignWith: default
DebIndices: Packages Release . .gz .bz2
DscIndices: Sources Release . .gz .bz2
Contents: . .gz .bz2
дальше
cd /var/www/debian
gpg --gen-key
gpg --armor --export > repokey.asc
Там будет айди ключа, типа 4607CAF2F88913A6 Его добавить в файл выше.
SignWith: 4607CAF2F88913A6
Дальше создаем саму репу
cd /var/www/debian
reprepro export
reprepro createsymlinks
И заливаем пакет
reprepro --priority optional --section drivers includedeb stable /root/mysuper.deb
Потом настраиваем вэб-сервер, чтоб папка debian была доступна через http://example.com/debian/
Устанавливается в для клиентов в пару команд:
wget -O- http://example.com/debian/repokey.asc | apt-key add -
echo "deb http://example.com/debian stable main" > /etc/apt/sources.list.d/myrepo.list
apt update
Есть проект aptly. Навороченная штука от Андрея Смирнова. Умеет делать зеркала других реп, создавать свои репы, снапшоты. Можно работать как через CLI, так и через API.
На Хабре описан опыт использования.
P.S. Даже Майки используют для распространения собственных пакетов. Проверяется в 2 счёта:
curl --silent http://packages.microsoft.com/repos/ms-teams/dists/stable/InRelease | grep aptly выплюнет Description: Generated by aptly.