Schwerpunkt XBPS © scanrail, 123RF © scanrail,

Paketmanagement mit XBPS bei Void Gut eingepackt

Die Linux-Distribution Void pflegt mit XBPS ein eigenes Paketmanagementsystem.

Es arbeitet rasend schnell und erlaubt den Bau eigener Pakete. Ferdinand Thommes

Paketverwaltungen bilden das Herz- dem lässt sich der Paketbestand nach stück aller Linux-Distributionen. Die Pa- verschiedenen Kriterien durchsuchen. ketverwaltung regelt bei der Installation Die am häufigsten anzutreffenden von Software die Verteilung der Kompo- ­Paketverwaltungssysteme unter Linux README nenten des Pakets in die Verzeichnis- bedienen die Formate DEB und RPM. struktur des Filesystem Hierarchy Stan- ­Daneben gibt es neben Exoten wie Nix XBPS dient bei Void Linux nicht nur zum dard (FHS) , den fast alle Distributio- unter anderem Pacman bei , Verwalten des Paketbestands, sondern mit nen seit 1993 verwenden. Portage bei Gentoo, Eopkg bei der Erweiterung Xbps-src zum Bau von Pa- In den Aufgabenbereich einer Paket- oder XBPS bei Void. Mit Letzterem be- keten. Durch Änderungen an den vorgege- verwaltung fallen neben der Installation schäftigt sich dieser Artikel. benen Rezepten erstellen Sie abgewandelte der eigentlichen Anwendungspakete XBPS steht für X Binary Package Sys- meist auch das Nachziehen der benötig- tem und entstand ursprünglich als Er- Packages oder bringen durch eigene Vor­ ten Abhängigkeiten sowie das Aktuali- satz für  bei NetBSD. Im Laufe lagen neue Pakete in die Distribution ein. sieren und Entfernen von Paketen. Zu- der Zeit entwickelte sich aus diesem Vor-

36 www.linux-user.de 02.2018 XBPS Schwerpunkt

haben die Rolling-Release-Distribution Zudem beherrscht XBPS ein paar nütz­ Void, über die wir in LU 11/2017​ bereits liche Funktionen, die den großen Paket- berichteten . Man darf XBPS also mit managern meist fehlen. So unterstützt Fug und Recht als Herzstück dieser Dis- XBPS beispielsweise Package Reverts: Void Linux 20171007 tribution bezeichnen. Damit können die Entwickler, falls ein- Cinnamon (64 Bit) Die von XBPS verwalteten Pakete tra- mal ein Fehler unbemerkt zu den An- bootfähig auf Heft-DVD gen die Endung .xbps. Aus technischer wendern gelangt, ein Paket-Downgrade Sicht handelt es sich wie bei -Pa- verteilen und damit das defekte Paket keten um mit Xz gepackte TAR-Archive. ersetzen. Zudem lässt sich per Die Basis von XBPS bilden die Reposito- xbps‑pkgdb Paket ein Paket auf Fehler ries. Das System unterstützt neben lokal überprüfen. gespeicherten Repos auch via HTTP(S) oder FTP angebundene Paketquellen Ein paar nette Tricks von entfernten Servern. Die System-Repositories finden sich Zudem bietet XBPS die Option, Pakete unter /usr/share/xbps.d/, von Anwen- mitsamt der anderweitig nicht benötig- dern hinzugefügte unter /etc/xbps.d. ten Abhängigkeiten zu entfernen. Dazu Die Inhalte der offiziellen Paketquellen sind mit RSA signiert, die enthaltenen Metadaten, Dateien und Binärpakete mit SHA256 gehashed. Subrepositories für Non-Free-Pakete oder Multi-Arch-Umge- bungen lassen sich ebenfalls einbinden.

XBPS und Void 1 Als erste Void verwaltet nicht nur Repositories, Amtshandlungen ­deren Pakete die C-Standard-Bibliothek stehen das Update Glibc verwenden, sondern unterstützt in der Quellen sowie separaten Repositories auch die Alterna- das Aktualisieren tive . XBPS beherrscht neben des gesamten Pa­ dem Paketmanagement aber noch mehr: ketbestands an. Es stellt gleichzeitig auch das Buildsys- tem, mit dem die Void-Entwickler alle ­Pakete der Distribution bauen. Derzeit liegt der von XBPS verwaltete Bestand in Void für die x86-Plattform bei über 8250 Paketen, die ARM-Varianten bieten jeweils über 5000 Pakete an. Um Zugriff zu bekommen, müssen Sie zu- nächst die Quellen aktualisieren. Im Zuge dieses Updates bringen Sie per xbps‑install ‑Su auch gleich den Pa- ketbestand auf den neuesten Stand 1.

Blitzschnell unterwegs 2 Die Suche nach Als Paketmanager legt XBPS Wert auf Paketen leiten Sie Einfachheit und Geschwindigkeit. Letz- mit xbps‑query teres zeigt sich umgehend, wenn man Paket ein. Wie XBPS mit dem ebenfalls flotten Debian- schon bei der In­ Paketsystem vergleicht. XBPS geht etwa stallation geht bei der Suche 2 und der Installation 3 XBPS rasend von Paketen extrem flott zu Werke. schnell zu Werke.

02.2018 www.linux-user.de 37 Schwerpunkt XBPS

dient der Befehl xbps‑remove ‑R Paket. nierten Rezepten zu bauen. Die Vorlagen Lässt man das ‑R weg, löscht XBPS nur lassen sich dabei an die persönlichen das referenzierte Paket. Vorstellungen anpassen. Das Wiki bietet Das in XBPS integrierte Buildsystem dazu eine Schnellanleitung , auf Git- erlaubt zudem Unit-Tests mithilfe von hub findet sich eine technisch detaillier- Travis CI  auszuführen und so die Inte- te Beschreibung . grität und Konsistenz der Repositories zu überprüfen. Quellcode von Github Einen Überblick über die gebräuch- lichsten Befehle von XBPS und deren Um es vereinfacht zu skizzieren, lädt das Entsprechungen bei Debian vermittelt Tool zunächst von Github das Repository­ die Tabelle Befehlsreferenz. Void-Packages 4 mit den Paketvorla- gen lokal auf den Rechner. Dann erstellt Pakete erstellen das System eine Bootstrap-Umgebung sowie eine Chroot, in der es schlussend- Wie bereits erwähnt, ermöglicht Void lich die Pakete baut. ­Linux Ihnen über Xbps-src, Programme Anwender dürfen aber nicht nur Pake- selbst aus dem Quellcode nach vordefi- te nach den Void-Rezepten selbst bauen, sondern auch neue Vorlagen für Pakete erstellen. Nach eigenen Vorlagen selbst erstellte Pakete lassen sich dann über ­einen Pull-Request für das offizielle ­Repository bereitstellen. Allerdings herrscht bei Void eine um einiges strengere Qualitätskontrolle als etwa für das – vom Prinzip her vergleich- bare – AUR bei Arch Linux. Der Grund dafür liegt unter anderem darin, dass ak- zeptierte Pakete dann offiziell zur Distri- 3 Für die bution gehören. Installation des Zum Bauen der Pakete benötigen Sie E-Mail-Clients keine Root-Rechte, da der ganze Build- Thunderbird aus Prozess in einer Chroot abläuft. Auch den Paketquel­ Cross-Compiling, also das Erstellen für len benötigte eine andere Architektur als der zum Bau- XBPS im Test en verwendeten, stellt kein Problem dar. weniger als 10 Sekunden. Fazit

Obwohl es bereits eine Reihe etablierter Befehlsreferenz Systeme zum Verwalten von Software XBPS Debian gibt, ist noch Platz für Neues: XBPS stellt eine umfassende Paketverwaltung dar, Quellen aktualisieren xbps‑install ‑S apt update die nicht nur das Einrichten, Aktualisie- System aktualisieren xbps‑install ‑u apt dist‑upgrade ren und Entfernen von Paketen be- Paket installieren xbps‑install Paket apt install Paket herrscht, sondern auch alle Pakete der Paket entfernen xbps‑remove Paket apt remove Paket Distribution erstellt. Für Anwender bie- Paket samt Abhängigkeiten xbps‑remove ‑R Paket – tet XBPS die Möglichkeit, Vorlagen für entfernen ­eigene Pakete zu erstellen und diese zu Paket samt Konfiguration – apt purge Paket bauen. Die daraus resultierenden Pakete entfernen eignen sich für den Einsatz auf den eige- Bestandteile eines Pakets xbps‑query ‑f Paket dpkg ‑L Paket nen Rechnern, lassen sich aber auch den auflisten Entwicklern zum Einbinden in die offizi- Pakete suchen xbps‑query ‑Rs Text apt search Text ellen Repositories vorschlagen.

38 www.linux-user.de 02.2018 XBPS Schwerpunkt

XBPS arbeitet schnell, der Unterschied vative Ansätze bietet, der sollte sich Void zu anderen Paketverwaltungen ist nicht Linux genau ansehen. Es ist der leben­ zu übersehen. Die Installation von Pake- dige Beweis dafür, dass das Ökosystem ten dauert oft nur einen Wimpernschlag. Open Source immer wieder für eine in- XBPS bietet zudem Funktionen, von novative Überraschung gut ist. (cla) n ­denen sich andere Paketmanager eine Scheibe abschneiden könnten. Die um- fangreiche Dokumentation erklärt alle Funktionen . Eine sehr ausführliche Dokumentation von XBPS in deutscher Sprache  hilft bei der Erforschung des Paketmanagers weiter, falls die Englisch- Kenntnisse zum Studium der Original­ dokumentation nicht ausreichen. Wer ein blitzschnelles Linux sucht, das selbst auf älteren Rechnern flott unter- wegs ist, Run-it anstatt verwen- 4 Um selbst det und neben XBPS noch weitere inno- Pakete zu er­ stellen, müssen Sie zunächst ein Weitere Infos und Github-Reposi­ interessante Links tory ins Home- Verzeichnis www.​­linux‑user.​­de/​­qr/​­40335 klonen.­

02.2018 www.linux-user.de 39