Meist taucht nur wenige Stunden nach dem Release eines quelloffenen Programms dieses bereits in den Paketquellen von Arch Linux auf. Dabei geht schon mal etwas zu Bruch – besonders, wenn Sie Ihr Arch mit Software aus dem AUR anreichern.
Eine der größten Stärken von Arch Linux liegt in der Aktualität der Software. So trudelt zum Beispiel eine neue Gnome-Version meist nur wenige Tage nach der Veröffentlichung in den Paketquellen ein (Abbildung 1). Für kleinere Anwendungsprogramme brauchen die Paketbetreuer oft sogar nur wenige Stunden.
Bei anderen Distributionen wie etwa Ubuntu müssten Sie für ein Gnome-Update mit PPA-Paketquellen hantieren und damit riskieren, dass diese sich bei einem Upgrade auf eine neue Ubuntu-Version querstellen – oder Sie warten darauf, dass die nächste Version auch ein aktuelles Gnome mitbringt.
Die Aktualität und Flexibilität von Arch Linux hat jedoch ihren Preis: Gelegentlich kommt es in der Paketverwaltung zu Konflikten. Das gilt insbesondere, wenn Sie nicht in den Arch-Quellen enthaltene Software über das Arch-User-Repository (kurz AUR) installieren. Doch diese Probleme lassen sich im Normalfall recht leicht ausbügeln. Am folgenden Beispiel demonstrieren wir Ihnen das entsprechende Vorgehen.

Abbildung 1: Nur wenige Tage nach der Veröffentlichung großer Software-Projekte wie Gnome stehen diese als Update in den Paketquellen von Arch zur Verfügung.
Pacman-Konflikte auflösen
In unserem Beispiel hing das große Gnome-Update auf zwei ähnlich konfigurierten Rechnern fest, die Installation brach allerdings mit ganz unterschiedlichen Dateikonflikten ab – eine der typischen Instabilitäten, denen Arch-Anwender ab und an begegnen. Die Konflikte entstehen meist dann, wenn Pakete bei der Installation Files an Stellen im Dateisystem abgelegt haben, an die andere Pakete gleichnamige Dateien hinschieben möchten. Pacman bricht bei solchen Problemen kurzerhand den kompletten Installationsvorgang ab (Listing 1) und lässt Sie erst einmal ohne weitere Anweisungen im Regen stehen.
Listing 1
$ sudo pacman -Syu ... (162/162) Überprüfe Paket-Integrität [######################] 100% (162/162) Lade Paket-Dateien [######################] 100% (162/162) Prüfe auf Dateikonflikte [######################] 100% Fehler: Konnte den Vorgang nicht durchführen (In Konflikt stehende Dateien) gtksourceview3: /usr/share/gtksourceview-3.0/styles/solarized-dark.xml existiert im Dateisystem gtksourceview3: /usr/share/gtksourceview-3.0/styles/solarized-light.xml existiert im Dateisystem Fehler sind aufgetreten, keine Pakete wurden aktualisiert.
Die Lösung dieses Problems fällt zwar nicht sonderlich schwer, allerdings müssen Sie sich ein wenig mit dem Pacman-Paketmanager von Arch vertraut machen. Im ersten Schritt gilt es herauszufinden, welches Paket in Listing 1 denn nun für die Datei solarized-dark.xml im Verzeichnis /usr/share/gtksourceview-3.0/styles/ verantwortlich zeichnet und so die Installation des überarbeiteten Pakets gtksourceview3 verhindert.
Highlander: Es kann nur …
Rufen Sie dazu pacman mit der Option -Qo und dem vollen Pfad der beim Pacman-Update als problematisch gemeldeten Datei auf (Listing 2). Unter Debian oder Ubuntu entspräche der Befehl dem Aufruf von dpkg -S /Pfad/zur/Datei. Der Schalter veranlasst Pacman, in seiner Datenbank zu recherchieren und auszugeben, aus welchem Paket die Datei stammt.
Listing 2
$ pacman -Qo /usr/share/gtksourceview-3.0/styles/solarized-light.xml /usr/share/gtksourceview-3.0/styles/solarized-light.xml ist in gedit-solarized-git 20130705-1 enthalten
Der Schuldige ist somit schnell gefunden: gedit-solarized-git (zuvor aus dem AUR installiert) belegt den Platz, den nun auch gtksourceview3 aus den herkömmlichen Paketquellen einnehmen möchte. Um das Problem zu beheben, werfen Sie nun am besten das unwichtigere Paket – in diesem Fall also gedit-solarized-git – vom Rechner (Listing 3).
Listing 3
$ sudo pacman -Rc gedit-solarized-git $ sudo pacman -Syu
Nach dessen Deinstallation läuft dann auch das große Gnome-Update reibungslos durch. Meldet Pacman im weiteren Verlauf mehr solcher Konflikte, dann müssen Sie diese auf demselben Weg lösen. Das ist nicht schwer, und auch der damit verbundene Zeitaufwand hält sich in Grenzen.
Solche Dateikonflikte sollte es mit Paketen aus den “Main”-Quellen von Arch eigentlich nie geben: Hier achten die Maintainer auf das Abstimmen der Speicherorte und lassen sämtliche Software Tests durchlaufen, während derer solche Konflikte auffallen. Tritt dennoch solch ein Fehler auf, so muss das Arch-Projekt ein Update des betroffenen Pakets nachschieben.
PackageKit
Für alltägliche Updates und die Installation gängiger Programme müssen Sie unter Arch bald nicht mehr zwingend zum Pacman-Befehl im Terminal oder einer der zahlreichen, aber oft unbefriedigend arbeitenden Pacman-GUIs [1] greifen. Ab Gnome 3.14 harmoniert die auf PackageKit aufsetzende Gnome-Software-App [2] reibungsfrei mit der Arch-Paketverwaltung – allerdings fehlt das Programm bislang noch in den offiziellen Paketquellen von Arch: Die Arch-Entwickler halten die Software zurück, bis sie auch PackageKit 1.0 [3] in die Distribution eingepflegt haben.
Mutige testen beide Programme aber auch jetzt schon über das Gnome-“Unstable”-Repository. Möchten auch Sie die Gnome-Software ausprobieren (Abbildung 2), dann fügen Sie die Paketquelle entsprechend Listing 4 der Pacman-Konfigurationsdatei /etc/pacman.conf hinzu und spielen dann das Programm mitsamt PackageKit 1.0 aus der Gnome-“Unstable”-Paketquelle ein (Listing 5). Alternativ installieren Sie den Vorgänger von gnome-Software, das Paket gnome-packagekit, aus den herkömmlichen Paketquellen.
Listing 4
[gnome-unstable] Include = /etc/pacman.d/mirrorlist
Listing 5
$ sudo pacman -Syu $ sudo pacman -S gnome-unstable/packagekit gnome-software

gnome-software in der Version 3.14.” width=”300″ height=”200″ />
Abbildung 2: In Aktion: Die Gnome-Software-App aus dem Paketgnome-software in der Version 3.14.Fazit
Ubuntu mit einer Rolling-Release-Distribution wie Arch Linux zu vergleichen, ist nicht ganz fair. Allerdings setzen viele Anwender aufgrund der kurzen Release-Zyklen, der Verbreitung von PPA-Paketquellen in der Entwickler-Community und der damit verbundenen Aktualität der Software ganz gezielt auf Ubuntu als Distribution der Wahl.
Vergleicht man nun den Zeitaufwand für das Lösen der beschriebenen Pacman-Konflikte mit jenem, um ein Ubuntu mit zahlreichen PPAs aktuell zu halten und es dann auf eine neue Ubuntu-Version zu aktualisieren, dann bedeuten die nur selten auftretenden Konflikte in der Arch-Paketverwaltung deutlich weniger Arbeit für die Freunde topaktueller Software-Versionen.
Infos
[1] Pacman-GUI-Frontends: https://wiki.archlinux.org/index.php/Pacman_GUI_Frontends
[2] Paket gnome-software: https://wiki.gnome.org/Apps/Software
[3] “PackageKit 1.0.0 released”: http://lists.freedesktop.org/archives/packagekit/2014-September/026297.html





