Hands-on: Das neue Linux-Subsystem in Windows 10

Microsoft hat sein auf der Entwicklerkonferenz Build gegebenes Versprechen eingelöst: Die just veröffentlichte Insider-Preview (Build 14316) bringt Windows 10 die Fähigkeit ein, nativ ELF-Linux-Binaries wie die Unix-Shell Bash auszuführen.

In Pocket speichern vorlesen Druckansicht 482 Kommentare lesen
Windows-Subsystem für Linux
Lesezeit: 4 Min.
Von
  • Peter Siering

Auf der Build 2016 hatte Microsoft es angekündigt und erstmals präsentiert, nun ist das neue Subsystem für Windows 10 da: Es ermöglicht, unter Windows 10 ELF-Linux-Binaries auszuführen. Prominentestes Beispiel während der Vorführung auf Microsofts Entwicklerkonferenz: die Unix-Shell Bash.

Mehr Infos

Um die neu hinzugekommenen Funktionen auszuprobieren, muss die aktuelle, just veröffentlichte Insider-Preview Build 14316 installiert werden. Es gibt sie derzeit im Fast-Ring für Insider, also für diejenigen, die sich bei Microsoft für den Bezug der Vorabversionen registriert haben. Außerdem muss unter Update und Sicherheit in den Einstellungen der Entwicklermodus aktiviert sein. Ein Test-PC, auf dem wir die vorherige Preview installiert und die entsprechenden Einstellungen vorgenommen hatten, aktualisierte sich bereits kurz nach Ankündigung der neuen Preview durch Microsoft von sich aus.

Das Windows-Subsystem für Linux, das Microsoft deutlich als Beta kennzeichnet, ist auch danach nicht standardmäßig aktiv. Es muss zunächst über die Systemsteuerung unter "Programme" als Feature aktiviert werden. Anschließend kann man durch Eingabe von bash in der Startmenüsuche die eigentliche Installation anstoßen. In der Konsole, die sich daraufhin öffnet, erfährt der Nutzer, dass nun "Ubuntu on Windows" aus dem Windows-Store heruntergeladen wird. Währenddessen kann man die Lizenzbedingungen via Shortlink https://aka.ms/uowterms studieren – es handelt sich letztlich um die reguläre Ubuntu-Lizenz.

Hands-on: Windows-Subsystem für Linux (13 Bilder)

Microsoft hat das Windows Subsystem für Linux als anwählbares Feature angelegt.

Nach dem Download startet eine Bash-Sitzung und es ist möglich, sich dort mit den einschlägigen Unix-Kommandos umzusehen. Das Arbeitsverzeichnis ist zunächst \windows\system32. Bei späteren Aufrufen der Bash, dann über das Startmenü mit Schriftzug "Bash on Ubuntu on Windows" nebst Ubuntu-Logo, landet man im eigenen Benutzerverzeichnis. Der sichtbare Unix-Nutzer ist zur Zeit stets root – ganz anders als in regulären Ubuntu-Installationen. Die unter Debian/Ubuntu üblichen apt-get und aptitude-Befehle installieren weitere Software. Über 400 Pakete sind standardmäßig schon eingerichtet.

Erste Gehversuche, den bereits installierten SSH-Server oder ein nachinstalliertes Apache 2.4 zu starten, waren nicht von Erfolg gekrönt. Die Ubuntu-Umgebung vermisste /dev/null als zeichenbasiertes Gerät oder konnte Lock-Dateien nicht anlegen. Zu allem Überfluss ist kein Log-Daemon aktiv, weder dmesg liefert deshalb Informationen noch finden sich die typischen Dateien in den üblichen Log-Verzeichnissen (etwa /var/log/messages). Auch das /proc-Dateisystem ist spärlich bestückt. Was teilweise erklärt, warum Werkzeuge wie top derzeit noch keine brauchbaren Informationen liefern. Der andere Teil der Erklärung besteht in einer noch sehr rudimentären Terminal-Emulation.

Der in der Ankündigungseuphorie gern bemühte Vergleich zu Wine (eine Windows-Emulation unter Linux) hinkt übrigens: Wine ist ein regulärer Anwendungsprozess unter Linux. Das Windows-Subsystem ist anders in Windows 10 verankert: Es bildet die Systemaufrufe der Linux-Umgebung nicht auf das Windows-API ab, sondern auf das darunterliegende NT-API – das ähnelt ihm zwar, entspricht ihm aber nicht. Wer sich mit dem Process Explorer anschaut, wo Bash, vi und Co. laufen, findet sie unterhalb von services.exe und svchost.exe – der Windows-eigene Task-Manager kriegt sie derzeit nicht zu fassen.

Der erste Eindruck fällt ziemlich durchwachsen aus, denn die Umgebung, in der die Linux-Binaries laufen, ist noch unvollkommen. Wenn das Feature Entwickler davon abhalten soll, Linux für ihre Projekte einzusetzen, sollten die als Beispiel genannten Dienste laufen. Und: Windows-Experten stellen die Fehlermeldungen wohl tendenziell vor unlösbare Probleme. Also ist auch hier – vorerst – wenig gewonnen. Durch die Integration als Subsystem ist die Umgebung zudem vom übrigen Geschehen entkoppelt, anders etwa als eine Cygwin-Umgebung, die als reguläre Windows-Prozess läuft.

Voraussichtlich in Ausgabe 10/16 wirft c't einen vergleichenden Blick auf die verschiedenen Ansätze, Unix-Luft unter Windows zu schnuppern. (ps)