Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Windows Subsystem for Linux (WSL)
- Dokumentation zu WSL: https://learn.microsoft.com/windows/wsl/
- Installation und Upgrade: https://learn.microsoft.com/windows/wsl/install
- Vergleich zwischen WSL 1 und 2: https://learn.microsoft.com/windows/wsl/compare-versions
- WSL 2 nutzt einen vollständigen Linux-Kernel
- VirtualBox u.ä. sollten parallel zu WSL 2 funktionieren, müssen aber Hyper-V als Virtualisierung verwenden
Siehe Windows Terminal für ein anpassbares und kompatibles Terminal (in Win 11 standardmäßig installiert)
WSL Kommandos
https://learn.microsoft.com/windows/wsl/basic-commands
- Status aller Installationen anzeigen:
wsl --status - Linux Kernel updaten:
wsl --update - WSL-Version für eine bestimmte Installation festlegen (Up-/Downgrade):
wsl --set-version debian 2 - WSL Standardversion festlegen:
wsl --set-default-version 2(versionNumber kann1oder2sein) - WSL Standardinstallation festlegen:
wsl -s debian(Die Installation mit dem Namen Debian wird als Standard festgelegt) - verfügbare Linux-Distributionen auflisten:
wsl -l -o - installierte Linux-Distribution und jeweilige WSL-Version auflisten:
wsl -l -v
Installation
- Wichtig: WSL kann unter Win 11 auch aus dem MS Store installiert werden (empfohlen), unterstützt mit
WSLgGUI apps (Wayland & X11) und bekommt darüber schneller Updates
CLI
Es wird empfohlen die Distributionen von der MS Webseite herunterzuladen, statt mit wsl –install zu installieren, da bspw. Debian bei letzterer Methode veraltet ist
# list available wsl distros wsl -l -o # install wsl with distro of choice wsl --install -d debian
Alternativ Distribution als *.appxbundle herunterladen (siehe oben):
$wsl="debian.appxbundle" curl -Lo ./$wsl https://aka.ms/wsl-debian-gnulinux Add-AppxPackage ./$wsl Invoke-Item ./$wsl # or double click the *.appxbundle wsl -l -v
GUI
- Optionale Features aktivieren:
optionalfeaturesin Start/Terminal/Win+R eingebenWindows Subsystem for Linux(wird nur gebraucht wenn man WSL nicht aus dem MS Store installiert hat oder wenn man WSL1 verwenden möchte)Virtual Machine Platform(nur für WSL2)
- Linux Distributionen für WSL aus dem Microsoft Store installieren: https://aka.ms/wslstore
Config
https://learn.microsoft.com/windows/wsl/wsl-config
- ~/.wslconfig
[automount] enabled = true mountFsTab = true root = /mnt/ options = case = off [network] generateHosts = true generateResolvConf = true [interop] enabled = true appendWindowsPath = false [user] [boot] systemd = true command = "" [wsl2] localhostForwarding = true pageReporting = true guiApplications = true debugConsole = false nestedVirtualization = true vmIdleTimeout = 60000
USB Geräte in WSL verwenden
https://learn.microsoft.com/windows/wsl/connect-usb
Wichtig: Dies funktioniert nur mit WSL 2 unter Win 11 (Win 10 u.U. nur mit Zusatzaufwand)
Linux (WSL)
Vorbereitung
Debian (für Ubuntu Anweisungen, siehe MS Dokumentation)
sudo apt install usbip hwdata usbutils
USB Geräte auflisten
lsusb
Windows
Vorbereitung
winget install -e dorssel.usbipd-win -i
USB Geräte auflisten
usbipd wsl list
USB Geräte verbinden/trennen
usbipd wsl attach --busid <busid> usbipd wsl detach --busid <busid>
besondere Linux-Kommandos in der WSL
wenn die SD-Karte in Windows als Laufwerk "S:" sichtbar ist, dann kann man das Volumen in der WSL-Umgebung so mounten:
> sudo -s [sudo] password for fritz: > mkdir /mnt/S > mount -t drvfs S: /mnt/S > ls -lha /mnt/S
nützliche crons
täglich (und beim Systemstart) das Upgrade-Skript ausführen
- /etc/cron.d/upgrade
MAILTO="" @reboot root /usr/local/sbin/upgrade.sh -y > /var/log/upgrade.log 2>&1 @daily root /usr/local/sbin/upgrade.sh -y > /var/log/upgrade.log 2>&1
für upgrade.sh siehe hier
