Init Freedom: Alpine Linux

Di, 11. Januar 2022, Niklas

Klein, einfach, sicher. So beschreibt sich Alpine Linux selbst auf seiner Webseite. Es ist eine unabhängige, nicht-kommerzielle Linux Distribution, die sich gezielt an Poweruser richtet. Als Init System wird OpenRC vom Gentoo Projekt genutzt. Als Standard-C-Bibliothek setzt Alpine auf musl, was wir bereits mit Void Linux vorgestellt haben. Alpine Linux ist ausserdem die Basis für postmarketOS, einer Linux Distribution für Handys, die durch das PinePhone bekannt wurde.

Eine weitere Besonderheit von Alpine Linux ist, dass BusyBox statt den GNU Coreutils für die gängigen Terminalfunktionen zum Einsatz kommt. BusyBox ist wesentlich kleiner als die GNU Coreutils, bringt aber ähnliche Funktionen mit. Viele andere Pakete werden von Alpine Linux in kleinere Teile aufgeteilt, sodass man nur das installieren muss, was man wirklich braucht.

Um die Sicherheit zu erhöhen, werden alle Pakete im Userland als Position Independent Executables (PIE) mit stack smashing protection kompiliert. Das verhindert eine Vielzahl von Zero-Day-Exploits und anderen Sicherheitslücken.

Alpine Linux ist extrem klein. Das normale ISO für x86_64 Systeme ist gerade mal 159 MB gross. Dieses bringt allerdings nur eine Terminalumgebung mit. Installationsmedien mit vorinstalliertem Desktop bietet Alpine Linux nicht an. Es sind viele verschiedene Downloads für verschiedene Anwendungszwecke, Hardware und CPU Architekturen verfügbar, unter anderem sogar für alle Versionen des Raspberry Pi. Für mein Review wähle ich die Standardvariante für einen normalen x86_64 Computer.

Alpine Linux kann mit dem Befehl setup-alpine installiert werden. Das Programm ist sehr einfach gehalten, es stellt nur Eingabeaufforderungen im Terminal dar, ohne irgendeine Art Fenster oder Menü darzustellen. Trotzdem ist  es relativ einfach zu bedienen. Es stellt die wichtigsten Fragen und erledigt den Rest vollautomatisch.

Anschliessend starte ich in mein frisch installiertes Alpine Linux. Obwohl es so leichtgewichtig ist, startet es spürbar langsamer, als beispielsweise Void Linux. Ich habe zunächst nur den Root Account. Einen normalen Benutzer kann ich mit adduser anlegen (nicht useradd, wie bei den meisten anderen Distributionen). Sudo ist nicht vorinstalliert, kann aber aus dem Repository installiert werden.

Um Dateien im Terminal einfacher bearbeiten zu können, installiere ich mir den Terminal-Dateimanager Midnight Commander. Leider ist dieser auf Alpine Linux im TTY Terminal unbrauchbar. Keine Tastenkombination funktioniert, nur Befehle in Textform werden angenommen. Schon die Darstellung des Dateimanagers ist merkwürdig: Das Terminal scheint nur schwarz/weiss zu unterstützen. Sowas habe ich bisher bei keiner anderen Distribution gesehen. Vermutlich hängt es mit einer der minimalistischen Alternativen zu den gängigen Systemprogrammen zusammen, die Alpine Linux standardmässig einsetzt.

Nun möchte ich eine grafische Desktopoberfläche installieren. Die Auswahl ist hier ziemlich eingeschränkt. Nur KDE Plasma, GNOME, Xfce und Mate stehen zur Auswahl. Ich bin überrascht, bei einer Distribution, die so viel Wert auf leichtgewichtige Software legt, nicht die minimalistischen Desktopumgebungen LXDE und LXQt zu finden. Ich entscheide mich für den weiteren Test für KDE Plasma.

Mit setup-xorg-base und apk install plasma kann es installiert werden. Der SDDM Display Manager wird in der Plasma Gruppe automatisch mitinstalliert und muss nur noch mit rc-update add sddm aktiviert werden. Nach einem Reboot startet Alpine automatisch in den grafischen Loginscreen. Wichtig ist, hier von Wayland auf Xorg umzustellen, andernfalls landet man nach Eingabe des Passworts immer wieder beim Loginscreen. Leider kann Wayland nicht gänzlich deinstalliert werden.

Nachdem Alpine Linux so weit eingerichtet ist, schaue ich mir die verfügbare Software an. Neben den gängigen Standardpaketen hat Alpine für den Desktopnutzer nicht viel zu bieten. Ich finde alle KDE Programme, den Firefox Browser und das Textverarbeitungsprogramm AbiWord im Repository. Nicht vorhanden sind beispielsweise der leichtgewichtigere Otter Browser, Chatclients für Tox, Retroshare oder datenschutzfreundliche Firefox-Forks wie LibreWolf, IceCat oder Iceweasel.

Vermutlich ist Alpine Linux für den Einsatz auf Servern besser geeignet. Ich finde mit Apache2, Nginx und lighttpd alle drei grossen Webserver im Repository, sowie Synapse als Matrix Server und Prosody als Jabber/XMPP Server. Das waren natürlich nur stichprobenartige Tests anhand von Software, die bei einigen Distributionen zu finden ist und die ich regelmässig installiere.

Alpine Linux herunterladen

Fazit: Von Alpine Linux habe ich mir mehr erwartet. Die Geschwindigkeit sowie die Verfügbarkeit von Paketen für den Einsatz als Computer lassen zu wünschen übrig. Mit seiner kleinen Basisinstallation kann Alpine auf Geräten mit wenig Speicherplatz punkten, aber sobald man KDE installiert, hat sich das auch erledigt. Ich sehe die Bestimmung von Alpine Linux mehr auf Servern, wofür es einige relevante Pakete im Angebot hat.

Quellen: