Kör Linux direkt i Windows med WSL2
WSL står för Windows Subsystem for Linux och har funnits i Windows 10 sedan 2016. Det är ett system för att köra Linuxdistributioner direkt i Windows. Men med WSL översattes systemanropen i Linuxsystemet till Windows NT-kärnan. WSL byggde alltså i grund och botten på Windows. Detta gjorde att mer avancerade program inte fungerade i WSL, exempelvis Docker.
Men med WSL2 däremot kommer en riktig Linuxkärna som det går att köra i princip allt på. Inklusive Docker. Dessutom har prestandan förbättrats avsevärt.
För att kunna använda WSL2 behöver du uppdatera Windows 10 till minst
build 19041. Du ser vilken version av Windows 10 du använder genom att köra
programmet winver
.
Hos mig fungerade inte Microsofts officiella dokumentation för att installera
WSL2. Kommandot wsl
installerades aldrig. Istället gjorde jag som i de
nedanstående stegen.
Uppdatera först och främst Windows 10 till build 19041. Därefter börjar vi med att aktivera WSL med följande kommandon i Powershell (som administratör).
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Starta om datorn när blir ombedd att göra så. När datorn startas och du har loggat in igen, kör du:
Enable-WindowsOptionalFeature -FeatureName VirtualMachinePlatform -Online -All
Nu måste vi starta om datorn igen innan vi går vidare. När du väl har loggat in igen sätter vi WSL2 som standard.
wsl --set-default-version 2
När du kört detta kommandot får du med största sannolikhet ett meddelande som säger: WSL 2 måste uppdateras enligt kernelkomponenten. Mer information finns på https://aka.ms/wsl2kernel. Om inte kan du hoppa över detta steget. Annars surfa in på adressen som visas och installera uppdateringen till kärnan. När detta är klart kan du köra kommandot igen för att säkerställa att du är på version 2 av WSL.
wsl --set-default-version 2
När allt är klart kan du installera valfri Linuxdistribution via Windows Store. Sök exempelvis efter Debian och installera det. När det väl är installerat startar du Debian Linux genom att söka på Debian i startmenyn.
För att kontrollera att Debian använder version 2 av WSL kan du köra följande kommando i PowerShell.
wsl --list -v
NAME STATE VERSION
* Debian Running 2
Sedan är bara att börja mecka med Linux. Behovet av en virtuell Linuxmaskin försvinner i princip helt, likaså behovet av att dualboota mellan Windows och Linux.
Docker i WSL2
Det går till och med att installera Docker genom att följa Dockers officiella dokumentation för Debian på docs.docker.com/engine/install/debian/ (om du valt Debian som distribution i WSL2 det vill säga). Vi slipper på så sätt att använda Docker Desktop för Windows.
I skrivande stund fungerar dock inte systemctl
i WSL2. Istället får man
starta Docker-demonen med sudo /etc/init.d/docker start
.
Skulle det trots allt inte gå att starta Docker i Debian i WSL2 beror det på att Debian använder en modifierad version av nftables för NAT. Men det går att använda legacy iptables istället, då fungerar Docker. Ändra till legacy iptables med (inuti Debian):
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
Vill man fortfarande använda Docker Desktop går att växla så att även det använder WSL2. Prestandan förbättras då avsevärt.
Nyhetsbrev
Nyhetsuppdateringar från tidningen direkt till din inkorg, helt kostnadsfritt. Avsluta när du vill.
Relaterade artiklar
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Var försiktig med att curl:a skript som root
Att installera program i Linux genom att omdirigera utdata från Curl till skalet är snabbt och smidigt. Men det är ack så farligt om du inte känner till programmet eller dess ursprung.
-
Vidarebefordran av SSH-agenten
SSH agent forwarding, eller vidarebefordran av SSH-agenten, innebär att man kan vidarebefordra SSH-agenten till ett fjärrsystem. På så sätt behöver man inte kopiera sin privata SSH-nyckel till fjärrsystemet, eller skapa flera nycklar för olika system. Men det finns risker med det.
-
Jenkins som ett alternativ till Ansible Tower
Ansible Tower kommer med en stor prislapp, speciellt för ett mindre företag eller en privatperson. AWX å andra sidan är helt fritt, men kräver numera Kubernetes. För den som vill automatisera sina Ansible Playbooks går det dock bra att använda Jenkins som en ersättning för Tower och AWX.
-
Hämta data från API:er med cURL och jq
Med cURL och jq går det att extrahera data från API:er direkt från kommandoraden. Jq är en JSON-tolkare och beskrivs av utvecklarna som sed och awk för JSON.
Senaste nyheterna och inläggen
-
Avlyssna trafik på servern med Wireshark och TShark
Wireshark är ett ovärderligt verktyg för att felsöka nätverkskonfigurationer, applikationer, API:er, demoner och mycket annat. I kombination med
tshark
kan vi dessutom avlyssna trafiken på en server i realtid. -
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Sommarens skånska demopartyn
Årets sommar bjuder på två skånska demopartyn. Först ut är Reunion i Kvidinge den 28–30 juni. Därefter är det Pågadata i Örtofta den 9–11 augusti.
-
Riskerna med BankID som ingen pratar om
BankID är ett säkert och smidigt sätt att identifiera sig online. Men i takt med dess ökade popularitet och användning har det blivit en svag länk – en single point of failure – på mer än ett sätt.
-
Polisernas fängelsedomar står fast
Efter tre år är målet mot de två poliser som olovligen tog sig in i en berusad mans bostad i Landskrona och misshandlade honom klart. Högsta domstolen beslutade den sjätte mars att avvisa överklagan. Fängelsedomarna för poliserna står därmed fast.
Utvalda artiklar
-
Mysig stämning på sommarens första demoparty
I helgen var det Reunion 2024 i Kvidinge Folkets hus, sommarens första skånska demoparty. Partyt organiserades av Jesper “Skuggan” Klingvall. På plats fanns ett 30-tal besökare.
-
Datorparty i Landskrona
I helgen höll Syntax Society sitt årliga sommarparty. Platsen var en källarlokal i Landskrona där ett femtontal personer medverkade.
-
Det första Pågadata har ägt rum
I helgen ägde det första Pågadata rum – uppföljaren till Gubbdata. Platsen var Folkets Hus i Kvidinge. Organisatör av partyt var Johan “z-nexx” Osvaldsson med hjälp från Jesper “Skuggan” Klingvall. Partyt hade över 100 anmälda deltagare.
-
Även hovrätten fäller poliserna för att ha satt dit oskyldig
Hovrätten fastställer straffet för de två poliser som förra året dömdes till vardera ett års fängelse av Lunds tingsrätt för att ha misshandlat och satt dit en oskyldig man. De båda poliserna ska även betala skadestånd till mannen.
-
Retroloppis i Påarp
Idag var det retroloppis hos Andreas Nilsson i Påarp. På baksidan av huset fanns hundratals spel uppradade på långa bord. Trots friska vindar och sval temperatur var loppisen välbesökt.
CyberInfo Sverige är ett it- och medieföretag i nordvästra Skåne som tillhandahåller böcker, utbildningar, nyheter och konsulttjänster inom Linux, säkerhet och programmering.
CyberInfo Sverige är godkänd för F-skatt, är momsregistrerat och innehar
utgivningsbevis för webbplatsen www.cyberinfo.se.