Wie erstelle ich mein eigenes benutzerdefiniertes PPA, um es mit der Ubuntu-Community zu teilen? Ich versuche, mein eigenes benutzerdefiniertes Paketset zu erstellen, und möchte es wirklich mit der Community teilen.
Mit einem Personal Package Archive ( PPA ) können Sie Software und Updates direkt an Ubuntu-Benutzer verteilen. Erstellen Sie Ihr Quellpaket, laden Sie es hoch, und Launchpad erstellt Binärdateien und hostet sie in Ihrem eigenen Apt-Repository.
FWIW Ich konnte meine PPA aktivieren, bevor ich den Verhaltenskodex unterschrieb.
Sparhawk
2
Das ist die beste Antwort. Sie haben gerade erfahren, wie Sie eine PPA erstellen. Die Antwort unten (von totti) ist kein PPA, sondern ein öffentliches Repository. Die beiden sind unterschiedlich, obwohl sie (möglicherweise) dasselbe erreichen. Er sagt sogar in der ersten Zeile seiner Antwort: "Diese Frage hat eine gut geschriebene, akzeptierte Antwort. Da das OP eine einfache Möglichkeit zur Veröffentlichung seiner Pakete wünscht, gebe ich einen leichten Hack." Weil Sie es vorziehen, ist der einfache Hack nicht die beste Antwort.
lbaile200
OK, aber keiner der Links in dieser Antwort beschreibt wirklich, wie es von Grund auf neu gemacht wird. alle links hier sind für entwickler gemacht, die schon in das material viel mehr
einfließen
1
@ rubo77 - Das "Wie erstelle ich" ist streng zu weit gefasst, um es beantworten zu können. Es hängt alles davon ab, was Sie zu verpacken versuchen. In der Tat kann jeder der Schritte in der obigen Antwort individuelle Fragen mit jeweils einer guten detaillierten Antwort sein.
fossfreedom
1
Tottis
86
So erstellen Sie eine .deb-Datei
Dies ist ein Tutorial zum Erstellen einer grundlegenden .deb-Datei aus einem bestimmten Beispielskript. In diesem Tutorial erstellen wir zunächst ein Beispielprogramm in Bash, das nur 'HALLO FROM PROGRAM' zeigt. Dann erstellen wir eine Steuerdatei für das Programm, um ein Debian-Installationsprogramm zu erstellen . Schließlich werden sie in eine .debDatei gepackt.
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.
Sie können den Inhalt bearbeiten, wenn Sie möchten. Lesen Sie hier und hier mehr über das Format dieser Datei .
Erstellen Sie ein postinstSkript, das sofort nach der Installation des Pakets ausgeführt wird
gedit "$HOME"/create_deb/DEBIAN/postinst
dann einfügen
#!/bin/sh
set -e
echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
und ausführbar machen
chmod +x "$HOME/create_deb/DEBIAN/postinst"
Erstellen Sie ein prermSkript, das vor dem Entfernen des Pakets ausgeführt wird
#!/bin/sh
set -e
echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
und ausführbar machen
chmod +x "$HOME/create_deb/DEBIAN/prerm"
Erstellen Sie eine Paketstruktur und kopieren Sie Programme, Daten usw. Erstellen Sie eine Struktur Ihrer installierten Programme und ihrer Daten. In diesem Beispiel setzen wir die Datei auf /bin.
Installieren Sie das neu erstellte .debPaket. Sie können es mit öffnen, software-centeraber möglicherweise können Sie es nicht installieren. Daher empfehle ich die Verwendung des gdebiPaketmanagers.
Jetzt können Sie es installieren. Während der Installation sollte ein GTK-Dialog angezeigt werden
Installationsprogramm: zenity_hello.sh ......
Nach der Installation ein Terminal öffnen und eingeben zenity_hello. Wenn das Programm korrekt installiert ist und alles in Ordnung ist, sollten Sie einen GTK-Dialog sehen
HALLO VOM PROGRAMM
Paket entfernen
sudo apt-get remove zenity_hello
Veröffentlichen Sie Ihr Repository in 2 Minuten
Da der OP eine einfache Möglichkeit zur Veröffentlichung seiner Pakete wünscht, gebe ich einen leichten Hack.
Voraussetzung: Dropbox-Konto (oder ein anderer Dienst, z. B. Github ) mit einem öffentlichen Ordner.
Erstellen Sie einen Ordner in Ihrem Public-Dropbox-Ordner, in dem Sie Ihre * .deb-Dateien ablegen:
mkdir ~/Dropbox/Public/deb-packages
oder erstellen Sie diesen Ordner woanders und fügen Sie einen Symlink in Ihren öffentlichen Ordner ein:
mkdir ~/deb-packages
cd ~/Dropbox/Public
ln -s ~/deb-packages/ deb-packages
Gehen Sie in diesen Ordner und erstellen Sie ein Skript, das bei der Ausführung die Datei Packages.gz erstellt, die alle erforderlichen Informationen zu Ihren Deb-Paketen enthält. erstellen:
Kopieren Sie einige * .deb-Dateien in den Ordner. Könnten Ihre eigenen oder einige sein, die nicht über andere Repositorys verfügbar sind. Dann gehe in den Ordner und führe das Skript aus, das wir dort abgelegt haben:
cd ~/deb-packages/
./import.sh
Damit sollte die so genannte Packages.gz- Datei erstellt werden, in der nach Informationen gesucht wird, welche Packages sich in diesem Repository befinden.
Das ist es
Warten Sie nun, bis Dropbox den Ordner synchronisiert hat, und rufen Sie die öffentliche URL von abPackages.gz . Es sollte ungefähr so aussehen:
http://dl.getdropbox.../Packages.gz
Wenn Sie das Ende dieses Links loswerden, fügen Sie weitere Wörter hinzu, und Sie können nun die folgende Zeile für die sources.list verwenden und füllen:
deb http://dl.getdropbox.../deb-packages ./
Das ist es, was Sie Ihr eigenes Deb-Repository zum Laufen gebracht haben. Immer lokal synchronisiert, aber jederzeit und überall für jedermann verfügbar.
HINWEIS:dpkg-scanpackages ist unter der dpkg-dev
Referenznummer erhältlich
@ rubo77, Danke, ich begrüße Sie, diese Infos am Ende meiner Antwort hinzuzufügen.
Totti
1
OK, ich habe gerade herausgefunden, dass Sie andere Parameter für Launchpad benötigen, um die .deb-Datei gerade nicht zu erstellen (nur -S): debuild -k'your GPG key here' -Sweil Launchpad die deb-Datei erstellt (wenn sie nicht abgelehnt wird) - was Wäre das "-us -uc" für?
Rubo77
2
Sie benötigen ein Launchpad.net-Konto, um ein PPA zu erstellen. Klicken Sie einfach auf Ihren Benutzer im Launchpad (klicken Sie oben links auf Ihren Namen) und erstellen Sie eine PPA. Möglicherweise müssen Sie zuerst den Verhaltenskodex unterzeichnen und einen GPG-Schlüssel in Ihrem Konto registrieren lassen.
Antworten:
Mit einem Personal Package Archive ( PPA ) können Sie Software und Updates direkt an Ubuntu-Benutzer verteilen. Erstellen Sie Ihr Quellpaket, laden Sie es hoch, und Launchpad erstellt Binärdateien und hostet sie in Ihrem eigenen Apt-Repository.
Hier ist eine detaillierte Erklärung .
quelle
So erstellen Sie eine .deb-Datei
Dies ist ein Tutorial zum Erstellen einer grundlegenden .deb-Datei aus einem bestimmten Beispielskript. In diesem Tutorial erstellen wir zunächst ein Beispielprogramm in Bash, das nur 'HALLO FROM PROGRAM' zeigt. Dann erstellen wir eine Steuerdatei für das Programm, um ein Debian-Installationsprogramm zu erstellen . Schließlich werden sie in eine
.deb
Datei gepackt.Schritte:
Erstellen Sie ein Beispielprogramm in Bash
Fügen Sie den folgenden Code ein
Machen Sie das Programm ausführbar
Erstellen Sie eine Steuerdatei für das Debian-Paket
Erstellen Sie eine Datei mit dem Namen
control
im OrdnerDEBIAN
und fügen Sie die folgenden Details ein
Sie können den Inhalt bearbeiten, wenn Sie möchten. Lesen Sie hier und hier mehr über das Format dieser Datei .
Erstellen Sie ein
postinst
Skript, das sofort nach der Installation des Pakets ausgeführt wirddann einfügen
und ausführbar machen
Erstellen Sie ein
prerm
Skript, das vor dem Entfernen des Pakets ausgeführt wirdund ausführbar machen
Erstellen Sie eine Paketstruktur und kopieren Sie Programme, Daten usw. Erstellen Sie eine Struktur Ihrer installierten Programme und ihrer Daten. In diesem Beispiel setzen wir die Datei auf
/bin
.Erstellen Sie die DEB- Datei.
Der
.
wird die.deb
Datei automatisch mit Version, Bogen usw. benennen. Oder Ihren benutzerdefinierten NamenOder wenn du die .deb Datei mit erstellst
dann kannst du es mit auf Ubuntu Launchpad hochladen
wie hier beschrieben (Quelle: Erstellen eines .deb-Pakets aus Skripten oder Binärdateien )
Installieren Sie das neu erstellte
.deb
Paket. Sie können es mit öffnen,software-center
aber möglicherweise können Sie es nicht installieren. Daher empfehle ich die Verwendung desgdebi
Paketmanagers.Jetzt können Sie es installieren. Während der Installation sollte ein GTK-Dialog angezeigt werden
Nach der Installation ein Terminal öffnen und eingeben
zenity_hello
. Wenn das Programm korrekt installiert ist und alles in Ordnung ist, sollten Sie einen GTK-Dialog sehenPaket entfernen
Veröffentlichen Sie Ihr Repository in 2 Minuten
Da der OP eine einfache Möglichkeit zur Veröffentlichung seiner Pakete wünscht, gebe ich einen leichten Hack.
Voraussetzung: Dropbox-Konto (oder ein anderer Dienst, z. B. Github ) mit einem öffentlichen Ordner.
Erstellen Sie einen Ordner in Ihrem Public-Dropbox-Ordner, in dem Sie Ihre * .deb-Dateien ablegen:
oder erstellen Sie diesen Ordner woanders und fügen Sie einen Symlink in Ihren öffentlichen Ordner ein:
Gehen Sie in diesen Ordner und erstellen Sie ein Skript, das bei der Ausführung die Datei Packages.gz erstellt, die alle erforderlichen Informationen zu Ihren Deb-Paketen enthält. erstellen:
lege dies hinein:
mach es ausführbar:
Kopieren Sie einige * .deb-Dateien in den Ordner. Könnten Ihre eigenen oder einige sein, die nicht über andere Repositorys verfügbar sind. Dann gehe in den Ordner und führe das Skript aus, das wir dort abgelegt haben:
Damit sollte die so genannte Packages.gz- Datei erstellt werden, in der nach Informationen gesucht wird, welche Packages sich in diesem Repository befinden.
Das ist es
Warten Sie nun, bis Dropbox den Ordner synchronisiert hat, und rufen Sie die öffentliche URL von ab
Packages.gz
. Es sollte ungefähr so aussehen:Wenn Sie das Ende dieses Links loswerden, fügen Sie weitere Wörter hinzu, und Sie können nun die folgende Zeile für die sources.list verwenden und füllen:
Das ist es, was Sie Ihr eigenes Deb-Repository zum Laufen gebracht haben. Immer lokal synchronisiert, aber jederzeit und überall für jedermann verfügbar.
HINWEIS:
dpkg-scanpackages
ist unter derdpkg-dev
Referenznummer erhältlich
quelle
releases/
Siehe github.com/rubo77/mouse-speed/blob/master/release/…debuild -us -uc -k'your GPG key here'
können Sie siedput ppa:<lp-username>/<ppa-name> packet-source.changes
wie hier beschrieben mit auf Launchpad hochladen (Quelle: Erstellen eines .deb-Pakets aus Skripten oder Binärdateien )debuild -k'your GPG key here' -S
weil Launchpad die deb-Datei erstellt (wenn sie nicht abgelehnt wird) - was Wäre das "-us -uc" für?Sie benötigen ein Launchpad.net-Konto, um ein PPA zu erstellen. Klicken Sie einfach auf Ihren Benutzer im Launchpad (klicken Sie oben links auf Ihren Namen) und erstellen Sie eine PPA. Möglicherweise müssen Sie zuerst den Verhaltenskodex unterzeichnen und einen GPG-Schlüssel in Ihrem Konto registrieren lassen.
quelle