Как создать ретрансляцию APT для моего скомпилированного ядра? [dубликат]

Я нахожусь на msi gs70 6qe с i7 6700hq и GTX 970M.

С USB-накопителем Ubuntu 16.04 LTS, используя UEFI, я, наконец, успешно загрузился!

только параметр загрузки, который я установил после параметра «всплеск», был «nouveau.modeset = 0».

Для меня Intel HD 530 отлично работает, но не NVIDIA GTX 970, который замораживает процесс загрузки Ubuntu. Возможно, необходимо будет добавить / загрузить прошивку NVIDIA, чтобы избежать зависания загрузки.

49
задан 24 November 2016 в 14:02

18 ответов

Настройка тривиального репозитория очень проста, используя dpkg-scanpackages. На этой странице объясняется, как настроить тривиальное репо, и в этом объясняется, как его использовать (прокрутите вниз до примера 4).

25
ответ дан 18 July 2018 в 03:15

Настройка тривиального репозитория очень проста, используя dpkg-scanpackages. На этой странице объясняется, как настроить тривиальное репо, и в этом объясняется, как его использовать (прокрутите вниз до примера 4).

25
ответ дан 24 July 2018 в 17:47

Для тех, кто сталкивается с этой ошибкой после ответа марио:

Unable to find expected entry 'Packages' in Release file (Wrong sources.list entry or malformed file)

выполните следующие действия:

dpkg-scanpackages debs /dev/null > Packages gzip -k Packages apt-ftparchive release . > Release gpg --default-key $KEYID -abs -o Release.gpg Release

Я поместил файлы *.deb в папку debs.

0
ответ дан 18 July 2018 в 03:15

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять.

Сгенерировать некоторые подписи ключей

Сначала вам нужно создать gpg, а затем добавить новые *.deb файлы, затем обновить или разрешить выполнение задания cron. ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают, что «dpkg1» в качестве имени ключа.)

gpg --gen-key gpg -a --export-secret-key dpkg1 > secret.gpg gpg -a --export dpkg1 > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы вводить его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но после инициализации удалите ключ secret.gpg.

Обновить скрипт CGI

Это простая оболочка обновления / CGI-скрипт для этого:

#!/bin/sh echo Status: 200 Okay echo Content-Type: text/plain echo echo Rebuilding APT repository: { #-- settings export GNUPGHOME=/var/www/usr12345/files export KEYNAME=dpkg1 #-- one-time setup if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then gpg --import -v -v ./secret.gpg gpg --import -v -v ./public.gpg gpg --list-keys fi #-- symlink .deb files from adjacent sub-directories find .. -name '*.deb' -exec ln -s '{}' . \; #-- build Packages file apt-ftparchive packages . > Packages bzip2 -kf Packages #-- signed Release file apt-ftparchive release . > Release gpg --yes -abs -u $KEYNAME -o Release.gpg Release } 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в некотором каталоге $GNUPGHOME (над корнем документа). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (Требуется .htaccess Options FollowSymLinks в конце концов.)

Вы можете либо запустить этот скрипт вручную, либо CGI, либо в cron-задание. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» репозиторий apt, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/ ./ # Simple signed repo

Это

Подписание пакета

Подписание ваших индивидуальных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно быть сделано на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

dpkg-scanpackages . > Packages bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. Apaches mod_auto_index добавит эту заметку:

<h1>http://example.org/apt/</h1> <dl> <dt>Add this repository to /etc/apt/sources.list as: <dd><kbd>deb http://example.org/apt/ ./ # example repo</kbd> <dt>Import verification key with: <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd> </dl>

Альтернативы

В наши дни есть несколько инструментов для автоматизации управления хранилищами. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов (gemfury, packagecloud, bintray и т. Д.)

Довольно удобной альтернативой является prm. Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро угаснет ..) - Лучше всего установить на gem install prm. И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http://apt.include-once.org/apt-phparchive. Пожалуйста, не то, чтобы он не был чрезмерно надежным и написан на PHP (на этот раз это совпадение) и первоначально предназначался для DEB и RPM-over-APT и пучков Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарел: gemfury . Гораздо более современно: FPM. И моя личная вилка: packagecloud (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 18 July 2018 в 03:15
[D0] Да. Вы можете сделать это. Вам просто нужно правильно упорядочить файлы и создать индексные файлы. Если вы разместите структуру каталогов внутри корня документа вашего веб-сервера, пакеты могут быть доступны только через веб-сервер.

Ниже приведено подробное описание того, как файлы должны быть организованы и как файлы индекса

Вы также можете использовать инструмент под названием Здесь , если вы хотите установить этот пакет. Это сделает администрацию немного более удобной.

7
ответ дан 18 July 2018 в 03:15

Возможно, вы также можете рассмотреть Launchpad PPA

2
ответ дан 18 July 2018 в 03:15

Для тех, кто сталкивается с этой ошибкой после ответа марио:

Unable to find expected entry 'Packages' in Release file (Wrong sources.list entry or malformed file)

выполните следующие действия:

dpkg-scanpackages debs /dev/null > Packages gzip -k Packages apt-ftparchive release . > Release gpg --default-key $KEYID -abs -o Release.gpg Release

Я поместил файлы *.deb в папку debs.

0
ответ дан 24 July 2018 в 17:47

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять.

Сгенерировать некоторые подписи ключей

Сначала вам нужно создать gpg, а затем добавить новые *.deb файлы, затем обновить или разрешить выполнение задания cron. ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают, что «dpkg1» в качестве имени ключа.)

gpg --gen-key gpg -a --export-secret-key dpkg1 > secret.gpg gpg -a --export dpkg1 > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы вводить его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но после инициализации удалите ключ secret.gpg.

Обновить скрипт CGI

Это простая оболочка обновления / CGI-скрипт для этого:

#!/bin/sh echo Status: 200 Okay echo Content-Type: text/plain echo echo Rebuilding APT repository: { #-- settings export GNUPGHOME=/var/www/usr12345/files export KEYNAME=dpkg1 #-- one-time setup if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then gpg --import -v -v ./secret.gpg gpg --import -v -v ./public.gpg gpg --list-keys fi #-- symlink .deb files from adjacent sub-directories find .. -name '*.deb' -exec ln -s '{}' . \; #-- build Packages file apt-ftparchive packages . > Packages bzip2 -kf Packages #-- signed Release file apt-ftparchive release . > Release gpg --yes -abs -u $KEYNAME -o Release.gpg Release } 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в некотором каталоге $GNUPGHOME (над корнем документа). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (Требуется .htaccess Options FollowSymLinks в конце концов.)

Вы можете либо запустить этот скрипт вручную, либо CGI, либо в cron-задание. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» репозиторий apt, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/ ./ # Simple signed repo

Это

Подписание пакета

Подписание ваших индивидуальных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно быть сделано на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

dpkg-scanpackages . > Packages bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. Apaches mod_auto_index добавит эту заметку:

<h1>http://example.org/apt/</h1> <dl> <dt>Add this repository to /etc/apt/sources.list as: <dd><kbd>deb http://example.org/apt/ ./ # example repo</kbd> <dt>Import verification key with: <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd> </dl>

Альтернативы

В наши дни есть несколько инструментов для автоматизации управления хранилищами. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов (gemfury, packagecloud, bintray и т. Д.)

Довольно удобной альтернативой является prm. Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро угаснет ..) - Лучше всего установить на gem install prm. И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http://apt.include-once.org/apt-phparchive. Пожалуйста, не то, чтобы он не был чрезмерно надежным и написан на PHP (на этот раз это совпадение) и первоначально предназначался для DEB и RPM-over-APT и пучков Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарел: gemfury . Гораздо более современно: FPM. И моя личная вилка: packagecloud (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 24 July 2018 в 17:47
[D0] Да. Вы можете сделать это. Вам просто нужно правильно упорядочить файлы и создать индексные файлы. Если вы разместите структуру каталогов внутри корня документа вашего веб-сервера, пакеты могут быть доступны только через веб-сервер.

Ниже приведено подробное описание того, как файлы должны быть организованы и как файлы индекса

Вы также можете использовать инструмент под названием Здесь , если вы хотите установить этот пакет. Это сделает администрацию немного более удобной.

7
ответ дан 24 July 2018 в 17:47
  • 1
    @txwikinger: Причина, по которой я не могу установить пакеты, заключается в том, что на сервере работает centOS :) – Nathan Osman 31 July 2010 в 06:12
  • 2
    Что ж. вам не нужно. Вы можете создать все на другом компьютере и просто rsync всего дерева на centos-сервере – txwikinger 31 July 2010 в 06:40
  • 3
    Да, я бы предпочел использовать reprepro. Это сделает вашу жизнь намного проще. Создание репо на другом компьютере может даже быть особенностью, если оно позволяет вам лучше защитить свой ключ подписи. – andol 31 July 2010 в 10:48
  • 4
    @andol & amp; @txwikinger: Я пытаюсь, но сталкиваюсь с проблемами. См. Мой обновленный вопрос. – Nathan Osman 31 July 2010 в 10:51
  • 5
    Для вашего файла dists вам все равно понадобится ./binary-<specific arch & gt ;. – andol 31 July 2010 в 11:18

Возможно, вы также можете рассмотреть Launchpad PPA

2
ответ дан 24 July 2018 в 17:47

Для тех, кто сталкивается с этой ошибкой после ответа Марио:

Unable to find expected entry 'Packages' in Release file (Wrong sources.list entry or malformed file)

выполните следующие действия:

dpkg-scanpackages debs /dev/null > Packages
gzip -k Packages
apt-ftparchive release . > Release
gpg --default-key $KEYID -abs -o Release.gpg Release

Я поместил файлы *.deb в папку debs.

0
ответ дан 31 July 2018 в 20:50

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять. И вы можете просто добавить новые файлы *.deb, затем обновить или разрешить выполнение задания cron.

Сгенерировать некоторые ключи подписи

Сначала вам нужно создать gpg ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают, что «dpkg1» в качестве имени ключа.)

 gpg --gen-key
 gpg -a --export-secret-key dpkg1 > secret.gpg
 gpg -a --export dpkg1            > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы набирать его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но удалите secret.gpg ключ после инициализации .

Сценарий обновления CGI

Это простой скрипт оболочки / CGI для него:

#!/bin/sh
echo Status: 200 Okay
echo Content-Type: text/plain
echo
echo Rebuilding APT repository:

{
  #-- settings
  export GNUPGHOME=/var/www/usr12345/files
  export KEYNAME=dpkg1
  #-- one-time setup
  if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then
     gpg --import -v -v ./secret.gpg
     gpg --import -v -v ./public.gpg
     gpg --list-keys
  fi

  #-- symlink .deb files from adjacent sub-directories
  find .. -name '*.deb' -exec ln -s '{}' . \;

  #-- build Packages file
  apt-ftparchive packages . > Packages
  bzip2 -kf Packages

  #-- signed Release file
  apt-ftparchive release . > Release
  gpg --yes -abs -u $KEYNAME -o Release.gpg Release

} 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в каком-то каталоге $GNUPGHOME (над документом корень). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (В конечном итоге требуется .htaccess Options FollowSymLinks.)

Вы можете выполнить этот скрипт вручную как CGI или per cron-job. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» apt-репозиторий, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/  ./    # Simple signed repo

Это подходит для одномоторных репозиториев, и если вы не ожидаете сотен пакетов.

Подписание пакета

Подписание ваших отдельных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно выполняться на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

  dpkg-scanpackages . > Packages
  bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. В Apache mod_auto_index будет добавлено примечание:

<h1>http://example.org/apt/</h1>
<dl>
<dt>Add this repository to /etc/apt/sources.list as:
 <dd><kbd>deb http://example.org/apt/ ./  # example repo</kbd>
<dt>Import verification key with:
 <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd>
</dl>

Альтернативы

В наши дни есть несколько инструментов для автоматизации управления репозиториями. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов ( gemfury , packagecloud , bintray и т. Д.)

  • Довольно удобной альтернативой является prm . Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро умрет ..) - Лучше всего установить на gem install prm.
  • И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http: / /apt.include-once.org/apt-phparchive - Пожалуйста, не то, чтобы это не было чрезмерно надежным и написанным на PHP (на этот раз это совпадение) и первоначально предназначалось для DEB и RPM-over-APT и пучки Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарели: EPM . Гораздо более современно: FPM . И моя личная вилка: XPM (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 31 July 2018 в 20:50

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять. И вы можете просто добавить новые файлы *.deb, затем обновить или разрешить выполнение задания cron.

Сгенерировать некоторые ключи подписи

Сначала вам нужно создать gpg ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают «dpkg1» как имя ключа.)

 gpg --gen-key
 gpg -a --export-secret-key dpkg1 > secret.gpg
 gpg -a --export dpkg1            > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы набирать его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но удалите secret.gpg ключ после инициализации .

Сценарий обновления CGI

Это простой скрипт оболочки / CGI для него:

#!/bin/sh
echo Status: 200 Okay
echo Content-Type: text/plain
echo
echo Rebuilding APT repository:

{
  #-- settings
  export GNUPGHOME=/var/www/usr12345/files
  export KEYNAME=dpkg1
  #-- one-time setup
  if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then
     gpg --import -v -v ./secret.gpg
     gpg --import -v -v ./public.gpg
     gpg --list-keys
  fi

  #-- symlink .deb files from adjacent sub-directories
  find .. -name '*.deb' -exec ln -s '{}' . \;

  #-- build Packages file
  apt-ftparchive packages . > Packages
  bzip2 -kf Packages

  #-- signed Release file
  apt-ftparchive release . > Release
  gpg --yes -abs -u $KEYNAME -o Release.gpg Release

} 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в каком-то каталоге $GNUPGHOME (над документом корень). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (В конечном итоге требуется .htaccess Options FollowSymLinks.)

Вы можете выполнить этот скрипт вручную как CGI или per cron-job. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» apt-репозиторий, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/  ./    # Simple signed repo

Это подходит для одномоторных репозиториев, и если вы не ожидаете сотен пакетов.

Подписание пакета

Подписание ваших отдельных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно выполняться на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

  dpkg-scanpackages . > Packages
  bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. В Apache mod_auto_index будет добавлено примечание:

<h1>http://example.org/apt/</h1>
<dl>
<dt>Add this repository to /etc/apt/sources.list as:
 <dd><kbd>deb http://example.org/apt/ ./  # example repo</kbd>
<dt>Import verification key with:
 <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd>
</dl>

Альтернативы

В настоящее время существует несколько инструментов для автоматизации управления хранилищами. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов ( gemfury , packagecloud , bintray и т. Д.)

  • Довольно удобной альтернативой является prm . Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро умрет ..) - Лучше всего установить на gem install prm.
  • И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http: / /apt.include-once.org/apt-phparchive - Пожалуйста, не то, чтобы это не было чрезмерно надежным и написанным на PHP (на этот раз это совпадение) и первоначально предназначалось для DEB и RPM-over-APT и пучки Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарели: EPM . Гораздо более современно: FPM . И моя личная вилка: XPM (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 2 August 2018 в 13:56

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять. И вы можете просто добавить новые файлы *.deb, затем обновить или разрешить выполнение задания cron.

Сгенерировать некоторые ключи подписи

Сначала вам нужно создать gpg ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают, что «dpkg1» в качестве имени ключа.)

 gpg --gen-key
 gpg -a --export-secret-key dpkg1 > secret.gpg
 gpg -a --export dpkg1            > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы набирать его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но удалите secret.gpg ключ после инициализации .

Сценарий обновления CGI

Это простой скрипт оболочки / CGI для него:

#!/bin/sh
echo Status: 200 Okay
echo Content-Type: text/plain
echo
echo Rebuilding APT repository:

{
  #-- settings
  export GNUPGHOME=/var/www/usr12345/files
  export KEYNAME=dpkg1
  #-- one-time setup
  if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then
     gpg --import -v -v ./secret.gpg
     gpg --import -v -v ./public.gpg
     gpg --list-keys
  fi

  #-- symlink .deb files from adjacent sub-directories
  find .. -name '*.deb' -exec ln -s '{}' . \;

  #-- build Packages file
  apt-ftparchive packages . > Packages
  bzip2 -kf Packages

  #-- signed Release file
  apt-ftparchive release . > Release
  gpg --yes -abs -u $KEYNAME -o Release.gpg Release

} 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в каком-то каталоге $GNUPGHOME (над документом корень). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (В конечном итоге требуется .htaccess Options FollowSymLinks.)

Вы можете выполнить этот скрипт вручную как CGI или per cron-job. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» apt-репозиторий, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/  ./    # Simple signed repo

Это подходит для одномоторных репозиториев, и если вы не ожидаете сотен пакетов.

Подписание пакета

Подписание ваших отдельных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно выполняться на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

  dpkg-scanpackages . > Packages
  bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. В Apache mod_auto_index будет добавлено примечание:

<h1>http://example.org/apt/</h1>
<dl>
<dt>Add this repository to /etc/apt/sources.list as:
 <dd><kbd>deb http://example.org/apt/ ./  # example repo</kbd>
<dt>Import verification key with:
 <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd>
</dl>

Альтернативы

В наши дни есть несколько инструментов для автоматизации управления репозиториями. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов ( gemfury , packagecloud , bintray и т. Д.)

  • Довольно удобной альтернативой является prm . Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро умрет ..) - Лучше всего установить на gem install prm.
  • И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http: / /apt.include-once.org/apt-phparchive - Пожалуйста, не то, чтобы это не было чрезмерно надежным и написанным на PHP (на этот раз это совпадение) и первоначально предназначалось для DEB и RPM-over-APT и пучки Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарели: EPM . Гораздо более современно: FPM . И моя личная вилка: XPM (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 3 August 2018 в 18:06

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять. И вы можете просто добавить новые файлы *.deb, затем обновить или разрешить выполнение задания cron.

Сгенерировать некоторые ключи подписи

Сначала вам нужно создать gpg ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают, что «dpkg1» в качестве имени ключа.)

 gpg --gen-key
 gpg -a --export-secret-key dpkg1 > secret.gpg
 gpg -a --export dpkg1            > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы набирать его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но удалите secret.gpg ключ после инициализации .

Сценарий обновления CGI

Это простой скрипт оболочки / CGI для него:

#!/bin/sh
echo Status: 200 Okay
echo Content-Type: text/plain
echo
echo Rebuilding APT repository:

{
  #-- settings
  export GNUPGHOME=/var/www/usr12345/files
  export KEYNAME=dpkg1
  #-- one-time setup
  if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then
     gpg --import -v -v ./secret.gpg
     gpg --import -v -v ./public.gpg
     gpg --list-keys
  fi

  #-- symlink .deb files from adjacent sub-directories
  find .. -name '*.deb' -exec ln -s '{}' . \;

  #-- build Packages file
  apt-ftparchive packages . > Packages
  bzip2 -kf Packages

  #-- signed Release file
  apt-ftparchive release . > Release
  gpg --yes -abs -u $KEYNAME -o Release.gpg Release

} 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в каком-то каталоге $GNUPGHOME (над документом корень). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (В конечном итоге требуется .htaccess Options FollowSymLinks.)

Вы можете выполнить этот скрипт вручную как CGI или per cron-job. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» apt-репозиторий, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/  ./    # Simple signed repo

Это подходит для одномоторных репозиториев, и если вы не ожидаете сотен пакетов.

Подписание пакета

Подписание ваших отдельных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно выполняться на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

  dpkg-scanpackages . > Packages
  bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. В Apache mod_auto_index будет добавлено примечание:

<h1>http://example.org/apt/</h1>
<dl>
<dt>Add this repository to /etc/apt/sources.list as:
 <dd><kbd>deb http://example.org/apt/ ./  # example repo</kbd>
<dt>Import verification key with:
 <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd>
</dl>

Альтернативы

В наши дни есть несколько инструментов для автоматизации управления репозиториями. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов ( gemfury , packagecloud , bintray и т. Д.)

  • Довольно удобной альтернативой является prm . Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро умрет ..) - Лучше всего установить на gem install prm.
  • И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http: / /apt.include-once.org/apt-phparchive - Пожалуйста, не то, чтобы это не было чрезмерно надежным и написанным на PHP (на этот раз это совпадение) и первоначально предназначалось для DEB и RPM-over-APT и пучки Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарели: EPM . Гораздо более современно: FPM . И моя личная вилка: XPM (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 5 August 2018 в 03:14

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять. И вы можете просто добавить новые файлы *.deb, затем обновить или разрешить выполнение задания cron.

Сгенерировать некоторые ключи подписи

Сначала вам нужно создать gpg ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают, что «dpkg1» в качестве имени ключа.)

 gpg --gen-key
 gpg -a --export-secret-key dpkg1 > secret.gpg
 gpg -a --export dpkg1            > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы набирать его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но удалите secret.gpg ключ после инициализации .

Сценарий обновления CGI

Это простой скрипт оболочки / CGI для него:

#!/bin/sh
echo Status: 200 Okay
echo Content-Type: text/plain
echo
echo Rebuilding APT repository:

{
  #-- settings
  export GNUPGHOME=/var/www/usr12345/files
  export KEYNAME=dpkg1
  #-- one-time setup
  if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then
     gpg --import -v -v ./secret.gpg
     gpg --import -v -v ./public.gpg
     gpg --list-keys
  fi

  #-- symlink .deb files from adjacent sub-directories
  find .. -name '*.deb' -exec ln -s '{}' . \;

  #-- build Packages file
  apt-ftparchive packages . > Packages
  bzip2 -kf Packages

  #-- signed Release file
  apt-ftparchive release . > Release
  gpg --yes -abs -u $KEYNAME -o Release.gpg Release

} 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в каком-то каталоге $GNUPGHOME (над документом корень). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (В конечном итоге требуется .htaccess Options FollowSymLinks.)

Вы можете выполнить этот скрипт вручную как CGI или per cron-job. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» apt-репозиторий, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/  ./    # Simple signed repo

Это подходит для одномоторных репозиториев, и если вы не ожидаете сотен пакетов.

Подписание пакета

Подписание ваших отдельных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно выполняться на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

  dpkg-scanpackages . > Packages
  bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. В Apache mod_auto_index будет добавлено примечание:

<h1>http://example.org/apt/</h1>
<dl>
<dt>Add this repository to /etc/apt/sources.list as:
 <dd><kbd>deb http://example.org/apt/ ./  # example repo</kbd>
<dt>Import verification key with:
 <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd>
</dl>

Альтернативы

В наши дни есть несколько инструментов для автоматизации управления репозиториями. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов ( gemfury , packagecloud , bintray и т. Д.)

  • Довольно удобной альтернативой является prm . Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро умрет ..) - Лучше всего установить на gem install prm.
  • И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http: / /apt.include-once.org/apt-phparchive - Пожалуйста, не то, чтобы это не было чрезмерно надежным и написанным на PHP (на этот раз это совпадение) и первоначально предназначалось для DEB и RPM-over-APT и пучки Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарели: EPM . Гораздо более современно: FPM . И моя личная вилка: XPM (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 6 August 2018 в 20:06

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять. И вы можете просто добавить новые файлы *.deb, затем обновить или разрешить выполнение задания cron.

Сгенерировать некоторые ключи подписи

Сначала вам нужно создать gpg ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают, что «dpkg1» в качестве имени ключа.)

 gpg --gen-key
 gpg -a --export-secret-key dpkg1 > secret.gpg
 gpg -a --export dpkg1            > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы набирать его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но удалите secret.gpg ключ после инициализации .

Сценарий обновления CGI

Это простой скрипт оболочки / CGI для него:

#!/bin/sh
echo Status: 200 Okay
echo Content-Type: text/plain
echo
echo Rebuilding APT repository:

{
  #-- settings
  export GNUPGHOME=/var/www/usr12345/files
  export KEYNAME=dpkg1
  #-- one-time setup
  if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then
     gpg --import -v -v ./secret.gpg
     gpg --import -v -v ./public.gpg
     gpg --list-keys
  fi

  #-- symlink .deb files from adjacent sub-directories
  find .. -name '*.deb' -exec ln -s '{}' . \;

  #-- build Packages file
  apt-ftparchive packages . > Packages
  bzip2 -kf Packages

  #-- signed Release file
  apt-ftparchive release . > Release
  gpg --yes -abs -u $KEYNAME -o Release.gpg Release

} 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в каком-то каталоге $GNUPGHOME (над документом корень). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (В конечном итоге требуется .htaccess Options FollowSymLinks.)

Вы можете выполнить этот скрипт вручную как CGI или per cron-job. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» apt-репозиторий, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/  ./    # Simple signed repo

Это подходит для одномоторных репозиториев, и если вы не ожидаете сотен пакетов.

Подписание пакета

Подписание ваших отдельных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно выполняться на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

  dpkg-scanpackages . > Packages
  bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. В Apache mod_auto_index будет добавлено примечание:

<h1>http://example.org/apt/</h1>
<dl>
<dt>Add this repository to /etc/apt/sources.list as:
 <dd><kbd>deb http://example.org/apt/ ./  # example repo</kbd>
<dt>Import verification key with:
 <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd>
</dl>

Альтернативы

В наши дни есть несколько инструментов для автоматизации управления репозиториями. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов ( gemfury , packagecloud , bintray и т. Д.)

  • Довольно удобной альтернативой является prm . Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро умрет ..) - Лучше всего установить на gem install prm.
  • И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http: / /apt.include-once.org/apt-phparchive - Пожалуйста, не то, чтобы это не было чрезмерно надежным и написанным на PHP (на этот раз это совпадение) и первоначально предназначалось для DEB и RPM-over-APT и пучки Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарели: EPM . Гораздо более современно: FPM . И моя личная вилка: XPM (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 9 August 2018 в 00:33

Просто настройте простой, но подписанный репозиторий на веб-сервере. Поскольку большинство других учебников несколько устарели или громоздки, я попытаюсь воспроизвести процедуру здесь. Первоначальная конфигурация требует немного усилий, но простой скрипт сборки позволяет легко управлять. И вы можете просто добавить новые файлы *.deb, затем обновить или разрешить выполнение задания cron.

Сгенерировать некоторые ключи подписи

Сначала вам нужно создать gpg ключ подписи для пакетов и вашего репозитория. Сделайте это (4) ключом RSA подписи, без пароля и дайте ему уникальный $KEYNAME, когда его попросят. (Другие примеры предполагают, что «dpkg1» в качестве имени ключа.)

 gpg --gen-key
 gpg -a --export-secret-key dpkg1 > secret.gpg
 gpg -a --export dpkg1            > public.gpg

Я не сказал пароля, потому что ваш веб-сервер не имеет встроенной обезьяны, чтобы набирать его повторно. И подписанные пакеты и репозиторий предназначены только для удовлетворения жалоб на обновление менеджеров. Просто загрузите оба ключа в новый каталог репозитория /apt/ на вашем веб-сервере, но удалите secret.gpg ключ после инициализации .

Сценарий обновления CGI

Это простой скрипт оболочки / CGI для него:

#!/bin/sh
echo Status: 200 Okay
echo Content-Type: text/plain
echo
echo Rebuilding APT repository:

{
  #-- settings
  export GNUPGHOME=/var/www/usr12345/files
  export KEYNAME=dpkg1
  #-- one-time setup
  if [ ! -e "$GNUPGHOME/secring.gpg" ] ; then
     gpg --import -v -v ./secret.gpg
     gpg --import -v -v ./public.gpg
     gpg --list-keys
  fi

  #-- symlink .deb files from adjacent sub-directories
  find .. -name '*.deb' -exec ln -s '{}' . \;

  #-- build Packages file
  apt-ftparchive packages . > Packages
  bzip2 -kf Packages

  #-- signed Release file
  apt-ftparchive release . > Release
  gpg --yes -abs -u $KEYNAME -o Release.gpg Release

} 2>&1

Три строки gpg нужно выполнить только один раз, чтобы инициализировать установку GPG в каком-то каталоге $GNUPGHOME (над документом корень). Удалите только secret.gpg после успеха.

Одна уникальная особенность этого маленького сценария оболочки заключается в том, что он принимает любые файлы *.deb, которые вы забрасываете, но также ищет рекурсивно (начиная с одного уровня вверх) для другие, и символизирует их. (В конечном итоге требуется .htaccess Options FollowSymLinks.)

Вы можете выполнить этот скрипт вручную как CGI или per cron-job. Но спрячьте его или еще лучше вытащите из корня документа.

Поскольку это «тривиальный» apt-репозиторий, ему нужна следующая запись apt-sources.list:

deb http://example.org/deb/  ./    # Simple signed repo

Это подходит для одномоторных репозиториев, и если вы не ожидаете сотен пакетов.

Подписание пакета

Подписание ваших отдельных пакетов также тривиально, как только вы настроили свой gpg keys:

dpkg-sig -k dpkg1 -s builder *.deb

(Это должно выполняться на рабочей станции, где создаются пакеты, а не на веб-сервере репозитория.)

Unsigned repository

Если вы не нужны подписанные пакеты, тогда вы можете свернуть скрипт обновления до:

  dpkg-scanpackages . > Packages
  bzip2 -kf Packages

, который все еще может использоваться средними пользователями, но для apt.sources нужен специальный флаг:

deb [trusted=yes] http://apt.example.org/deb/ ./

Но, пожалуйста, не используйте флаг trusted=yes обычно для всего, или если вы действительно не уверены в происхождении пакета.

Для удобства использования

Для конечных пользователей просто отпустите HEADER.html в каталог репозитория. В Apache mod_auto_index будет добавлено примечание:

<h1>http://example.org/apt/</h1>
<dl>
<dt>Add this repository to /etc/apt/sources.list as:
 <dd><kbd>deb http://example.org/apt/ ./  # example repo</kbd>
<dt>Import verification key with:
 <dd><kbd>wget -q http://http://example.org/apt/public.gpg -O- | sudo apt-key add -</kbd>
</dl>

Альтернативы

В наши дни есть несколько инструментов для автоматизации управления репозиториями. И есть даже репозитарии онлайн-хостеров и услуги сборки пакетов ( gemfury , packagecloud , bintray и т. Д.)

  • Довольно удобной альтернативой является prm . Это скрипт Ruby, который создает сложные APT и YUM-репозитории. (Но давайте просто надеемся, что RPM, наконец, скоро умрет ..) - Лучше всего установить на gem install prm.
  • И я также написал небольшой скрипт, чтобы автоматизировать это аналогично: http: / /apt.include-once.org/apt-phparchive - Пожалуйста, не то, чтобы это не было чрезмерно надежным и написанным на PHP (на этот раз это совпадение) и первоначально предназначалось для DEB и RPM-over-APT и пучки Phar.

Поскольку это тесно связано с исходным вопросом, есть также инструменты для более простого создания пакетов Debian. Несколько устарели: EPM . Гораздо более современно: FPM . И моя личная вилка: XPM (более ленивый подход для приложений для написания скриптовых языков.)

37
ответ дан 14 August 2018 в 18:44

Другие вопросы по тегам:

Похожие вопросы: