Ubuntu on Windows 10: bash, gcc, sed, ssh, vi nativ als ELF64 ausführen

    Kostenloses eHandbook: Überblick und Praxistipps zu vSphere 6.5. Scripting mit PowerCLI 6.5, neue HA-Features und FT nutzen, u.v.m. Download »

    (Anzeige)

    Ubuntu on WindowsUnter der Bezeichnung Ubuntu on Windows kündigte Microsoft ein Feature für Windows 10 an, welches das Aus­führen nativer Text­modus-Pro­gramme für Linux erlaubt. Diese Neuerung richtet sich primär an (Web-)Entwickler, die Tools wie grep, sed, bash oder Python nutzen wollen, ohne dafür auf ein anderes System zu wechseln.

    Bisher bedeutete Ubuntu auf Windows, dass man das Linux in einer virtuellen Maschine unter Hyper-V installierte. Die neuesten Integration Components erlauben eine performante Ausführung des Open-Source-OS und bieten unter anderem auch Unterstützung für Dynamic Memory.

    Keine VM für Ubuntu nötig

    Der von Microsoft auf der Build-Konferenz angekündigte Support für Ubuntu unter Windows 10 ist dagegen unabhängig von Hyper-V und erfordert keine virtuelle Maschine. Allerdings handelt es sich auch nicht um eine bloße Portierung der Bourne Again Shell (bash), wie manche News glauben machten. Vielmehr erlaubt das neue Feature die Ausführung von allen möglichen Konsolen­programmen.

    Es bietet damit ähnliche Möglichkeiten, wie man sie bereits bisher mit Hilfe von Cygwin geboten bekam. Zwischen beiden Ansätzen gibt es aber einige wichtige Unterschiede. Cygwin implementiert UNIX-APIs auf Basis einer DLL, die den System Calls unter Linux entsprechen. Die eigentlichen Anwendungen wie bash, gcc, sed, awk, etc. müssen aber eigens für Windows übersetzt werden.

    Eigenes Kernel-Subsystem für Windows

    Ubuntu on Linux dagegen beruht auf einer Erweiterung des Windows-Kernels um ein Subsystem für Linux. Dieses ist in der Lage, Linux-Programme unmodifiziert im nativen ELF64-Format auszuführen. Die gesamte Sammlung an Tools, die künftig zum Lieferumfang von Windows 10 gehören soll, stellt der Ubuntu-Distributor Canonical im Rahmen einer Kooperation mit Microsoft zur Verfügung.

    Ubuntu on Windows beruht auf einem Linux-Subsystem, dass ELF64-Binaries unmodifiziert ausführen kann.

    Dazu zählen nicht nur die immer wieder erwähnte bash, sondern auch die ganze Palette der Werkzeuge zur Textanalyse (grep, sed, awk, cut, uniq, sort, tr, etc.) sowie Editoren wie vi und alle möglichen anderen Konsolen­programme. Nachdem sich dieses Feature vor allem an Entwickler richtet, kommt den diversen Script-Sprachen wie perl, Python oder Ruby eine besondere Bedeutung zu. Sie sind ebenso an Bord wie der gcc-Compiler.

    Zugriff auf Windows-Dateisystem

    Ein Vorteil von Ubuntu on Windows gegenüber der Ausführung von Linux besteht darin, dass die Tools auf das gleiche Dateisystem zugreifen können wie die Programme. Laufwerke, die man unter Windows über Buchstaben anspricht, werden im Linux-Subsystem standardmäßig als Verzeichnisse unterhalb von /mnt eingehängt. Die Integration geht sogar so weit, dass alle laufenden Prozesse unter /proc abgebildet werden.

    Eine der größten Einschränkungen von Ubuntu on Windows besteht jedoch in der fehlenden Interoperabilität zwischen Linux- und Windows-Anwendungen. So kann man zum Beispiel von der bash-Kommandozeile keine GUI-Tools wie Notepad starten, außerdem lässt sich der Output eines Linux-Programms nicht per Pipe an eine Windows-Software übergeben.

    Neue Linux-Strategie von Microsoft

    Ubuntu on Windows ist Teil einer neuen Linux-Strategie von Microsoft. Diese ist schon länger im Zusammenhang mit Azure zu erkennen, wo das Open-Source-OS als gleichwertig unterstützte Alternative zu Windows beworben wird. Das Umdenken bei Linux manifestierte sich erst kürzlich in der überraschenden Ankündigung von SQL Server für Linux, die unter Steve Ballmer wohl kaum denkbar gewesen wäre.

    Mit Ubuntu on Windows richtet sich Microsoft vor allem an Entwickler, also eine besonders einflussreiche und für Plattformanbieter wichtige Benutzergruppe. Sie wanderten schon seit langer Zeit in Scharen zu Apple ab, unter anderem deshalb, weil das Mac OS aufgrund seiner Unix-Fundamente genau diese Tools aus der Box enthält.

    Kein Ersatz für PowerShell

    Dagegen sollte man darin kein Eingeständnis Microsofts sehen, dass die eigenen Tools unzulänglich wären oder künftig gar zugunsten der Linux-Programme in den Hintergrund treten würden. Allen voran ist PowerShell eine mehr als gleichwertige Alternative zu bash und bietet eine weit tiefere Integration den Komponenten und Produkten der Microsoft-Plattform.

    Verfügbarkeit

    Ubuntu on Windows erscheint demnächst in einer ersten Ausführung als Teil einer Insider Preview von Windows 10 (siehe dazu: Windows 10 Insider Preview-Builds über Windows Update installieren).

    Die Entwickler weisen darauf hin, dass es sich dabei noch um eine frühe Implementierung handelt, die teilweise noch instabil ist und noch nicht alle vorgesehenen Programme unterstützt, darunter MySQL (das aber ohnehin in einer nativen Windows-Version existiert).

    Keine Kommentare