Как мне создать свой собственный PPA, чтобы поделиться с сообществом Ubuntu? Я пытаюсь создать свой собственный набор пакетов, и мне бы очень хотелось поделиться им с сообществом.
Используя Personal Package Archive ( PPA ), вы можете распространять программное обеспечение и обновления непосредственно среди пользователей Ubuntu. Создайте исходный пакет, загрузите его, и Launchpad создаст двоичные файлы, а затем разместит их в своем собственном хранилище apt.
Я смог активировать свой PPA до того, как подписал кодекс поведения.
Sparhawk
2
Это лучший ответ. Вам только что сказали, как создать PPA. Приведенный ниже ответ (по Totti) не является PPA, но является публичным хранилищем. Они разные, несмотря на (потенциально) выполнение одного и того же. Он даже говорит в первой строке своего ответа: «На этот вопрос хорошо написан, принят ответ. Поскольку ОП хочет простой способ опубликовать свои пакеты, я легко взломаю». Потому что вы предпочитаете легкий взлом, не делает его лучшим ответом.
lbaile200
Хорошо, но ни одна из ссылок в этом ответе на самом деле не описывает, как это сделать с нуля. все ссылки здесь сделаны для разработчиков, которые уже в материале гораздо больше
rubo77
1
@ rubo77 - «как создавать» слишком широка, чтобы отвечать. Все зависит от того, что вы пытаетесь упаковать. Действительно, каждый из шагов в ответе выше может быть отдельным Q с хорошим подробным ответом на каждый.
fossfreedom
1
Новый ответ Тотти уже
хорош
86
Как создать файл .deb
Это руководство по созданию базового файла .deb из данного примера сценария. В этом уроке мы сначала создадим пример программы на bash, которая просто показывает «HELLO FROM PROGRAM». Затем мы создаем управляющий файл для программы, чтобы сделать установщик Debian. Наконец они упакованы в .debфайл.
Package: hellodeb
Version: 0.1
Architecture: all
Maintainer: totti
Installed-Size: 6
Depends: zenity, bash
Section: testing
Priority: optional
Homepage: http://askubuntu.com
Description: This is my first debian package.
Guided by Totti Torvalds.
In Description new line start with a space.
Вы можете редактировать содержимое, если хотите. Подробнее о формате этого файла читайте здесь и здесь .
Создать postinstскрипт, который выполняется сразу после установки пакета
gedit "$HOME"/create_deb/DEBIAN/postinst
затем вставьте
#!/bin/sh
set -e
echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
и сделать его исполняемым
chmod +x "$HOME/create_deb/DEBIAN/postinst"
Создать prermскрипт, который выполняется перед удалением пакета
#!/bin/sh
set -e
echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
и сделать его исполняемым
chmod +x "$HOME/create_deb/DEBIAN/prerm"
Создайте структуру пакета и скопируйте программы, данные и т. Д.
Создайте структуру установленных программ и их данных. В этом примере мы помещаем файл в /bin.
Установите только что созданный .debпакет. Вы можете открыть его с помощью, software-centerно он может не позволить вам установить. Поэтому я рекомендую использовать gdebiменеджер пакетов.
Скопируйте некоторые файлы * .deb в папку. Может быть вашим или некоторыми, которые не доступны через другие репозитории. Затем перейдите в папку и выполните скрипт, который мы там поместили:
cd ~/deb-packages/
./import.sh
Это должно создать так называемый файл Packages.gz , который ищет, какие пакеты расположены в этом хранилище.
это оно
Теперь подождите, пока Dropbox синхронизирует папку и заберет публичный URL изPackages.gz . Это должно выглядеть примерно так:
http://dl.getdropbox.../Packages.gz
Избавьтесь от конца этой ссылки, добавьте к ней еще несколько слов, и теперь вы можете использовать и заполнить следующую строку для sources.list:
deb http://dl.getdropbox.../deb-packages ./
Вот и все, у вас работает собственный deb-репозиторий. Всегда синхронизируется локально, но доступно любому, в любое время и в любом месте.
ПРИМЕЧАНИЕ:dpkg-scanpackages доступно по dpkg-dev
ссылке
Здесь описывается самодостаточный PPA, но как я могу
собрать
3
Если вы создаете файл .deb на шаге 7. с, debuild -us -uc -k'your GPG key here'вы можете загрузить его с помощью dput ppa:<lp-username>/<ppa-name> packet-source.changesLaunchpad, как описано здесь (источник: создать пакет .deb из скриптов или двоичных файлов )
rubo77
@ rubo77, спасибо, приветствую вас добавить эту информацию в конце моего ответа.
Тотти
1
Хорошо, я только что сделал, я также узнал, что вам нужны другие параметры для Launchpad, чтобы не создавать файл .deb прямо сейчас (просто -S): debuild -k'your GPG key here' -Sпотому что Launchpad создаст файл deb (если он не отклонен) - что был бы `-us -uc` для?
rubo77
2
Вам понадобится учетная запись Launchpad.net для создания PPA. Просто нажмите на своего пользователя на Launchpad (нажмите на свое имя в левом верхнем углу) и создайте PPA. Возможно, вам придется сначала подписать Кодекс поведения и зарегистрировать ключ GPG в вашей учетной записи.
Ответы:
Используя Personal Package Archive ( PPA ), вы можете распространять программное обеспечение и обновления непосредственно среди пользователей Ubuntu. Создайте исходный пакет, загрузите его, и Launchpad создаст двоичные файлы, а затем разместит их в своем собственном хранилище apt.
Вот подробное объяснение .
источник
Как создать файл .deb
Это руководство по созданию базового файла .deb из данного примера сценария. В этом уроке мы сначала создадим пример программы на bash, которая просто показывает «HELLO FROM PROGRAM». Затем мы создаем управляющий файл для программы, чтобы сделать установщик Debian. Наконец они упакованы в
.deb
файл.шаги:
создать пример программы в bash
вставьте в него следующий код
Сделайте программу исполняемой
Создать управляющий файл для пакета debian
Создайте файл с именем
control
внутри папкиDEBIAN
и вставьте следующие детали
Вы можете редактировать содержимое, если хотите. Подробнее о формате этого файла читайте здесь и здесь .
Создать
postinst
скрипт, который выполняется сразу после установки пакетазатем вставьте
и сделать его исполняемым
Создать
prerm
скрипт, который выполняется перед удалением пакетаи сделать его исполняемым
Создайте структуру пакета и скопируйте программы, данные и т. Д.
Создайте структуру установленных программ и их данных. В этом примере мы помещаем файл в
/bin
.Создайте файл .deb .
.
Будет автоматически имя.deb
файла с версией, арка и т.д. , или пользовательским именемИли если вы создаете файл .deb с
затем вы можете загрузить его на Ubuntu Launchpad с помощью
как описано здесь (источник: создать пакет .deb из скриптов или двоичных файлов )
Установите только что созданный
.deb
пакет. Вы можете открыть его с помощью,software-center
но он может не позволить вам установить. Поэтому я рекомендую использоватьgdebi
менеджер пакетов.Теперь вы можете установить его. Во время установки вы должны увидеть диалог GTK
После установки откройте терминал и введите
zenity_hello
. Если программа установлена правильно и все в порядке, вы должны увидеть диалог gtkУдаление пакета
Опубликуйте свой репозиторий за 2 минуты
Поскольку ОП хочет простой способ опубликовать свои пакеты, я даю легкий взлом.
требование: учетная запись dropbox (или любая другая служба, например, github ) с общей папкой.
Создайте папку внутри вашей Public-Dropbox-Folder, куда вы положите свои файлы * .deb:
или создайте эту папку где-нибудь еще и поместите символическую ссылку в вашу общую папку:
Перейдите в эту папку и создайте скрипт, который при запуске создает Packages.gz, содержащий всю необходимую информацию о ваших deb-пакетах. Создайте:
поместите это в это:
сделать его исполняемым:
Скопируйте некоторые файлы * .deb в папку. Может быть вашим или некоторыми, которые не доступны через другие репозитории. Затем перейдите в папку и выполните скрипт, который мы там поместили:
Это должно создать так называемый файл Packages.gz , который ищет, какие пакеты расположены в этом хранилище.
это оно
Теперь подождите, пока Dropbox синхронизирует папку и заберет публичный URL из
Packages.gz
. Это должно выглядеть примерно так:Избавьтесь от конца этой ссылки, добавьте к ней еще несколько слов, и теперь вы можете использовать и заполнить следующую строку для sources.list:
Вот и все, у вас работает собственный deb-репозиторий. Всегда синхронизируется локально, но доступно любому, в любое время и в любом месте.
ПРИМЕЧАНИЕ:
dpkg-scanpackages
доступно поdpkg-dev
ссылке
источник
releases/
см github.com/rubo77/mouse-speed/blob/master/release/...debuild -us -uc -k'your GPG key here'
вы можете загрузить его с помощьюdput ppa:<lp-username>/<ppa-name> packet-source.changes
Launchpad, как описано здесь (источник: создать пакет .deb из скриптов или двоичных файлов )debuild -k'your GPG key here' -S
потому что Launchpad создаст файл deb (если он не отклонен) - что был бы `-us -uc` для?Вам понадобится учетная запись Launchpad.net для создания PPA. Просто нажмите на своего пользователя на Launchpad (нажмите на свое имя в левом верхнем углу) и создайте PPA. Возможно, вам придется сначала подписать Кодекс поведения и зарегистрировать ключ GPG в вашей учетной записи.
источник