iX 5/2018
S. 56
Review
Betriebssysteme
Aufmacherbild

Das Windows Subsystem for Linux im Härtetest

Fenstergast

Microsoft hat das Windows Subsystem for Linux aus dem Beta-Stand entlassen und bietet inzwischen immer mehr Linux-Distributionen für WSL im eigenen Shop an.

Seit Microsoft im Herbst 2017 mit Windows 10, Version 1709, die Linux-Kompatibiliätsschicht Windows Subsystem for Linux (WSL) vom Beta- in den Stable-Stand gehoben hat, ist auch die Zahl fertiger Linux-Distributionen für WSL gestiegen, angefangen bei Ubuntu, openSUSE und SLES. Noch im Januar 2018 hatte Kali-Chefentwickler Mati Aharoni beschrieben, wie man Kali Linux mit einigen Tricks unter Windows 10 nutzen kann, im März lag bereits eine WSL-Version im Windows App Store – neben der von Debian.

Grund genug, sich das Zusammenspiel der Kontrahenten anzuschauen, zumal Kali Linux gewissermaßen den Härtetest darstellt: Die Anwendungen der Linux-Distribution für Ethical Hacking, Netzwerksicherheits- und Penetrationstests greifen in vielfältiger Art auf Netzschnittstellen und andere Gerätetreiber zu, etwa bei Portscans oder während der Datenrekonstruktion (siehe dazu den Artikel „Auf der Fensterbank“ auf Seite 96 in diesem Heft).

Seit Windows 10 1709 heißt das Ubuntu, mit dem Microsoft seine ersten WSL-Gehversuche unternahm, nur noch „Legacy“. Installieren kann man es dennoch, allerdings handhabt man es mit anderen Befehlen als die aktuellen Distributionen aus dem Windows App Store. Zuvor ist aber die eigentliche WSL-Funktion einzuschalten, beispielsweise durch das Kommando Enable-WindowsOptionalFeature –Online –FeatureName Microsoft-Windows-Subsystem-Linux mit administrativen Rechten in der PowerShell. Nach dem Reboot kann man entweder auf der Windows-Kommandozeile cmd.exe mit lxrun /install die Legacy-Umgebung oder im App Store per Mausklick die gewünschte Distribution installieren.

Legacy-Mechanismus bald beerdigt

Das Windows-Kommando wslconfig \list listet alle Legacy- und Shop-Distributionen auf (Abb. 1).

Anschließend startet man in der cmd.exe entweder Legacy mit bash oder eine heruntergeladene Distribution mit ihrem Namen, etwa Debian mit dem Befehl debian. Eine Stolperfalle lauert hier: Hat man neben Legacy-Ubuntu andere Distributionen aus dem App Store installiert, etwa das aktuelle Ubuntu, sollte man mit dem Befehl wslconfig /s Legacy Legacy zum Standard erheben, damit man alle starten kann, also Legacy mit bash und die anderen mit ihren Namen, also das aktuelle Ubuntu mit ubuntu. Alle installierten Distributionen listet der Befehl wslconfig /list auf (siehe Abbildung 1).

Möglicherweise verschwindet die Legacy-Variante irgendwann gänzlich aus Windows 10, denn Microsoft hat im März 2018 in den Release Notes des RS5 Insider Preview Build 17618, also der Vorabversion des übernächsten Windows, den Legacy-Mechanismus per lxrun als veraltet klassifiziert. Hatte man vor der Installation von 17618 aber Legacy installiert, blieb es auf dem RS5-Testsystem erhalten und ließ sich auch noch starten. Lediglich das Binary lxrun.exe war nicht länger vorhanden.

Solange man Legacy benutzt, benötigt man lxrun für dessen Konfiguration. Beispielsweise lässt sich mit dem Befehl lxrun /setdefaultuser root der User root als Standardbenutzer für Legacy festlegen. Für ein Linux aus dem App Store würde man stattdessen – etwa bei Debian – den Befehl debian config –default-user root verwenden.