Wie erstelle ich eine PPA?

113

Wie erstelle ich mein eigenes benutzerdefiniertes PPA, um es mit der Ubuntu-Community zu teilen? Ich versuche, mein eigenes benutzerdefiniertes Paket zu erstellen und möchte es gerne mit der Community teilen.

    
Jebeld17 24.10.2011, 17:54
quelle

3 Antworten

85

Mit einem persönlichen Paketarchiv ( 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 dann in Ihrem eigenen Apt-Repository.

Hier ist eine detaillierte Erklärung .

    
hhlp 24.10.2011, 18:01
quelle
74

So erstellen Sie eine .deb-Datei

Dies ist ein Tutorial zum Erstellen einer einfachen .deb-Datei aus einem gegebenen Beispielskript. In diesem Tutorial erstellen wir zuerst ein Beispielprogramm in bash, das nur 'HALLO FROM PROGRAM' anzeigt. Dann erstellen wir eine Kontrolldatei für das Programm, um ein Debian-Installationsprogramm zu erstellen. Schließlich sind sie in eine .deb -Datei gepackt.

Schritte:

  1. 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 
    
  2. Machen Sie das Programm ausführbar

    chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
    
  3. Erstellen Sie eine Steuerdatei für das Debian-Paket

    Erstellen Sie eine Datei namens control im Ordner DEBIAN

    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 mehr über das Format dieser Datei hier und hier .

  4. Erstellen Sie postinst script, das unmittelbar nach der Installation des Pakets ausgeführt wird

    gedit "$HOME"/create_deb/DEBIAN/postinst
    

    fügen Sie dann

    ein
    #!/bin/sh
    set -e
    echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
    

    und mache es ausführbar

    chmod +x "$HOME/create_deb/DEBIAN/postinst"
    
  5. Erstellen Sie prerm script, das vor dem Entfernen des Pakets ausgeführt wird

    #!/bin/sh
    set -e
    echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
    

    und mache es ausführbar

    chmod +x "$HOME/create_deb/DEBIAN/prerm"
    
  6. Package-Struktur erstellen und Programme, Daten usw. kopieren.
    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"
    
  7. Erstellen Sie die .deb -Datei.

    dpkg-deb --build "$HOME"/create_deb .
    

    Der . wird automatisch die .deb Datei mit der Version, dem Bogen usw. oder Ihrem benutzerdefinierten Namen

    benennen
    dpkg-deb --build "$HOME"/create_deb "$HOME"/create_deb/hellodeb.deb
    

    Oder wenn Sie die .deb-Datei mit

    erstellen
    debuild -k'your GPG key here' -S
    

    dann können Sie es mit

    auf Ubuntu Launchpad hochladen
    dput ppa:<lp-username>/<ppa-name> packet-source.changes
    

    wie beschrieben hier (Quelle: Erstellen eines .deb-Pakets aus Skripten oder Binärdateien )

  8. Installieren Sie das neu erstellte .deb -Paket. Sie können es mit software-center öffnen, aber Sie können es möglicherweise nicht installieren. Daher empfehle ich, gdebi package manager zu verwenden.

    sudo apt-get install gdebi
    
    gdebi "$HOME"/create_deb/hellodeb.deb
    

    Jetzt können Sie es installieren. Während der Installation sollten Sie einen gtk Dialog

    sehen
      

    Installationsprogramm: zenity_hello.sh ......

  9. Öffnen Sie nach der Installation ein Terminal und geben Sie zenity_hello ein. Wenn das Programm korrekt installiert wurde und alles in Ordnung ist, sollte ein gtk dialog

    angezeigt werden
      

    Hallo aus dem Programm

  10. Entfernen des Pakets

    sudo apt-get remove zenity_hello
    

Veröffentlichen Sie Ihr Repository in 2 Minuten

Da das OP eine einfache Möglichkeit hat, seine Pakete zu veröffentlichen, gebe ich einen einfachen Hack.

Voraussetzung: Dropbox (oder jeder andere Dienst, z. B. github ) Konto mit einem öffentlichen Ordner.

  1. Erstellen Sie einen Ordner in Ihrem Public-Dropbox-Ordner, in den Sie Ihre * .deb-Dateien einfügen:

    mkdir ~/Dropbox/Public/deb-packages  
    

    oder erstellen Sie den 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
    
  2. Gehen Sie in diesen Ordner und erstellen Sie ein Skript, das bei seiner Ausführung die Packages.gz erstellt, die alle benötigten Informationen über Ihre Deb-Pakete enthält. Erstellen:

    gedit import.sh  
    

    setze das ein:

    #!/bin/bash
    dpkg-scanpackages . /dev/null |gzip > Packages.gz
    

    mach es ausführbar:

    chmod  x import.sh
    
  3. Kopieren Sie einige * .deb-Dateien in den Ordner. Dies können Ihre eigenen oder einige sein, die nicht durch andere Repositories verfügbar sind. Gehe dann in den Ordner und führe das Skript aus, das wir dort eingefügt haben:

    cd ~/deb-packages/ 
    ./import.sh
    

    Das sollte die so genannte Datei Packages.gz erstellen, die apt sucht, um zu wissen, welche Pakete sich in diesem Repository befinden.

Das ist es

Warten Sie jetzt, bis Dropbox den Ordner synchronisiert und die Public-URL von Packages.gz übernommen hat. Es sollte ungefähr so ​​aussehen:

http://dl.getdropbox.../Packages.gz

Entfernen Sie das Ende dieses Links, fügen Sie ihm weitere Wörter hinzu, und Sie können jetzt die folgende Zeile für die sources.list verwenden und ausfüllen:

deb http://dl.getdropbox.../deb-packages ./

Damit haben Sie Ihr eigenes Deb-Repository laufen. Immer lokal synchronisiert, aber für jeden jederzeit und überall verfügbar.

HINWEIS: dpkg-scanpackages ist verfügbar von dpkg-dev
Referenz

    
totti 09.07.2014 13:16
quelle
2

Sie benötigen ein Launchpad.net-Konto, um ein PPA zu erstellen. Klicken Sie einfach auf Ihren Benutzer auf Launchpad (klicken Sie auf Ihren Namen oben links) und erstellen Sie eine PPA. Möglicherweise müssen Sie zuerst den Verhaltenskodex unterschreiben und einen GPG-Schlüssel bei Ihrem Konto registrieren lassen.

    
GTRsdk 24.10.2011 18:03
quelle

Tags und Links