Void Linux bietet interessante Zutaten, wie Runit als Init-System oder das hauseigene Xbps für das Paketmanagement.
Ein Großteil der heute verfügbaren Linux-Distributionen basiert auf Ubuntu und unterscheidet sich häufig nur in Nuancen vom Original. Dass es auch ganz ohne den Unterbau einer anderen Distribution geht, beweisen populäre Distributionen wie KaOS und Solus sowie experimentell ausgerichtete Projekte wie Bedrock, NixOS und Gobo Linux.
Irgendwo dazwischen siedelt sich Void Linux [1] an. Die Distribution nutzt neben einem eigenen Build-System und Paketmanager das schlanke Init-System Runit [2], das sich lediglich um den Systemstart sowie das Verwalten und Beenden der Prozesse kümmert. In dieselbe Kerbe schlagen Musl [3] als schlanke Alternative zur GNU-C-Bibliothek und LibreSSL [4] statt OpenSSL. Dabei zählen die Void-Entwickler nicht zur lautstarken Minderheit der Systemd-Hasser, sondern wollen einfach eine Alternative anbieten. Der mit durchschnittlich gut 200 Anwendern gut besuchte IRC-Kanal der Distribution zeigt, dass sie damit irgendetwas richtig machen müssen.
Leichte Kost
Void Linux hat sich Leichtgewichtigkeit auf die Fahnen geschrieben. Dafür steht neben Runit und Musl auch der Verzicht auf die Desktop-Dickschiffe KDE und Gnome sowie die gute Unterstützung für die Kleinstrechner Raspberry Pi, Cubieboard, Beaglebone, Odroid und USB Armory.
Die Abbilder ohne Desktop-Umgebung kommen mit einer Pentium-4- oder EM64T-CPU, 96 MByte RAM und 350 MByte Plattenplatz aus. Für die Images mit Desktop benötigen Sie einen Rechner mit mindestens 256, besser 512 MByte RAM. Das Konzept der Leichtigkeit setzt sich auch bei der Ausstaffierung der Desktops mit Anwendungen fort: Neben einem Webbrowser sind lediglich die zum jeweiligen Desktop dazugehörigen Werkzeuge mit an Bord.
Ursprünglich entstand Void 2008 als Testumgebung für das X Binary Package System (Xbps), einen Ersatz für das aus der BSD-Ecke stammende Pkgsrc. Daraus erwuchs mit der Zeit eine vollwertige Rolling-Release-Distribution. Dabei beziehen Sie entweder vorgebaute Binärpakete über Xbps oder kompilieren diese mittels Xbps-src selbst. Dabei sind native Builds genauso möglich wie Cross-Kompilate der unterstützten Architekturen. Die Vorlagen dazu liegen auf GitHub [5], wir gehen darauf später noch genauer ein.
Auswahl satt
Void bietet verschiedenste Abbilder zum Herunterladen an [6]. Die Grundlage bilden x86-Abbilder ohne Desktop-Umgebung für 32- und 64-Bit-Rechner (Abbildung 1), die jeweils rund 250 MByte groß sind. Abbilder mit den Desktops Cinnamon, Enlightenment (Abbildung 2), LXDE, LXQt (Abbildung 3), Maté und XFCE gibt es ebenfalls in 32- und 64-Bit-Versionen. Die 64-Bit-Images bieten die Entwickler zusätzlich mit Musl statt der Libc an. Die x86-Abbilder sind alle als Live-Image mit Installer ausgelegt.

Abbildung 1: Der Willkommensgruß von Void Linux findet im Terminal statt, sofern das Image keinen Desktop mitbringt.
Eine Installation gelingt sowohl lokal vom Abbild als auch aus dem Netz; die Auswahl dazu treffen Sie erst im Installer. KDE und Gnome lassen sich bei Bedarf über das Paketsystem nachinstallieren. Allerdings steht KDE noch bei der hoffnungslos veralteten Version 4.13. Gnome kommt zwar in der recht aktuellen Release 3.24 mit, zieht allerdings Systemd auf den Rechner, was bei Void mit seinem minimalen Init-System Runit eher kontraproduktiv erscheint.
Raspberry Pi und Co.
Auf der ARM-Plattform bietet Void Linux Unterstützung für Cubieboard, Cubieboard2 sowie Beaglebone, Odroid-C2 und Raspberry Pi in allen Varianten sowie das freie USB-Stick-Projekt USB Armory [7]. Auch hier gibt es jeweils eigene Musl-Varianten. Bei den ARM-Varianten liegt neben einem Live-Image jeweils ein RootFS-Abbild vor, aus dem heraus Sie das Image nach eigenen Vorstellungen anpassen können.
Bevorzugen Sie ein Linux ohne Systemd oder möchten Void einfach nur ausprobieren, greifen Sie zu einem der Abbilder mit Desktop-Umgebung. Wer Arch Linux im Schlaf installiert, kann auch eines der Basis-Images testen. Im Rahmen des Tests lag der Fokus auf der Basis-Installation der Images mit Maté, LXQt und Enlightenment. Bei allen Images von Void Linux sucht man einen grafischen Installer oder Paketmanager vergebens. Fast alle Administrationsaufgaben erledigen Sie auf der Kommandozeile mit den jeweiligen Werkzeugen.
Dieses Kontrastprogramm zum Komfort anderer Distributionen ist weder Selbstzweck noch Attitüde, sondern Teil des Konzepts, das zu einem individuellen und leichtfüßigen System führen soll. Möchten Sie Ihr System von Grund auf selbst aufbauen und sind willens, die vorhandenen Quellen für Support auszuschöpfen, liegen Sie sowohl mit den Basis-Abbildern als auch mit den Desktop-Varianten richtig. Die Installation stellt jeweils nur ein Grundsystem zur Verfügung, dessen Ausgestaltung Ihnen völlig freisteht.
Textinstaller
Bei den Images ohne Desktop erledigen Sie das Aufsetzen des Netzwerks und das Partitionieren mit den typischen Linux-Bordmitteln. Die Desktop-Varianten bieten hier etwas mehr Komfort und spannen bereits in der Live-Version ein Netzwerk auf. Im Test muss sich Void Linux mit dem Maté-Desktop beweisen, die anderen Varianten mit und ohne Desktop verhalten sich bei der Installation ähnlich.
Überall kommt der auf Ncurses basierende Text-Installer zum Einsatz, der in zwölf Schritten durch die Installation führt (Abbildung 4). Sie starten ihn mit sudo void-installer in einem Terminal, wobei hier noch die amerikanische Tastaturbelegung greift. Die ersten acht Schritte bedürfen kaum einer Erläuterung, sie bestehen aus Auswahldialogen und einfach zu beantwortenden Fragen.
Weiter geht es mit der Partitionierung der im System vorhandenen Datenträger. Im Netz findet sich dazu eine sehr ausführliche Anleitung eines Void-Nutzers [8], die den Vorgang mit vielen Bildschirmfotos illustriert. Den Partitionseditor Cfdisk haben Sie vermutlich schon einmal in der Hand (Abbildung 5), doch hilft die Anleitung besonders bei der anschließenden Formatierung, die sich nicht gerade intuitiv erschließt.
Hier müssen Sie nach Bestätigen der Formatierung den Schalter Back antippen (Abbildung 5), sonst geraten Sie in eine Schleife, die Sie immer wieder dieselben Schritte wiederholen lässt. Bereits Minuten nach einem entsprechenden Hinweis an den Entwickler fand sich ein Pull-Request für die Fehlerbereinigung auf GitHub. Somit bietet die nächste, kurz bevorstehende Ausgabe von Void Linux in diesem Punkt eine logischere Benutzerführung.

Abbildung 5: Nach Auswahl des Dateisystems führt der Installer zurück in die Liste der Partitionen. Hier müssen Sie Back wählen.
Anpassungen
Das Eingeben aller für das Setup nötigen Informationen dauert rund 10 Minuten, die Installation selbst läuft auf neuerer Hardware in weniger als 5 Minuten durch. Direkt nach dem Neustart passen Sie die Tastaturbelegung an, wozu Sie die Bordmittel des jeweiligen Desktops nutzen (Abbildung 6). Im Terminal gelingt das durch einen Eintrag hinter KEYMAP= in /etc/rc.conf. An gleicher Stelle treffen Sie gegebenenfalls auch Einstellungen zur Zeitzone, dem Terminal-Font und der Anzahl der gewünschten TTYs.
Danach sollten Sie die Bash als Shell für das Root-Konto aktivieren, sodass Sie auch als administrativer Nutzer die Autovervollständigung im Terminal verwenden können und Ihnen die History-Funktion zur Verfügung steht. Void verzichtet aus Sicherheitserwägungen heraus auf diese Einstellung. Um dem abzuhelfen, ändern Sie das Ende der ersten Zeile in /etc/passwd von /bin/sh nach /bin/bash.
Aktualisierung
Als Nächstes bringen Sie mithilfe des Paketmanagers Xbps das System auf den aktuellen Stand. Der Befehl sudo xbps-install -S aktualisiert die Quellenliste, das Kommando sudo xbps-install -u aktualisiert dann die Installation. Beide Vorgänge lassen sich mit sudo xbps-install -Su zu einem Kommando vereinen.
Die Aktualisierung erfolgt beim ersten Mal vermutlich in zwei Schritten, es sei denn, das Image ist relativ neu (Abbildung 7). Wenn das System beim ersten Update-Versuch nur Xbps selbst und einige wenige Pakete einspielt, dann braucht es einen zweiten Lauf, um die Installation mit der eben eingespielten neuen Version des Paketmanagers zu aktualisieren.
Nach dem System-Update und einem anschließenden Neustart sollten Sie sich Gedanken machen, welche Software Sie auf dem System verwenden wollen. Wie bereits erwähnt, herrscht im Anwendungsmenü zunächst bewusst gähnende Leere. Das Kommando sudo xbps-install Paket genügt aber, um eine gewünschte Software nachzuziehen. Dabei fällt auf, dass Xbps im Vergleich zu Apt bei Debian wieselflink zu Werke geht.
Einer Void-Standardinstallation fehlen zahlreiche nützlichen Tools wie Screen, Tmux oder Rsync. Das fällt oft erst auf, wenn man das Werkzeug benötigt. Neu installierte Hintergrunddienste konfiguriert Void zwar und versieht sie mit einem Startskript für Runit, ruft sie jedoch nicht automatisch auf. Sie müssen deshalb mit einem symbolischen Link für deren Aufruf sorgen; das Strickmuster dazu zeigt Listing 1.
Listing 1
$ sudo ln -s /etc/sv/Daemon /var/service/Daemon
Haben Sie die Basisinstallation ohne Desktop gewählt, dann fehlen der X-Server sowie ein Login-Manager. Nach dem Reboot und der beschriebenen Aktualisierung helfen Sie dem mit dem Kommando aus der ersten Zeile von Listing 2 ab – in diesem Beispiel durch Nachziehen des LXQt-Desktops. Möchten Sie direkt in die grafische Oberfläche booten, aktivieren Sie noch den Login-Manager (zweite Zeile).
Listing 2
$ sudo xbps-install xorg lxdm lxqt $ sudo ln -s /etc/sv/lxdm /var/service/lxdm
Xbps schnell erlernt
Die Handhabung des Paketmanagers und des Repositorys beschreibt das Void-Wiki sehr ausführlich [9]. Da Void bei Installation nur freie Software mitbringt, müssen Sie unter anderem für unfreie Software wie Grafikkarten- oder WLAN-Treiber den Non-Free-Teil des Repositorys aktivieren.
Zunächst bringen Sie dazu die vorhandenen Repos in Erfahrung (Listing 3, Zeile 1). Danach installieren Sie das Nonfree-Repo (Zeile 2), aktualisieren dann die eingetragenen Repositories (Zeile 3) und überprüfen abschließend den Erfolg der Aktion (Zeile 4).
Xbps bietet nützliche Funktionen, die beispielsweise Apt und Dpkg vermissen lassen. So lassen sich Pakete inklusive der nicht mehr benötigten Abhängigkeiten in einem Rutsch entfernen. Lassen Sie beim in der letzten Zeile von Listing 3 gezeigten Befehl das -R weg, entfernt die Paketverwaltung nur das angegebene Paket aus dem System, nicht aber dessen Abhängigkeiten.
Listing 3
$ sudo xbps-query -Rs void-repo $ xsudo bps-install void-repo-nonfree-9_1 $ sudo xbps-install -S $ xbps-query -L $ sudo xbps-remove -R Paket
Selbst gebaut
Wie bereits erwähnt, lassen sich Anwendungen mit Xbps-src nach vordefinierten Rezepten auch aus dem Quellcode bauen. Dabei dürfen Sie eigene Vorgaben machen, wofür das Wiki eine Schnellanleitung [10] bietet. Auf Github liegt eine technisch detaillierte Beschreibung [11].
Um es vereinfacht zu skizzieren, holen Sie sich zunächst Paketvorlagen auf die Festplatte (Listing 4, erste Zeile). Danach erstellen Sie in diesem Verzeichnis eine Bootstrap-Umgebung (letzte Zeile), die das System anschließend zum Bauen der Pakete benutzt. Auch alle von Void angebotenen Binärpakete wurden mit Xbps-src erstellt.
Listing 4
$ git clone https://github.com/voidlinux/void-packages $ ./xbps-src binary-bootstrap
Sie können vorhandene Vorlagen nutzen, diese abändern, oder auch neue Vorlagen für Pakete erstellen. Selbst erstellte Pakete lassen sich über einen Pull-Request für das offizielle Repo bereitstellen. Allerdings unterliegen die eingereichten Pakete bei Void einer strengeren Qualitätskontrolle als etwa beim Arch User Repository (kurz AUR) von Arch Linux, da diese Pakete in das offizielle Repository einziehen, falls die Void-Entwickler sie akzeptieren.
Der Paketbestand von Void liegt derzeit für die x86-Plattform bei über 8250 Paketen, die ARM-Varianten bieten alle über 5000 Pakete an. Über ein kleines Skript [12] lässt sich die jeweilige Anzahl für alle unterstützten Architekturen ermitteln.
Fazit
Void Linux eignet sich nicht für jedermann. Anwender mit ein wenig Linux-Erfahrung und Willen zum Lernen finden in Void vielleicht ihre Wunsch-Distribution, die es erlaubt, ein maßgeschneidertes System zu bauen. Vieles erinnert entfernt an Arch Linux, jedoch in einem viel überschaubareren Rahmen.
Void geht rasend schnell zur Sache, auf aktueller Hardware vergeht kaum ein Wimpernschlag zwischen dem Aufruf und dem Start einer Anwendung. Somit passt das System sehr gut zu betagter Hardware; gegebenenfalls ersetzen Sie die Desktop-Umgebung gegen einen einfachen Fenstermanager oder booten gleich ohne Ballast in ein Terminal. Das System wirkt sehr stabil, das Paketmanagement arbeitet hervorragend, Runit verrichtet seine Arbeit klaglos.
Für Anwender von Nischen-Distributionen ist die Unterstützung durch Entwickler und Community enorm wichtig. Die Dokumentation von Void Linux genügt in vielen Fällen, steht allerdings nur in Englisch zur Verfügung. Der gut geführte IRC-Kanal hilft bei akuten Notfällen.
Infos
-
LibreSSL: https://de.wikipedia.org/wiki/LibreSSL
-
Vorlagen für Xbps-src: https://github.com/voidlinux/void-packages
-
Void-Images: https://www.voidlinux.eu/download/
-
USB Armory: https://inversepath.com/usbarmory
-
Anleitung: http://troubleshooters.com/linux/void/quickinst.htm
-
Void-Wiki: https://wiki.voidlinux.eu/XBPS
-
Xbps-src: https://wiki.voidlinux.eu/Xbps-src
-
Xbps-src im Detail: https://github.com/voidlinux/void-packages/blob/master/README.md
-
Paketbestand: https://gist.github.com/Gottox/95ba03879330e970ada02a9d9097c321










