[[Vorlage(Getestet, general)]] [[Vorlage(Fremd, Quelle)]] {{{#!vorlage Wissen [:mit Root-Rechten arbeiten: Root-Rechte] [:Paketquellen freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal bedienen] (optional) [:Editor: Einen Editor bedienen] (optional) [:Paketinstallation_DEB: deb-Pakete installieren] (plattformabhängig) }}} [[Inhaltsverzeichnis(3)]] [[Bild(./launchpad-logo.png, 48, align=left)]] [:Launchpad:] bietet Entwicklern bzw. Paketbetreuern den Service "Personal Package Archive" (kurz [:Launchpad/PPA:PPA]) an. Diese können Debian-Quellpakete in ein PPA hochladen. Launchpad baut daraus automatisiert Binär-Pakete für verschiedene Architekturen und Ubuntu-Versionen. Damit entfällt für reine Benutzer das Kompilieren aus dem Quellcode, was Einsteiger häufig überfordert und erleichtert die Installation von Programmen, die nicht oder nur in einer älteren Version in den offiziellen Paketquellen enthalten sind. In diesem Artikel wird das Hinzufügen eines PPA als Paketquelle für das eigene System beschrieben. Dabei sollte immer bedacht werden, dass ein PPA grundsätzlich eine [:Fremdquellen:Fremdquelle] ist und die Systemstabilität gefährden kann. Ohne einen triftigen Grund sollten stets die offiziellen Paketquellen vorgezogen werden. Vor dem Hinzufügen sollte daher die (englischsprachige) Launchpad-Seite zum jeweiligen PPA kontrolliert werden, um zu überprüfen, wozu das PPA dient und wie es betreut wird: [[Vorlage(Bildunterschrift, technicaldetails.png, 200, "Technische Details eines PPAs", right)]] * Welche Ubuntu-Versionen werden unterstützt? * Handelt es sich um stabile oder Test-Versionen? * Wird zusätzliche Software angeboten? * Ist das PPA gut gepflegt oder veraltet? * Gibt es ungelöste Fehlerberichte, die mich auch betreffen könnten? * Werden Sicherheitsaktualisierungen eingepflegt? * Vorgängerversionen sind i.d.R. nach Aktualisierungen im PPA nicht mehr verfügbar. Ein PPA kann auch weitere PPAs als Abhängigkeit haben. Dies kann allerdings (noch) nicht von der Paketverwaltung aufgelöst werden und kann nur auf der PPA-Seite in Erfahrung gebracht werden. Alle Informationen, die im Folgenden erläutert werden, finden sich auch auf der jeweiligen PPA-Seite, insbesondere unter den "''Technical details about this PPA''". = PPA hinzufügen = Das Hinzufügen einer Paketquelle verlangt Root-Rechte [1]. Nach dem Hinzufügen müssen die Paketquellen neu eingelesen werden, damit die neuen Pakete gefunden werden. Um Programme aus einem PPA zu installieren, muss es, wie andere Paketquellen auch, in der Paketverwaltung freigeschaltet werden [2]. Bei einem PPA ist dies jedoch recht komfortabel. == Ubuntu / Unity ab Ubuntu 18.04 == {{{#!vorlage Befehl software-properties-gtk }}} Die Abfrage nach dem Administrator-Passwort erfolgt automatisch beim Speichern. In dem neu geöffneten Fenster mit dem Titel ''"Anwendungen & Aktualisierungen"'' geht man auf den Tab ''"Andere Programme"''. Mit einem weiteren Klick auf ''"Hinzufügen"'' wird man nun nach der ''"APT-Zeile"'' gefragt. Diese setzt sich folgendermaßen zusammen: {{{ ppa:LAUNCHPAD-NUTZERNAME/PPA-NAME }}} `LAUNCHPAD-NUTZERNAME` muss dabei durch den PPA-Besitzer ersetzt werden. Für `PPA-NAME` wird der tatsächliche Name des PPA verwendet. Der Besitzer kann auch ein "Launchpad-Team" sein. Der Name des PPA (Standard: `ppa`) wird vom Besitzer festgelegt, so kann es beispielsweise ein `stable`- und ein `testing`-PPA für ein Projekt geben. == KDE == Für KDE-Benutzer lautet der Befehl zum Aufrufen eines grafischen Verwaltungswerkzeugs: {{{#!vorlage Befehl software-properties-kde }}} Zur Ausführung sind Root-Rechte notwendig[1], die Abfrage nach dem Administrator-Passwort erfolgt automatisch bei Start des Programms. == Kommandozeile == Seit [:Karmic:Ubuntu 9.10] bietet das in der Standard-Installation enthaltene Paket '''python-software-properties''' diese Funktion auch für die Kommandozeile (unter [:Bionic_Beaver/:Ubuntu 18.04] heißt das entsprechende Paket '''software-properties-common'''). Der allgemeine Aufruf lautet [3]: {{{#!vorlage Befehl sudo add-apt-repository ppa:LAUNCHPAD-NUTZERNAME/PPA-NAME }}} (Neben dem richtigen Namen '''add-apt-repository''' gibt es für dieses Programm meist noch den symbolischen Link '''apt-add-repository''', den man alternativ benutzen kann.) Seit [:Maverick_Meerkat:Ubuntu 10.10] wird damit automatisch eine neue Datei im Ordner '''/etc/apt/sources.list.d/''' erstellt. Der nächste Schritt ist bei Verwendung der Kommandozeile immer der gleiche: {{{#!vorlage Befehl sudo apt install PAKETNAME }}} Selbstverständlich lassen sich diese beiden Schritte auch innerhalb von [:Ubuntu Software:] oder mit der bevorzugten [:Paketverwaltung:] ausführen. == Beispiele == Konkrete Beispiele findet man in vielen Wiki-Artikeln, wie: * '''ppa:shutter/ppa''' für das PPA der [:Shutter:]-Entwickler (LAUNCHPAD-NUTZERNAME = shutter und PPA-NAME = ppa) * '''ppa:freetuxtv/freetuxtv''' für [:FreetuxTV:] * und in vielen weiteren [https://wiki.ubuntuusers.de/Wiki/Vorlagen/PPA/a/backlinks Artikeln], die den [:Wiki/Textbausteine#PPA-Vorlage:Textbaustein PPA] verwenden. Ein Beispiel, so wie man es des Öfteren in Wiki-Artikeln findet: ---- [[Vorlage(PPA, shutter, ppa)]] ---- {{{#!vorlage Hinweis Es kann durchaus sinnvoll sein, sich die im Hinweiskasten verlinkte PPA-Beschreibung anzusehen, da Entwickler diese gerne für Informationen nutzen. }}} == Manuell == Dies entspricht folgendem Vorgehen, das für alle Ubuntu-Versionen gilt: In die Datei [:sources.list:] oder in eine eigene Datei im Verzeichnis [:sources.list#etc-apt-sources-list-d:/etc/apt/sources.list.d/] wird die ''"APT-Zeile"'' eingetragen, wobei der `LAUNCHPAD-NUTZERNAME`, der `PPA-NAME ` und der Codename für die Ubuntu-Version (hier: `bionic`) ersetzt werden müssen.[4] {{{ deb [signed-by=/etc/apt/keyrings/schluessel.gpg] http://ppa.launchpad.net/LAUNCHPAD-NUTZERNAME/PPA-NAME/ubuntu bionic main # deb-src [signed-by=/etc/apt/keyrings/schluessel.gpg] http://ppa.launchpad.net/LAUNCHPAD-NUTZERNAME/PPA-NAME/ubuntu bionic main }}} Entfernt man die Raute am Anfang der zweiten Zeile, fügt man das Archiv mit den Quellpaketen hinzu. Dies ist aber nur für diejenigen wichtig, die ein Programm selbst aus dem Quelltext übersetzen möchten. Die APT-Zeilen können auch unter den ''"Technical details about this PPA"'' der Launchpad-Seite auf die jeweilige Ubuntu-Version angepasst angezeigt werden. [[Vorlage(Bildunterschrift, key.png, "Die Schlüssel-ID", right)]] Um die Quelle zu verwenden, sollte man den Signatur-Schlüssel einspielen. Die Schlüssel-ID kann man ebenfalls auf der Launchpad-Seite des PPA unter den ''"Technical details about this PPA"'' nachlesen. Diese setzt man in dem folgenden Befehl[3] für `ID` ein: {{{#!vorlage Befehl sudo -H gpg -k && sudo -H gpg --no-default-keyring --keyring /usr/share/keyrings/schluessel.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys }}} Den Namen für den Schlüssel sollte man ebenfalls anpassen. Nach dem Auffrischen der Paketinformationen können nun Pakete aus dem PPA installiert werden. = PPA entfernen = Analog zum [#Kommandozeile obigen Befehl] kann ein PPA mit der Option `-r` auch wieder entfernt werden: {{{#!vorlage Befehl sudo add-apt-repository -r ppa:LAUNCHPAD-NUTZERNAME/PPA-NAME sudo apt-get update }}} Es wird aber nur das PPA entfernt, nicht das oder die von dort installierte/n Paket/e, bzw. auch nicht die automatisch hinzugefügten Signatur-Schlüssel. Zum Deinstallieren von Paketen nutzt man eine beliebige [:Pakete_installieren:Paketverwaltung] oder das im nächsten Abschnitt beschriebene Programm ppa-purge. == PPA Purge == Mit dem Programm `ppa-purge` ist es möglich, ein PPA zu deaktivieren und die in dem PPA enthaltene Software wieder auf die Version zu bringen, die von den offiziellen Paketquellen bereitgestellt wird. Das Programm kann direkt aus den Paketquellen installiert werden: {{{#!vorlage Paketinstallation ppa-purge, universe }}} Man deaktiviert ein PPA mit `ppa-purge`, so wie man es mit `add-apt-repository` hinzufügt hat: {{{#!vorlage Befehl sudo ppa-purge ppa:LAUNCHPAD-NUTZERNAME/PPA-NAME }}} Mit diesem Befehl wird nur das PPA deaktiviert, die Einträge in den Paketquellen bleiben kommentiert erhalten. Kommt es zu Problemen mit dem Signierungsschlüssel von wieder eingebundenen PPAs, kann eine Problembehebung unter [:Paketverwaltung/Problembehebung#Fehler-beim-Reaktivieren-geloeschter-PPAs:] nachgelesen werden. Pakete, die in den offiziellen Paketquellen nicht vorhanden sind, werden auch nicht entfernt. Die Pakete aus einem deaktivierten PPA müssen bei Bedarf über eine beliebige [:Pakete_installieren:Paketverwaltung] deinstalliert werden. {{{#!vorlage Experten ppa-purge übergibt den Reinstallationsbefehl an [:apt-get:] oder [:aptitude:]. Greift ppa-purge aufgrund der Einstellung oder als Rückfalllösung auf aptitude mit der Standardeinstellung ''"Aptitude::Delete-Unused"'' zu, werden nicht mehr benötigte Pakete - nach Rückfrage - zusätzlich entfernt. Es ist also genau darauf zu achten, was entfernt werden soll, um ggfs. vorher abzubrechen (das PPA ist zu dem Zeitpunkt schon deaktiviert). Ein weiteres Problem können laufende Programminstanzen darstellen, die bei der grafischen Anmeldung automatisch gestartet werden und im Hintergrund laufen. Die Paketverwaltung kümmert sich zwar um die Einträge für die Paketquellen und die Installation neuerer oder älterer Paketversionen, bereits laufende Programme werden aber nicht beendet und neu gestartet. Ausnahme: [:Dienste:] können automatisch angehalten und wieder gestartet werden. Wer auf Nummer sicher gehen will, beendet vorher die grafische Sitzung und nutzt ppa-purge auf der [:Terminal#Virtuelle-Konsole:Konsole]. Mehr zu den Optionen erfährt man bei Benutzung der Option `-h`: {{{#!vorlage Befehl ppa-purge -h \}}} }}} = Links = == Intern == * [:Launchpad/PPA:] - Ein eigenes PPA betreiben * [:Wiki/Textbausteine#PPA-Vorlage:Textbaustein PPA] - Vorlage zur Verwendung in Wiki-Artikeln * [:Y_PPA_Manager:] - Werkzeuge zum Umgang mit PPAs * [:Paketverwaltung:] {Übersicht} Übersichtsartikel == Extern == * [https://help.launchpad.net/Packaging/PPA/InstallingSoftware Adding a PPA to your Ubuntu system] {en} # tag: Paketverwaltung