linux-arch-alpine-minimal void-linux runit xbps independent minimalism

Void Linux: The Independent Alternative (Artikel 199)

Analyse von Void Linux als eigenständige Distribution. Erfahren Sie alles über das runit Init-System, den Paketmanager XBPS und die Vorzüge eines 'Systemd-freien' Alltags.

# Void Linux: Radikale Unabhängigkeit und Geschwindigkeit

TL;DR / Management Summary Void Linux ist keine “gewöhnliche” Distribution. Sie basiert weder auf Arch, Debian noch RHEL. Sie wurde von Grund auf neu entwickelt. Die Highlights sind der blitzschnelle Paketmanager XBPS und das extrem einfache Init-System runit. Void bietet Admins die Wahl zwischen glibc und musl und verzichtet konsequent auf systemd. Ideal für Puristen, die ein stabiles Rolling Release suchen, das die volle Kontrolle über jeden Prozess bietet.


# 1. Einführung & Architektur

Das Fundament der Unabhängigkeit.

Void Linux folgt einer klaren Architektur:

  • XBPS: Der “X Binary Package System” Manager. Bekannt für schnelle Abhängigkeitsauflösung.
  • runit: Ein Init-System, das auf simplen Unix-Prinzipien basiert (Ordner-basiertes Service Management).

# Der Void Stack (Mermaid)

graph TD
    A[Void Linux Core] --> B[Init System: runit]
    A --> C[Package Manager: XBPS]
    B --> D[Service: /var/service/]
    C --> E[Repositories: glibc / musl]
    subgraph "Service Control"
        D -->|Symlink| F[Active Service]
        F --> G[Process: nginx/sshd]
    end

# 2. XBPS: Der Paketmanager

Schneller als der Schatten.

XBPS ist in C geschrieben und auf Performance getrimmt.

Aufgabe Befehl
System Update xbps-install -Su
Installieren xbps-install <name>
Suchen xbps-query -Rs <begriff>
Deinstallieren xbps-remove -R <name>
Verwaiste Pakete xbps-remove -O

# 3. runit: Dienste verwalten

Einfachheit in Ordnerform.

Dienste in Void sind keine komplexen Scripte, sondern Verzeichnisse unter /etc/sv/. Ein Dienst wird aktiviert, indem man ihn nach /var/service/ verlinkt.

# Einen Dienst aktivieren

sudo ln -s /etc/sv/nginx /var/service/
# runit bemerkt den Link sofort und startet den Dienst

# Management mit sv

# Status prüfen
sudo sv status nginx

# Neustart
sudo sv restart nginx

# 4. Day-2 Operations: glibc vs. musl

Die Qual der Wahl.

Void ist eine der wenigen Distributionen, die zwei komplette Ökosysteme pflegt.

  • glibc Version: Maximale Kompatibilität zu proprietärer Software (Nvidia, Steam, Java).
  • musl Version: Wie Alpine Linux. Minimalistischer, sicherer, aber problematisch bei Binaries von Drittanbietern.

# 5. Troubleshooting & “War Stories”

Wenn runit hakt.

# Story 1: “Der Zombie-Dienst”

Symptom: Ein Dienst wird immer wieder neu gestartet, obwohl er gestoppt werden sollte. Ursache: runit ist so konzipiert, dass ein Dienst immer läuft, solange der Link in /var/service/ existiert. sv stop stoppt ihn nur temporär. Lösung: Um einen Dienst dauerhaft zu deaktivieren, müssen Sie den Symlink löschen: sudo rm /var/service/nginx.

# Story 2: “Das hängende tty”

Symptom: Der Server bootet, aber man kann sich nicht einloggen, da kein Login-Prompt (Getty) erscheint. Ursache: Der agetty Dienst in /var/service hat einen Fehler oder greift auf das falsche TTY zu. Lösung: Loggen Sie sich via SSH ein (falls aktiv) und prüfen Sie die /etc/sv/agetty-ttyX/run Scripte. In Void ist alles ein Shell-Skript, was die Fehlersuche enorm erleichtert.


# 6. Fazit & Empfehlung

  • Wahl: Nutzen Sie Void Linux für minimalistische Desktops oder spezialisierte Server, bei denen Sie kein systemd wollen.
  • Performance: XBPS und runit sorgen für extrem niedrige Bootzeiten (< 5 Sekunden).
  • Wartung: Als Rolling Release muss Void regelmäßig geupdatet werden, ist aber erfahrungsgemäß weniger fehleranfällig bei Updates als Arch Linux.

# Anhang: Cheatsheet

Aufgabe Void / CLI Befehl
System aktuell halten xbps-install -Su
Paket-Inhalt sehen xbps-query -f <name>
Dienst-Verzeichnis /etc/sv/
Aktive Dienste ls /var/service/
Version prüfen cat /etc/os-release
Kernel Update vkpurge rm all (Alte Kernel löschen)
Binary Pakete bauen xbps-src (ähnlich wie AUR)