Как создать репозиторий на линукс?

Я собрал deb пакет со своей прогой, нужно как-то ее распространять. Мне нужно чтобы пользователь смог установить мою прогу одной командой apt install, может двумя, если нужно добавить репозиторий. Как мне это сделать?


Ответы (2 шт):

Автор решения: eri
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

похожая инструкция на debian.org

→ Ссылка
Автор решения: don Rumata

Есть проект aptly. Навороченная штука от Андрея Смирнова. Умеет делать зеркала других реп, создавать свои репы, снапшоты. Можно работать как через CLI, так и через API.

На Хабре описан опыт использования.

P.S. Даже Майки используют для распространения собственных пакетов. Проверяется в 2 счёта: curl --silent http://packages.microsoft.com/repos/ms-teams/dists/stable/InRelease | grep aptly выплюнет Description: Generated by aptly.

→ Ссылка