Tags: Windows Server 2019, Linux, Windows 10
Das in Windows 10 1609 eingeführte Subsystem für Linux brachte in Windows 10 1809 einige Fortschritte. Neu ist aber auch, dass es mit der Version 2019 erstmals am Server verfügbar ist. Die Installation verläuft mangels Store App dort aber über die Kommandozeile. Das gilt auch für Windows 10 im Long Term Service Channel.
Das Windows Subsystem für Linux (WSL) ist für die Verwendung auf PCs von Entwicklern und für Testumgebungen gedacht. Es eignet sich aber nicht, um Linux-Anwendungen für den produktiven Einsatz bereitzustellen. Das gilt auch dann, wenn man WSL auf dem Server installiert.
Engere Integration von WSL mit Windows
Der besondere Vorteil des Subsystems für Linux besteht in der engen Verzahnung mit Windows. So lassen sich native Linux-Programme unmodifiziert im ELF-Format aus der Linux-Shell starten. Sie können dann auf das Dateisystem von Windows und das Netzwerk zugreifen.
Wegen der Unterschiede zwischen den Systemen und der Architektur von WSL sind Einschränkungen und Inkonsistenzen jedoch nicht ganz zu vermeiden. Das gilt etwa für den Zugriff auf die Hardware in der Linux-Umgebung, wo der Inhalt von /dev recht überschaubar ist.
Beim Dateisystem unterscheidet Linux im Gegensatz zu Windows zwischen Groß- und Kleinschreibung, außerdem verwendet es als Zeilenumbruch nur \n, Windows dagegen \r\n. Darüber hinaus verfügt Linux über eine eigene Benutzer- und Rechteverwaltung (siehe dazu: Windows-Subsystem für Linux: Installation, Verzeichnisstruktur, Dateirechte, Benutzerkonten).
Das letzte Update brachte hier einige Verbesserungen. So kann Notepad nun den Zeilenumbruch in Dateien, die mit Linux-Programmen erstellen wurden, korrekt darstellen.
Zudem ist es nun möglich, nicht nur Volumes als case (in)sensitive zu mounten, sondern auch einzelne Verzeichnisse entsprechend zu markieren.
Dies ist sowohl von innerhalb des WSL als auch von der Windows her auf Volumes möglich, die mit drvfs gemountet wurden (also etwa das Windows-Laufwerk c: unter /mnt/c). Von der Linux-Seite sind hier die Befehle getfattr (zum Anzeigen) und setfattr (zum Ändern) zuständig. Unter Windows dienen
fsutil.exe file queryCaseSensitiveInfo <Pfad>
und
fsutil.exe file setCaseSensitiveInfo <Pfad> [enable | disable]
diesem Zweck.
Als weitere Integration des WSL kam hinzu, dass sich die Linux-Shell nun direkt aus dem Datei-Explorer starten lässt, wenn man bei gedrückter Umschalttaste mit der Maus rechts auf ein Verzeichnis klickt.
Seit dem Build 18342 von Windows 10 1903 kann man nun auch mit dem Explorer durch den Verzeichnisbaum der Linux-Distribution navigieren. Dieses wird unterhalb des UNC-Pfads \\wsl$ gemount.
Entsprechend kann man auch in PowerShell mit
cd \\wsl$\Ubuntu
zu einer Ubuntu-Installation wechseln, nachdem man eine solche eingerichtet hat.
Und schließlich stehen dem Anwender nun mehrere Linux-Distributionen zur Auswahl, nachdem anfangs nur Ubuntu verfügbar war. Da die einzelnen Distros als Appx-Package installiert werden, kann man etwa Ubuntu, Debian und SuSE parallel laufen lassen.
Nach wie vor ist WSL auf Programme für die Kommandozeile beschränkt, ein X-Server gehört nicht zum Lieferumfang. Als reine Konsolenumgebung lässt sich das Subsystem auch unter Server Core nutzen. Man kann einen der frei verfügbaren X-Server zwar selbst installieren, unterstützt wird das aber nicht. Muss man grafische Linux-Anwendungen ausführen, dann empfiehlt sich deshalb der Einsatz einer virtuellen Maschine.
Installation von WSL
Unter Windows 10 ist das Hinzufügen einer Linux-Umgebung recht einfach: Man aktiviert das Feature in der Systemsteuerung, startet den Rechner neu und holt sich dann die gewünschte Distribution über den Microsoft Store.
Steht das WSL-Feature nicht zu Auswahl, dann nutzt man wahrscheinlich statt der erforderlichen 64- nur eine 32-Bit-Version des OS.
Unter Windows 10 LTSC und Windows Server funktioniert dieses Vorgehen aber nicht, weil dort die Store App fehlt. Daher muss man das Appx-Paket herunterladen und selbst installieren.
Unter Server Core steht dafür kein Web-Browser zur Verfügung, außerdem lässt sich das Feature nur über die Kommandozeile aktivieren. Daher greift man dort zu einer reinen PowerShell-Lösung, die natürlich auch sonst überall funktioniert.
Um das Subsystem hinzuzufügen, gibt man in einer PowerShell-Sitzung mit administrativen Privilegien den Befehl
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
ein.
Unter Windows Server 2019 funktioniert alternativ auch
Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux
Herunterladen einer Distribution
Nach dem obligatorischen Neustart lädt man dann die gewünschte Distribution herunter. Für ihre Installation benötigt man keine administrativen Privilegien, weil diese ja in das Profil des Benutzers erfolgt. Die Links dafür sind:
- Ubuntu 18.04: https://aka.ms/wsl-ubuntu-1804
- Ubuntu 18.04 ARM: https://aka.ms/wsl-ubuntu-1804-arm
- Ubuntu 16.04: https://aka.ms/wsl-ubuntu-1604
- Debian GNU/Linux: https://aka.ms/wsl-debian-gnulinux
- Kali Linux: https://aka.ms/wsl-kali-linux
- OpenSUSE: https://aka.ms/wsl-opensuse-42
- SLES: https://aka.ms/wsl-sles-12
Für den Download kann man curl.exe oder das Cmdlet Invoke-WebRequest verwenden. Um zum Beispiel Ubuntu 18.04 abzurufen, würde man diesen Befehl eingeben:
Invoke-WebRequest https://aka.ms/wsl-ubuntu-1804 -out ubuntu.zip -UseBasicParsing
Das Appx-Paket wird damit gleich als ZIP-Archiv gespeichert, das spart das nachträgliche Umbenennen. Der Schalter UseBasicParsing bewirkt, dass PowerShell für die HTTP-Verbindung nicht den Internet Explorer verwendet.
Die ZIP-Datei entpackt man dann im nächsten Schritt durch Eingabe von
Expand-Archive .\ubuntu.zip
in das gewünschte Installationsverzeichnis.
Nun wechselt man in den Ordner ubuntu und führt dort ubuntu1804.exe aus. Der folgende Vorgang dauert ein paar Minuten und endet damit, dass man nach dem Anlegen eines Users und der Eingabe eines Passworts auf dem Prompt der Linux-Shell landet.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- Version 1.0 mit neuen Features: Windows Subsystem for Linux kommt künftig aus dem Store
- Windows Subsystem für Linux über die Kommandozeile (wsl.exe) installieren
- GUI-Anwendungen ausführen im Windows Subsystem für Linux (WSL)
- Distributionen im Subsystem für Linux (WSL) duplizieren, verschieben und exportieren
- Docker-Container im Subsystem für Linux 2 (WSL 2) ausführen
Weitere Links
1 Kommentar
Vielen Dank für das HOWTO. Da die Doku auf MS ist wohl mehr auf WSL 2 bezogen. Die feinen aber wichtigen Details zur Installation von WSL 1 habe ich dann hier gefunden!!! TOP