Benutzer-Werkzeuge

Webseiten-Werkzeuge


wsl

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
wsl [2023-12-28 00:32:43] – [Installation] manfredwsl [2023-12-28 00:35:21] (aktuell) manfred
Zeile 1: Zeile 1:
 +====== 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|Windows Terminal]] für ein anpassbares und kompatibles Terminal (in Win 11 standardmäßig installiert)
 +
 +[[https://youtu.be/nVxYFMa1ltM|Erklärvideo zu WSL im MS Store]]
 +
 +
 +===== 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 kann ''1'' oder ''2'' sein)
 +  * 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 =====
 +
 +FIXME
 +**Infos auf dieser Wikiseite sind teilweise veraltet! Hier ein Update:** [[https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-in-the-microsoft-store-is-now-generally-available-on-windows-10-and-11/]]
 +
 +**TLDR: ''%%wsl --install -d debian%%''** installiert die neuste version
 +
 +
 +<del>**Wichtig**: WSL kann unter Win 11 auch aus dem [[https://apps.microsoft.com/store/detail/9P9TQF7MRM4R|MS Store]] installiert werden //(empfohlen)//, unterstützt mit ''WSLg'' GUI apps (Wayland & X11) und bekommt darüber schneller Updates</del>
 +
 +==== CLI ====
 +
 +**Es wird empfohlen die Distributionen von der [[https://learn.microsoft.com/windows/wsl/install-manual#downloading-distributions|MS Webseite]] herunterzuladen, statt mit ''wsl --install'' zu installieren, da bspw. Debian bei letzterer Methode veraltet ist**
 +
 +<code powershell>
 +# list available wsl distros
 +wsl -l -o
 +
 +# install wsl with distro of choice
 +wsl --install -d debian
 +</code>
 +
 +Alternativ Distribution als *.appxbundle herunterladen (siehe oben):
 +
 +<code powershell>
 +$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
 +</code>
 +
 +
 +==== GUI ====
 +
 +  * Optionale Features aktivieren: ''optionalfeatures'' in Start/Terminal/Win+R eingeben
 +    * ''Windows 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]]
 +
 +
 +==== Windows ====
 +
 +Diese globalen Einstellungen gelten für alle WSL2 Instanzen!
 +
 +<code ini ~/.wslconfig>
 +# https://learn.microsoft.com/windows/wsl/wsl-config#configuration-setting-for-wslconfig
 +
 +[wsl2]
 +
 +[experimental]
 +
 +</code>
 +
 +
 +==== Linux ====
 +
 +Diese Einstellungen gelten nur für die jeweilige WSL1 oder WSL2 Instanz!
 +
 +<code ini /etc/wsl.conf>
 +# https://learn.microsoft.com/windows/wsl/wsl-config#configuration-settings-for-wslconf
 +
 +[automount]
 +options = case = off
 +
 +[network]
 +
 +[interop]
 +
 +[user]
 +
 +[boot]
 +systemd = true
 +
 +</code>
 +
 +
 +===== 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 ====
 +
 +=== Attach ===
 +
 +  usbipd wsl attach -b <busid>
 +  usbipd wsl attach -i <VID:PID>
 +
 +Mit ''-d'' Distro spezifizieren und/oder mit ''-a'' automatisch neuverbinden
 +
 +  usbipd wsl attach -a -d debian -b <busid>
 +  usbipd wsl attach -a -d debian -i <VID:PID>
 +
 +=== Detach ===
 +
 +  usbipd wsl detach -b <busid>
 +  usbipd wsl detach -i <VID:PID>
 +
 +Alle Geräte trennen
 +  usbipd wsl detach -a
 +
 +
 +===== 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
 +
 +<code bash /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
 +
 +</code>
 +
 +für ''upgrade.sh'' siehe [[ubuntu#simple_version_des_upgrade-skripts|hier]]
 +