Hin und wieder kommt es vor, dass ein Paket benötigt wird, welches nicht in den offiziellen Quellen von Arch-Linux zu finden ist. Das bedeutet jedoch nicht, dass es keine Möglichkeit gibt das Paket zu installieren, denn es existiert noch das sogenannte Arch User Repository (AUR). In diesem können Benutzer ihre Paketbeschreibungen in Form von PKGBUILD-Dateien anderen Nutzern bereitstellen. Dieser Artikel zeigt in sehr kurzer Form wie Pakete aus dem AUR gebaut und verwendet werden können und dient gleichzeitig als kleine Gedankenstütze.
Vorbereitungen
Zunächst müssen alle benötigten Pakete installiert werden. Diese sind alle in den offiziellen Paketquellen enthalten.
$ sudo pacman -S base-devel
Anschließend lohnt es sich einen Blick in die Datei /etc/makepkg.conf zu werfen, denn dort könne noch einige Feineinstellungen für den Buildvorgang und die Paketerstellung getroffen werden. Achtung: Anpassungen an den Compiler oder Linker Einstellungen sollten nur gemacht werden, wenn klar ist was diese genau bewirken, eine falsche Einstellung kann sich auch negativ auf das Ergebnis auswirken. Es empfiehlt sich jedoch einen Wert von MAKEFLAGS anzupassen. Dazu muss diese Zeile zunächst einkommentiert und anschließend der Wert hinter -j angepasst werden. Die Zahl gibt dabei an, wie viele Buildprozesse parallel laufen dürfen. Es empfiehlt sich hier mindestens die Anzahl der Prozessoren bzw. Kerne zu verwenden. Persönlich verwende ich immer <Anzahl der Kerne> + 1, da dies meist zu einer besseren CPU-Auslastung führt. Dies könnte dann bei zwei Kernen wie folgt aussehen.
MAKEFLAGS="-j3"
Die Anzahl der vorhandenen Kerne kann zum Beispiel mit dem Programm nproc ermittelt werden.
$ nproc
2
Sollten die Prozesse dennoch nicht parallel Ausgeführt werden, kann es sein, dass diese Einstellung vom Build-System wieder überschrieben wurde, um internen Abhängigkeitsproblemen zu umgehen.
Paket suchen und finden
Für die Suche im AUR gibt es eine extra Webseite. Dort können auch Kommentare zu den einzelnen PKGBUILDs hinterlassen werden. Es empfiehlt sich auch die Kommentare zu lesen, da dort vereinzelt auftretende Probleme und ihre Lösung teilweise schon beschrieben sind.
Paket bauen und installieren
Auf der Detailseite eines Paketes gibt es unter "Paketaktionen" den Link "Tar-Archiv herunterladen". Über diesen kann das Archiv mit der PKGBUILD-Datei und eventuell weiteren benötigten Dateien heruntergeladen werden. Im folgenden wird an Hand des fiktiven Paketes mit dem Namen "mein-paket" kurz gezeigt wie der Buildvorgang durchgeführt werden kann. Zuerst wird ein Ordner angelegt, das Tar-Archiv heruntergeladen und anschließend entpackt.
$ mkdir builds
$ cd builds
$ wget https://aur.archlinux.org/packages/mein-paket.tar.gz
$ tar -xvf mein-paket.tar.gz
$ cd mein-paket
Wurde alles entpackt kann das Paket gebaut werden. Die Option "-s" gibt dabei an, dass eventuelle Abhängigkeiten zu Paketen aus den offiziellen Quellen automatisch aufgelöst und installiert werden. Dafür muss jedoch sudo eingerichtet sein. Das Auflösen der Abhängigkeiten kann jedoch auch von Hand geschehen.
$ makepkg -s
Lief der Buildvorgang ohne Probleme, existiert anschließend das Paket, welches ohne weitere Umwege installiert werden kann.
$ sudo pacman -U mein-paket-1.0-x86_64.pkg.tar.gz
Danach sollte das Programm verwendet werden können.
Links
- Webseite: AUR Startseite (mehrsprachig, deutsch)
- Wiki: Arch User Repository (mehrsprachig, englisch)
- Wiki: PKGBUILD (mehrsprachig, englisch)