Stefan Zawacki

Microsoft lädt zur Hochzeit und verheiratet die Windows- mit der Unix-Welt. Ende März kündigte Microsoft auf der hauseigenen Entwicklerkonferenz Build 2016 die Bash-Unterstützung für Windows an. Seit kurzem ist nun eine ersten Beta verfügbar und ich zeige Ihnen, was Sie benötigen um „Bash on Ubuntu on Windows“ – so der offizielle Name – testen zu können und was man zum jetzigen Zeitpunkt bereits alles damit machen kann.

 

Ein wenig sperrig wirkt der Name „Bash on Ubuntu on Windows“, den Microsoft seiner Integration von Bash (Bourne-again shell) für Windows, die in Zusammenarbeit mit den Ubuntu-Entwicklern von Canonical entstanden ist, gegeben hat.
Entgegen vieler Vermutungen handelt es sich dabei nicht um eine virtuelle Maschine die in Window gehostet wird und den Zugriff auf die Bash ermöglicht. Bash wird über das WSL (Windows Subsystem for Linux) native auf Windows ausgeführt und bietet vollen Zugriff auf den Ubuntu User Space.

 

Installation der Bash

Um die Bash testen zu können wird die Preview „Windows 10 Anniversary Edition – Build 14316“ benötigt. Diese kann im Moment noch nicht direkt im MSDN heruntergeladen werden, dort ist nur das Build  14295 verfügbar, das sich jedoch problemlos aktualisieren lässt.

Es empfiehlt sich eine virtuelle Maschine für den Test zu verwenden, da die Insider Preview Builds nicht zum Einsatz auf Produktivsystemen geeignet sind.

Nach der Installation muss zunächst der Developer mode aktiviert werden. Dazu unter „Settings“ den Punkt  „Update and Security“ auswählen. Unter „For developers“ kann der Developer mode aktiviert werden.

 

Bash on Windows developer mode

 

Danach muss das Insider Level, „Fast lane“ (Schnellanzeige) eingestellt werden, um immer sofort die neusten Preview Builds zu erhalten. Dazu unter „Update and Security“ den Punkt „Windows Insider Program“ auswählen und die entsprechende Option auswählen.

 

Bash for Windows Installation activate developermode

 

Nachdem Sie die Option ausgewählt haben kann es mehrere Stunden dauern, bis Sie über Windows Update den aktuellen Build 14316 zur Installation angeboten bekommen.

Nach der Installation muss die virtuelle Maschine neu gestartet werden. Anschließend können Sie die Installation des Windows Subsystem for Linux ausführen. Dazu unter „Programs & Features“ die Auswahl für die Windows Features aufrufen und den Punkt „Windows Subsystem for Linux (Beta)“ aktivieren.

 

Bash for Windows WSL

 

Nach der Installation muss der Rechner erneut neu gestartet werden. Anschließend öffnen Sie das Kommandozeilen-Tool und geben den Befehl „bash“ ein. Die Abfrage bestätigen Sie und die Bash wird installiert.

 

Bash for Windows install

 

Um die Bash zu starten können Sie in der Windows Suche den Begriff „Bash“ eingeben und bekommen direkt „Bash on Ubuntu on Windows“ angezeigt. Beim ersten Start der Bash müssen Sie einen Benutzernamen und ein Passwort vergeben, diese Angaben können von Ihren Windows-Anmeldedaten abweichen. Die Bash ist nun einsatzbereit.

 

Was kann man nun mit der Bash unter Windows machen?

Ich nehme es direkt vorweg, mit Bash on Ubuntu on Windows lassen sich keine grafischen Unix-Applikationen, wie KDE, oder Gnome auf Windows ausführen. Ebenso können Windows-Tools nicht in Bash ausgeführt werden. Mit Bash on Ubuntu on Windows haben Sie Zugriff auf die Unix Commandline Utilities, wie zum Beispiel: grep, sed, oder awk. Ebenso können ssh und der Paketmanager apt-get genutzt werden und Shell-Skripte ausgeführt werden.

 

Mit dem Befehl „lsb_release -a“ kann die installierte Ubuntu Version des WSL abgefragt werden.

 

bash for Windows version

 

Aktuell ist hier die Version 14.04 enthalten, Microsoft hat jedoch bereits angekündigt, das bis zum Release die aktueller 16er Version enthalten sein soll.

 

In der Bash haben sie vollen Zugriff auf die lokalen Laufwerke ihres Windowssystems. Diese sind im Verzeichnis „/mnt“ gemountet. Beispielsweise können Sie nun mit dem Unix-Befehl „mkdir“ einen neuen Order auf ihrer Windows-Systempartition erstellen.

 

Bash for Windows mkdir

 

Der Befehl „mkdir Repo“ erzeugt den Ordner auf dem Laufwerk C unter Windows.

Wie eingangs erwähnt läuft die Bash nativ auf Windows, das lässt sich gut demonstrieren, indem man beispielsweise den Texteditor „vi“ startet.

 

Bash for Windows vi

 

Für den in der Bash laufenden Editor wird im Windows Task-Manager ein laufender Prozess angezeigt. Die Bash läuft also definitiv nicht in einer virtuellen Umgebung.

 

Über den Paketmanager apt-get können Zusatzpaket installiert werden. Mit dem Befehl „sudo apt-get install git“ installiere Sie Git im WSL.

 

Bash for Windows apt-get

 

Die Bash ist im Userprofil installiert, im Ordner „C:\users\<username>\AppData\Local\lxss“ werden auch alle Zusatzpakete installiert.

 

Bash for Windows UserProfile

 

Sie können nun mit dem zuvor installierten Git ein Repository klonen. Der Befehl dazu lautet:

„git clone https://github.com/Azure/azure-devtestlab.git“

Bash for Windows gitclone

 

In dem Eingangs angelegten „Repo“-Verzeichnis wird das Repository nun ausgecheckt und Sie können sowohl über die Bash, als auch über den Explorer unter Windows darauf zugreifen.

Die native Verzahnung von Windows und Unix hat großes Potenzial. Das Ausführen von Shell-Skripten in einer Windows-Umgebung, die Verbindung zu Unix-Servern über ssh, die zurzeit noch nicht fehlerfrei funktioniert, sind Möglichkeiten die es bisher nicht gab, oder nur mit mehr oder weniger gut funktionierenden Drittanbieter-Lösungen möglich waren. In naher Zukunft werden diese Limitierungen aufgehoben sein.

 

Fazit

Auch wenn noch kein Zuckerguss auf der Hochzeitstorte ist, die erste Beta der Bash unter Windows macht bereits jetzt einen guten ersten Eindruck. Bis zum Release hat Microsoft noch einiges an Arbeit vor sich, wirft man einen Blick in den Issue-Tracker so findet man dort eine ziemlich lange Liste vor. Die große Anzahl an Fehlermeldungen und Verbesserungsvorschlägen zeigt aber auch das Microsoft hier eine richtige Entscheidung getroffen hat. Der Bedarf der Entwickler-Community an einer Bash-Integration für Windows scheint groß zu sein.

Wer nur in heterogenen Windows-Umgebungen unterwegs ist, wird keine Verwendung für „Bash on Ubuntu on Windows“ haben. Mit PowerShell hat man hier bereits ein mächtiges Werkzeug, das kaum Grenzen hat. Jedoch können sich Entwickler die sowohl in der Unix-, als auch in der Windows-Welt unterwegs sind, schon jetzt auf den Release freuen, der für Ende diesen Jahres geplant ist.