WSL – Das Linux-Subsystem

WSL – Das Linux-Subsystem

Mit dem Fall-Creators Update verlässt auch das Linux-Subsystem den Betastatus mit dem Linux-Distributionen, direkt aus dem Windows Store heraus, installiert werden können. Für Entwickler, die ihre Software für unterschiedliche Plattformen schreiben ist dieses Feature mehr als interessant. Software kann so direkt für Windows und Linux entwickelt werden, ohne mehrere Betriebssysteme oder VMs installieren zu müssen.

Installation

Bei WSL handelt es sich um ein richtiges Windows-Feature. Tippen Sie Features in das Suchfeld ein und öffnen Sie das Fenster Windows Features.

Windows-Features
Windows-Features

Hier setzen Sie den Haken bei Windows-Subsystem für Linux und bestätigen mit OK. Der PC muss neugestartet werden, da WSL ansonsten nicht funktioniert.

Über den Windows Store können nun Linux-Distributionen installiert werden. Dabei können auch mehrere verschiedene Distributionen nebeneinander installiert werden. Suchen Sie im Windows Store nach Linux unter Windows ausführen und wählen Sie eine der Distributionen aus.

Linux-Distributionen im Windows Store
Linux-Distributionen im Windows Store

Hier klicken Sie auf Herunterladen und warten bis die Linux-Distribution installiert ist. Ich habe mich für Ubuntu entschieden, welches nun als App über das Startmenü aufgerufen werden kann. Mit ca. 200 MB ist das Image sehr klein. Beim Öffnen wird es entpackt, was einerseits etwas dauert, andererseits den benötigten Speicherplatz etwas vergrößert. Trotz alledem bleibt der Speicherverbrauch moderat, denn es handelt es sich um eine Installation ohne GUI, so wie man auch einen Server vorfinden würde. Öffnet man die App wird einem eine Konsole angezeigt, die bei mir die Nachricht, Installing, this may take a few minutes…, anzeigt.

Danach wurde ich aufgefordert einen Benutzername und ein Passwort für den Defaultbenutzer anzugeben.

Bei mir war es nötig erst einmal ein Update durchzuführen:

sudo apt-get update
sudo apt-get upgrade

Funktionsweise

Bei WSL handelt es sich nicht um virtuelle Maschinen. Stattdessen können Linux-Binaries tatsächlich in einer richtigen Linuxumgebung ausgeführt werden. Dabei teilt sich Linux Ressourcen wie das Dateisystem und den Networking Stack mit Windows.

Geben Sie unter Linux ifconfig ein und unter Windows in einer Kommandozeile ipconfig. Sie werden feststellen, dass die selbe IP verwendet wird.

Die installierte Linux-Distribution liegt in einem Unterverzeichnis von C:\Users\Username\AppData\Local\Packages.

Bei mir befinden sich alle Dateien der Installation unter C:\Users\Username\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs.

In C:\Users\Username\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\mnt sind die Windows-Laufwerke mit Ihren Laufwerksbuchstaben gemountet.

ls /mnt/c zeigt z.B. den Inhalt des Laufwerks C: an.

Mit WSL arbeiten

Auf dem Dateisystem arbeiten

Zusätzliche Laufwerke wie DVD-Laufwerke können manuell gemountet werden.

sudo mkdir /mnt/d
sudo mount -t drvfs D: /mnt/d

Mit sudo umount /mnt/d wird es wieder entfernt.

UNC-Pfade können ebenso gemountet werden.

sudo mkdir /mnt/share
sudo mount -t drvfs '\\server\share' /mnt/share

Durch die einzelnen Anführungszeichen müssen die Backslashes nicht escaped werden.

Weitere Informationen können unter https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/ nachgelesen werden.

Vorinstallierte Anwendungen

Mit folgendem Befehl kann man sich eine Liste der installierten Anwendungen erstellen lassen, die in der Datei installed-apps.txt abgelegt wird:

apt list --installed &> installed-apps.txt

Diese kann z.B. mit vim angezeigt werden. Alternativ kann die Datei mit einem Editor unter Windows geöffnet werden. Sie liegt unter C:\Users\Username\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\username\installed-apps.txt.

Wer die Liste durchgeht wird feststellen, dass auch schon ein paar Pakete installiert sind, die für die Entwicklung praktisch sind. So sind z.B. git, pyhton und perl schon vorinstalliert.

Windowsprogramme in WSL aufrufen

Es ist möglich in WSL Windows-Programme zu starten. Dazu muss nur die EXE aufgerufen werden.

sudo '/mnt/c/Program\ Files/Microsoft\ VS\ Code/Code.exe'

Leerzeichen müssen dabei escaped werden!

Unter https://blogs.msdn.microsoft.com/wsl/2016/10/19/windows-and-ubuntu-interoperability/ gibt es weitere Hintergrundinformationen zu dieser Funktion.

Alle Teile der Serie

Windows 10 mit Handy verknüpfen

OneDrive-Files On Demand

TruePlay – Anti-Cheat

Überarbeitete Bildschirmtastatur

WSL – Das Linux-Subsystem

Marcel Melzig

Softwareentwicklung in C# .NET, ASP.NET MVC, PHP, Javascript, HTML, CSS, Java

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert