Mit dem Windows 10 Creators Update wurde das Windows Subsystem for Linux (WSL) weiter verbessert. Das zugrunde leigende Ubuntu 14.04 wurde durch Version 16.04 ersetzt.
WSL hat immer noch Beta-Status, ist aber schon recht gut ausgereift.
- Basiswerkzeuge: apt, sed, grep, awk, top, tmux, ssh, scp
- Shells: Bash, zsh, fish
- Entwicklungstools: vim, emacs, nano, git, gdb
- Programmiersprachen und Plattformen: Node.js & npm, Ruby & Gems, Java & Maven, Python & Pip, C/C++, C# & .NET Core & Nuget, Go, Rust, Haskell, Elixir/Erlang
- Dienste: sshd, Apache, lighttpd, nginx, MySQL, PostgreSQL
Wie bringt man die Bash-Shell auf Windows 10 ?
Voraussetzung ist mindestens das Anniversary Update (Build 14393), jedoch besser ist das Creators Update (Build 15063).
Das WSL ist eine Windows Funktion, die in der Systemsteuerung unter ‘Programme’ aktiviert werden kann.
Auswahl ‘Windows Features aktivieren’
Im unteren Teil der Liste findet sich der Eintrag ‘Windows Subsystem für Linux (Beta)’
Das Häkchen setzen und OK klicken. Nach der Installation wird man zum NEustart aufgefordert.
Nach dem Neustart benötigt man eine administrative Powershell. Man findet sie am einfachsten, indem man in die Suchleiste ‘Power’, dann mit der rechten Maustaste das Kontextmenü öffnet und als Administrator ausführt.
Zur Aktivierung des WSL, welches ein optionales Windows Feature darstellt, gibt man folgenden Befehl ein:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Danach kann man eine normale cmd-Shell öffnen und den Befehl ‘bash’ eingeben.
Ooops! Da fehlt noch etwas!
Bevor man so richtig loslegen darf, muss auf dem System der Entwicklermodus aktiviert werden.
Entwicklermodus aktivieren
Den Entwicklermodus kann man in den Windows Einstellungen unter Update und Sicherheit aktivieren.
In der linken Leiste ist ein Eintrag ‘Für Entwickler’ zu sehen.
Hier muss der Radio-Button ‘Entwicklermodus’ aktiviert werden.
Die unvermeidliche Warnung muss mit ‘Ja’ quittiert werden.
Nach ein paar Sekunden sollte die Funktion aktiviert sein und ist bereit.
Her mit der Bash!
Wieder öffnen wir eine Command-Shell und geben den Befehl ‘bash’ ein. Dieses Mal funktioniert es, da der Entwicklermodus aktiviert wurde.
Windows lädt jetzt das zugrunde liegende Ubuntu-Subsystem herunter.
Der Nutzer hat nun die Wahl, die Spracheinstelung auf Deutsch (de-DE) festzulegen. Ja, bedeutet hier Deutsch, Nein bedeutet Standard (Englisch).
Als nächstes wird ein Standardbenutzer für das Linux Subsystem definiert. Dieser hat nichts zu tun mit Windows Benutzern.
Fertig
Im Standard nicht enthaltene Pakete können leicht installiert werden.
sudo apt-get install fortune sudo apt-get install cowsay
Die Bash-Shell lässt sich wie oben beschrieben aus der Windows Command-Shell starten, oder direkt über das Startmenü, welchem ein eigener Eintrag bei der Installation zugefügt wird.
Noch eine Warnung zum Schluss
Das Verzeichnis des WSL ist verborgen unter %localappdata%\lxss und hat System-Attribute. Es ist daher im normalen Explorer nicht sichtbar. Das aus gutem Grund!
Dateien des WSL dürfen nicht von Windows-Programmen bearbeitet werden!
Das Linux Subsystem sorgt dafür, dass Linux-Metadaten (Besitzer, Berechtigungen) für alle Dateien unterhalb %localappdata%lxss in die erweiterten NTFS-Attribute dieser Files geschrieben werden. Windows Applikationen kennen kein Linux und würden beim Zugriff diese Linux-Metadaten überschreiben und damit beschädigen.
Daher:
- niemals mit Windows-Shells oder Programmen auf das Linux Subsystem zugreifen
- Dateien, die mit Windows ausgetauscht werden sollen, müssen im Windows Filesystem abgelgt werden.