Linux unter Windows Server

Unter Windows 10 öffnet man die Windows-Store App, sucht nach Linux und wählt aus, was man haben möchte.

Doch unter Windows Server gibt es keine Store-App.

Wie installiert man also dort das Windows Subsystem for Linux (WSL) und eine Distribution ?


Nachdem das Subsystem für Linux erst um 2017 in Windows Einzug hielt, steht es im originalen Windows Server 2016 nicht zur Verfügung. Microsoft hat parallel zu Windows 10 auch aktualisierte Server Varianten basierend auf Server 2016 erstellt (z.B. Windows Server, version 1709) wo das WSL integriert war, aber ganz offiziell steht das neue Feature erst in Server 2019 zur Verfügung.

WSL installieren

Allgemein startet man einfach die PowerShell als Administrator und führt

1Enable-WindowsOptionalFeature -Online `
2  -FeatureName Microsoft-Windows-Subsystem-Linux

aus, aber man findet dieses Feature auch im Server Manager im Add Roles and Features Wizard unter dem Namens Windows Subsystem for Linux

WSL Server 2019

Nach einem Neustart ist der WSL Kern einsatzbereit, nun brauchen wir noch eine Linux Distribution.

Linux Distribution installieren

An dieser Stelle fehlt uns die Store-App am Server, die das APPX Paket herunterlädt und am System installiert.
Am Server müssen wir diese Schritte manuell nachbauen:

Während unter Windows 10 alle Store-Apps unter C:\Users\%USERNAME%\AppData\Local\Packages installiert werden, sind wir am Server frei in der Wahl des Zielverzeichnisses.
Will man (so wie bei den Store-Apps üblich) die Linux-Sitzung für nur einen Benutzer konfigurieren, dann macht es Sinn, die Installation in einem Unterverzeichnis von C:\Users\%USERNAME%\AppData\Local durchzuführen.

WSL Distribution nutzen

Jede Distribution liefert ein anderes Executable aus. Es liegt in der Regel immer direkt im Installationsverzeichnis. Bei Ubuntu 20.04 heißt sie ubuntu2004.exe.

Beim ersten Start von ubuntu2004.exe wird die Umgebung eingerichtet und ein User-Account angelegt, für den wir Namen und Passwort eingeben müssen. Aber so bald das durchgelaufen ist, startet die WSL Shell (meist /bin/bash).

Jeder weitere Start des Programs öffnet ein weiteres Linux Shell-Fenster.
Man braucht sich also nur mehr einen Link darauf einrichten und diesen ins Startmenü aufnehmen … dann sieht es genau so aus, als hätte man den App-Store benützt.

Fazit

WSL am Windows Server stellen sicher kein besonders performantes System dar, aber für die Softwareentwicklung eignet sich ein solches System durchaus, wenn man Windows und Linux parallel entwickelt und ohne Virtualisierung Binärpakete bauen möchte.
Dann braucht man nämlich nur genau einen Windows Server, der die Build-Jobs übernimmt. Natürlich sind dafür aber einige Konfigurationsschritte erforderlich, vor allem der automatische Start die Linux-Umgebung beim Systemstart.

Wie auch immer, mir gefällt diese Option. Vor allem das Benutzer-unabhängige zentrale Installieren der WSL Distribution war mir früher nicht bekannt und somit musste ich immer mühsam im User-Packager Unterverzeichnis nach dem dortigen rootfs Folder suchen.
Die manuelle Installation macht mir die Datenverwaltung wesentlich einfacher.