Простой способ разместить репозиторий обновлений Debian - PullRequest
10 голосов
/ 19 июля 2011

У меня есть проект, в котором я создаю один файл .deb, который должен быть установлен клиентом Linux. Для этого я хотел бы использовать apt-get install mypackage.

Будучи новичком в этой области, я сейчас ищу самый простой способ размещения собственного репозитория обновлений Debian, который будет содержать только mypackage.deb.

Я быстро посмотрел на mini-dinstall , который выглядел многообещающе, но, похоже, он работает с .changes, а не с .deb пакетами. Поэтому я не уверен, что это то, что мне нужно.

Итак, в итоге рабочий процесс должен выглядеть примерно так:

  1. Я создаю пакет debian mypackage.deb
  2. Я говорю некоторому демону обновить хранилище обновлений: fancy-update-daemon add mypackage.deb
  3. Клиент может установить или обновить с помощью стандартных команд apt: apt-get install mypackage

Спасибо за вашу помощь

Ответы [ 3 ]

15 голосов
/ 17 августа 2011

Действительно простой способ создания хранилища - создать «тривиальное» хранилище вместо «автоматического» хранилища. Вы можете сделать это с помощью команды "dpkg-scanpackages" в пакете dpkg-dev.

$ mkdir repository
$ cp foo.deb repository
$ dpkg-scanpackages repository /dev/null | gzip -9c > repository/Packages.gz

Тогда в вашем sources.list вместо того, чтобы иметь что-то вроде:

deb http://wherever/repository suite component

Вы отказываетесь от набора и компонента и просто получаете:

deb http://wherever/repository

Для получения дополнительной информации (например, о разнице между тривиальным и автоматическим репозиторием) см. Репозиторий HOWTO (для чего-то такого простого вы можете игнорировать тот факт, что эта документация называет себя «устаревшей»)

2 голосов
/ 21 января 2015

Создать Packages.gz:

@server> cd debian-repo
@server> dpkg-scanpackages ./ /dev/null | gzip > Packages.gz

Создать новый файл /etc/apt/sources.list.d/my-server.list (у клиента)

deb http://my-server/debian-repo ./

Сейчасполучить список доступных пакетов и установить foo.

@client> apt-get update
@client> apt-get install foo
0 голосов
/ 29 июля 2011
Файлы

.changes создаются при сборке пакета debian.Файл .changes сам по себе не является пакетом: он содержит информацию о сборке ( включая .deb s, которые были сгенерированы ).

Пока я не использовал mini-dinstallКажется, это правильный путь.Он должен использовать файлы .deb, сгенерированные во время сборки, и загружать их правильно.

...