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.
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.
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 .
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.
Erstellen Sie ein Beispielprogramm in Bash
mkdir "$HOME/create_deb/pgmdir"
gedit "$HOME/create_deb/pgmdir/zenity_hello.sh"
Fügen Sie den folgenden Code ein
#!/bin/bash
echo 'HELLO FROM PROGRAM' | zenity --text-info
Machen Sie das Programm ausführbar
chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
Erstellen Sie eine Steuerdatei für das Debian-Paket
Erstellen Sie eine Datei mit dem Namen control
im OrdnerDEBIAN
mkdir "$HOME"/create_deb/DEBIAN
gedit "$HOME"/create_deb/DEBIAN/control
und fügen Sie die folgenden Details ein
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 postinst
Skript, 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 prerm
Skript, 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
.
mkdir -p "$HOME"/create_deb/bin
cp "$HOME/create_deb/pgmdir/zenity_hello.sh" "$HOME/create_deb/bin/zenity_hello"
Erstellen Sie die DEB- Datei.
dpkg-deb --build "$HOME"/create_deb .
Der .
wird die .deb
Datei automatisch mit Version, Bogen usw. benennen. Oder Ihren benutzerdefinierten Namen
dpkg-deb --build "$HOME"/create_deb "$HOME"/create_deb/hellodeb.deb
Oder wenn du die .deb Datei mit erstellst
debuild -k'your GPG key here' -S
dann kannst du es mit auf Ubuntu Launchpad hochladen
dput ppa:<lp-username>/<ppa-name> packet-source.changes
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 des gdebi
Paketmanagers.
sudo apt-get install gdebi
gdebi "$HOME"/create_deb/hellodeb.deb
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
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:
gedit import.sh
lege dies hinein:
#!/bin/bash
dpkg-scanpackages . /dev/null |gzip > Packages.gz
mach es ausführbar:
chmod x import.sh
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.
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
releases/
Siehe github.com/rubo77/mouse-speed/blob/master/release/…
debuild -us -uc -k'your GPG key here'
können Sie sie dput 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.