WSL2: Windows Subsystem for Linux (Artikel 059)
Administration von WSL2 Umgebungen. Einblick in die Architektur, Performance-Optimierung und die nahtlose Integration von Linux-Workflows in Windows-Systeme.
# WSL2: Linux-Power nativ auf dem Windows-Desktop
TL;DR / Management Summary Das Windows Subsystem for Linux 2 (WSL2) hat das Arbeiten für DevOps-Admins revolutioniert. Es ist keine Emulation mehr, sondern ein echter Linux-Kernel, der in einer spezialisierten Hyper-V VM läuft. Wer WSL2 beherrscht, kann Docker, Ansible und Shell-Skripte direkt unter Windows nutzen, mit voller Performance und Zugriff auf das Windows-Dateisystem. Ein Muss für jeden Admin, der einen Windows-Laptop nutzt.
# 1. Einführung & Architektur
Echter Kernel, echte Performance.
Im Gegensatz zu WSL1 nutzt WSL2 eine extrem leichtgewichtige VM, die in Millisekunden startet und Ressourcen dynamisch verwaltet.
# Die WSL2 Kette (Mermaid)
graph TD
A[Windows OS] --- B[Hyper-V Architecture]
B --- C[WSL2 VM Container]
C --- D[Real Linux Kernel]
D --- E[Distribution: Ubuntu/Debian]
E --- F[Admin: Bash/Tools]
A <-->|9P Protocol / Vsock| E
# 2. Setup & Management
Von CMD zu Bash.
# Installation (Windows Terminal / PowerShell)
# Standard Ubuntu installieren
wsl --install
# Bestimmte Distro suchen
wsl --list --online
wsl --install -d Debian
# Management-Befehle
# Status aller Instanzen
wsl --list --verbose
# Instanz stoppen (RAM freigeben!)
wsl --terminate Ubuntu
# Instanz als .tar exportieren (Backup)
wsl --export Ubuntu C:\Backups\ubuntu_work.tar
# 3. Performance & Networking
Die Tücken des Gast-OS.
# Das Dateisystem-Dilemma
Greifen Sie von Linux niemals auf /mnt/c/Users/... zu, wenn Sie Performance brauchen (z.B. git clone oder npm install). Das 9P-Protokoll ist langsam.
- Best Practice: Speichern Sie alle Dateien innerhalb des Linux-Home-Verzeichnisses (
~).
# Networking (Mirror Mode)
Seit 2023 unterstützt WSL2 den “Mirror” Netzwerk-Modus, bei dem Linux die gleiche IP wie Windows nutzt.
Datei: %USERPROFILE%\.wslconfig
[wsl2]
networkingMode=mirrored
dnsTunneling=true
# 4. Day-2 Operations: Docker & Systemd
Den Desktop zum Server machen.
# Docker Desktop vs. Nativ
Nutzen Sie am besten Docker Desktop mit dem WSL2-Backend. Er kümmert sich um das RAM-Management und die Integration.
# Systemd in WSL2 aktivieren
WSL2 unterstützt jetzt nativ systemd.
In der Linux-Instanz /etc/wsl.conf erstellen:
[boot]
systemd=true
Danach wsl --shutdown in PowerShell und neu starten.
# 5. Troubleshooting & “War Stories”
Wenn der Kernel hakt.
# Story 1: “Der RAM-Fresser”
Symptom: Windows wird extrem langsam, der Prozess Vmmem verbraucht 90% des RAMs.
Ursache: Linux gibt gecachten RAM nicht schnell genug an Windows zurück.
Lösung: Limitieren Sie WSL2 in der .wslconfig:
[wsl2]
memory=4GB
processors=2
# Story 2: “VPN vs. WSL2”
Symptom: Sobald der Firmen-VPN (Cisco AnyConnect etc.) aktiv ist, hat WSL2 kein Internet mehr.
Ursache: Der VPN-Client überschreibt die Routing-Tabelle von Windows und isoliert die virtuelle Bridge von WSL2.
Lösung: Nutzen Sie Tools wie wsl-vpnkit oder aktivieren Sie den oben genannten mirrored Network-Mode.
# 6. Fazit & Empfehlung
- Workflow: Nutzen Sie VS Code mit der “Remote - WSL” Extension. Sie editieren Dateien in Windows, aber ausgeführt werden sie in Linux.
- Backup: Exportieren Sie Ihre mühsam konfigurierten Instanzen regelmäßig als
.tar. - Standardisierung: Erstellen Sie eine “Master-Instanz” und verteilen Sie diese per Script an Ihr Team.
# Anhang: Cheatsheet
| Aufgabe | Befehl |
|---|---|
| Version prüfen | wsl --version |
| Als Root einloggen | wsl -u root |
| IP-Adresse finden | ip addr show eth0 |
| Windows EXE ausführen | explorer.exe . (öffnet aktuellen Linux-Pfad) |
| Linux Pfad in Windows | \\wsl$\Ubuntu\home\user |