AA_PO-22490-123RF-ManuelRibeiro.jpg

© DebbieMous, sxc.hu

Aus vielen Quellen

Persönliche Paketarchive mit Ubuntu nutzen

19.01.2012 Brandaktuelle Software, außergewöhnliche Programme – über die Personal Package Archives ergänzen Sie, was in den Standard-Repositories fehlt. Der Y-PPA-Manager hilft, den Überblick über die Quellen zu behalten.

Ubuntu und darauf basierende Distributionen wie Mint-Linux erweisen sich in der Praxis als einfach zu bedienende Systeme. Einen Schönheitsfehler haben sie jedoch: Die standardmäßig enthaltene Software ist oft nicht ganz aktuell. Eine Lösung für dieses Problem heißt PPA. Hinter der Abkürzung verbergen sich Personal Package Archivs, also persönliche Paketarchiv eines einzelnen Entwicklers oder Teams. In diesen liegen Ubuntu-Pakete mit aktueller Software oder Programmen, die Sie in den Archiven des Distributors nicht finden.

Es gibt PPAs, die lediglich ein einzelnes Programm enthalten, etwa Converseen (faster3ck-converseen) oder Rapid-Photo-Downloader (dlynch3), und andere, die viele Zusatzpakete zu einer Software zusammenfassen, wie beispielsweise für Nautilus (am-monkeyd-nautilus-elementary-ppa) oder Conky (conky-hardcore). Andere, umfangreiche PPAs enthalten viele Programme, die teilweise in älteren Versionen schon in den Standard-Repositories enthalten sind, wie etwa nilarimogard-webupd8, das zum Beispiel den Avant Window Navigator, Gthumb und Minitube mitbringt, oder philip5/kubuntu-backports, das KDE-Backports zusammenfasst. Wie das letzte Beispiel zeigt, darf der PPA-Name darf auch aus mehren Teilen bestehen.

Viele PPAs liegen auf Launchpad [1], wo sie auch die Namen der jeweiligen PPAs nachschlagen können. Mittels add-apt-repository binden Sie eine Quelle von dieser Site ein. Das geht funktioniert stets nach dem gleichen Prinzip. Sie wechseln in einem Terminal in den Root-Account und geben die folgende Befehlszeile ein:

# add-apt-repository ppa:PPA-Name

Um das Repository zu nutzen, das den Y-PPA-Manager selbst enthält, lautet die Zeile wie folgt:

# add-apt-repository ppa:ppa:webupd8team/y-ppa-manager

In der angegebenen Form erzeugt der Befehl keinen Eintrag in der Datei /etc/apt/sources.list, sondern eine neue Datei zum PPA unter /etc/apt/sources.d/. Diese Vorgehensweise hat den Vorteil, dass bei einem Update, das die Datei sources.list ersetzt, die PPA-URLs nicht manuell zu übertragen braucht.

Für und Wider

Distributionen wie Linux Mint nutzen nicht nur Ubuntu-Repositories, sondern erstellen und pflegen darüber hinaus auch eigene Repositories, die normalerweise gut gewartete und sichere Software enthalten. Andere, wie etwa PinguyOS, machen dagegen ausgiebigen Gebrauch von PPAs, was immer mal wieder zu Problemen bei Updates führt.

Denn: So schön PPAs mit ihren topaktuellen Paketen sind, sie verursachen eben manchmal Schwierigkeiten: Zum Einen lässt die Qualität der Software gelegentlich zu wünschen übrig, da es sich oft um ganz neue, unfertige oder ungetestete Versionen handelt. Obendrein kommt es beim Paketieren immer wieder zu Problemen. Zum Anderen besteht die Gefahr, dass die aus einem PPA installierte Software Abhängigkeiten aufweist, die das System bei einem späteren Update nicht mehr automatisch auflösen kann. Ubuntu deaktiviert daher PPAs bei einem Release- oder Distributionsupgrade automatisch.

Ebenfalls aufgrund der Abhängigkeiten ist es nicht immer eine gute Idee, neue Software aus PPAs zu installieren. Im Fall von Gimp führt beispielsweise die Installation der neuen, instabilen Version 2.7.3 zur Deinstallation der stabilen Version 2.6.11. In Fällen wie diesen erweist es sich daher oft als besser, die instabilen Versionen nach der klassischen Methode mittels ./configure && make && make install oder checkinstall direkt aus den Quellen zu installieren.

Abhängigkeiten visualisieren Sie gegebenenfalls in einer Shell mit dem kleinen Tool Debtree. Dazu geben Sie debtree Paketname ein und erhalten eine Grafik im Dot-Format auf der Standardausgabe. Diese wandeln Sie mit dem Befehl dot in eine Bitmap- oder Vektorgrafik um, wobei Sie mit dem Parameter -TFormat das gewünschte Ausgabeformat festlegen. Die Manpages verraten Details zu diesen Befehlen. Nicht immer sind die Zusammenhänge so komplex wie bei Gimp oder Darktable, wie das Beispiel der coreutils zeigt (Abbildung 1).

Abbildung 1

Abbildung 1: Debtree visualisiert die Zusammenhänge von Paketen, hier am Beispiel der coreutils.

In eingeschränktem Maß bietet die Launchpad-Seite die Möglichkeit, die PPAs anhand von Stichwörtern nach den gewünschten Programmen zu durchsuchen. Ein Überblick über alle vorhandenen PPAs existiert aber nicht. Hier setzt nun der Y-PPA-Manager [1] an: Er bietet eine einfache Möglichkeit, PPAs einzubinden, aus der Konfiguration zu löschen, in PPAs nach Paketen zu suchen oder sie von dort zu laden.

Grundfunktionen

Nach dem Start präsentiert sich das Programm unspektakulär (Abbildung 2). Die aufgeräumte Oberfläche zeigt gerade mal sechs Icons an, über die Sie die meisten Aktionen mit einen Doppelklick auswählen. [Esc] schließt nicht mehr benötigte Fenster.

Abbildung 2

Abbildung 2: Die Grundfunktionen zeigt der Y-PPA-Manager nach dem Start.

Kennen Sie ein benötigtes PPA bereits,weil Sie den Namen beispielsweise in einer Dokumentation gefunden haben, so bietet sich Add a PPA an, um dieses den APT-Quellen hinzuzufügen. Das funktioniert allerdings nicht immer, auch wenn die Software dies zunächst behauptet – im Test gab es beispielsweise unter Linux Mint Probleme. Es gibt unglücklicherweise keine Log-Datei, aus der sich die Gründe ersehen ließen. In diesen Fällen bleibt immer noch die Möglichkeit, die gewünschte Software via add-apt-repository oder über die Quellen von Synaptic manuell einzubinden.

Der zweite Punkt Remove a PPA zeigt eine Liste mit allen auf dem aktuellen System eingebundenen PPAs und bietet keine Überraschungen: Sie wählen das gewünschte PPA aus, um es nach einer Rückfrage zu entfernen. Ein Doppelklick auf eines der Packages öffnet einen Browser, der die Informationen des PPAs anzeigt.

List Packages in a PPA enabled on your computer (Abbildung 3) zeigt Ihnen einerseits, welche PPAs derzeit in Ihrem System aktiviert sind, und andererseits, welche Pakete diese vorhalten. Ein Doppelklick öffnet die angezeigten PPAs und zeigt den Inhalt an. Alternativ nutzen Sie dazu den Schalter List Packages.

Abbildung 3

Abbildung 3: Im System eingebundene PPAs zeigt der Y-PPA-Manager direkt an, über List Packages auch die im Repository vorhandenen Pakete.

Hinter Advanced verbergen sich vier weitere Aktionen: Purge a PPA entfernt eine Quelle aus dem System und löscht dabei zusätzlich die aus dem fraglichen PPA installierten Pakete. Das hat mitunter weitreichende Auswirkungen, da die Aktion Abhängigkeiten automatisch berücksichtigt und gegebenenfalls ein Downgrade anderer betroffener Pakete erfolgt.

Scan and remove duplicate PPAs untersucht die Quellen auf doppelte Einträge, die die Software dann auf Wunsch entfernt. Backup Repositories erzeugt ein komprimiertes TAR-Archiv mit den PPA-Einträgen unter /etc/apt/sources.d, die Sie bei Bedarf über Restore repository backup wieder einspielen. Der Dateiname des erzeugten Archivs folgt der Namenskonvention

repositories.backup-Datum.tar.gz

Spannend wird es, wenn es um die Suche nach PPAs geht, die eine bestimmte Software vorhalten. Search in all PPAs stellt diese Funktion zur Verfügung. Ein Klick öffnet ein kleines Fenster zur Eingabe des Suchbegriffs. In vielen Fällen liefert eine Anfrage eine ganze Reihe von Treffern. Bisher gibt es jedoch noch keine Möglichkeit, derzeit leere PPAs zu erkennen oder von vorne herein zu erkennen, welche Pakete die angezeigten PPAs enthalten. Letzteres ist für das aktuell ausgewählte PPA mit dem Button List Packages oder durch einen Doppelklick auf den Eintrag zwar möglich. Das fällt aber bei vielen Ergebnissen recht umständlich aus. Nicht alle als leer erkannten PPAs enthalten wirklich keine Pakete, manchmal sind nur keine für die lokal vorhandene Version vorhanden.

Settings bietet eine rudimentäre Schnittstelle zur Konfiguration des Programms. Dort gibt es derzeit nur drei Optionen, die die Applikation in der Konfigurationsdatei /etc/y-ppa-manager.conf speichert.

Besonderheiten

Die Software liegt nicht als C oder Python-Programm vor, sondern als Bash-Skript, mit Yad ("Yet Another Dialog") als Frontend und einem kleinen Python-Helfer als Unterstützung. Diese Konstruktion macht es einfach, Veränderungen oder eigene Ergänzungen vorzunehmen. Tatsächlich besteht Y-PPA-Manager bei genauem Hinsehen aus aus drei Teilen: der GUI Y-PPA-Manager, dem Backend Y-PPA-Cmd und dem Skript list_search_ppas zur Suche in den PPAs. Das Hauptskript erlaubt den direkten Aufruf beziehungsweise den Einsatz in Skripten. Die Syntax fällt einfach aus:

$ y-ppa-cmd Option

Bisher gibt es nur die oben bereits vorgestellten Optionen add, remove, purge, list, advanced, search, settings sowie help, das eine kleine Hilfe anzeigt. Die meisten Optionen öffnen Dialoge, sodass Befehle wie y-ppa-cmd search gimp bisher nicht funktionieren. Immerhin gibt y-ppa-cmd list die eingebundenen PPAs als Liste auf die Standardausgabe aus.

Fazit

Der Y-PPA-Manager erweist sich für Ubuntu-User als ein sinnvolles, wenn auch noch nicht ganz ausgereiftes Werkzeug zum Verwalten zusätzlicher Software aus PPAs. Die Basisfunktionen laufen ausreichend gut, um sie bereits zu nutzen. Die Möglichkeiten zum Hinzufügen, Entfernen sowie das Backup und Restore sind sinnvoll, nur bei der Suche muss man immer noch gelegentlich auf die Launchpad-Seiten zurückgreifen. Beim Dialog-Tool Yad handelt es sich um eine interessante Neuentwicklung, die zum Spielen verleitet. 

Infos

[1] Y-PPA-Manager: https://launchpad.net/y-ppa-manager

[2] Recutils: info recutils

[3] PPAs freischalten: http://wiki.ubuntuusers.de/Paketquellen_freischalten/PPA?highlight=ppa

[4] Ubuntu-Pakete bauen: https://wiki.ubuntu.com/PackagingGuide/Complete

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare