Brug af WSL til ikke-indlysende opgaver

  • WSL giver dig mulighed for at køre Linux integreret i Windows og kombinere værktøjer fra begge systemer uden at ty til tunge virtuelle maskiner eller dobbeltopstart.
  • WSL 2 bruger en ægte Linux-kerne oven på Hyper-V, hvilket forbedrer ydeevne og kompatibilitet og bliver en ideel base for Docker- og backend-udvikling.
  • Fil- og kommandointeroperabilitet mellem Windows og Linux muliggør mindre åbenlyse opgaver såsom adgang til ext4, datagendannelse eller blandede administrationsworkflows.
  • WSL er fremragende til udvikling og læring, men til intensive produktionsbelastninger eller for at udnytte Linux' fulde potentiale er det stadig bedre at bruge en rigtig maskine eller en traditionel VM.

Brug af WSL til ikke-indlysende opgaver

Hvis du har udviklet på Windows i et stykke tid, har du sikkert hørt om WSL, Windows-undersystemet til Linuxnæsten som om det var et universalmiddel. Mange sælger det som den definitive måde at forvandle Windows til et "seriøst" udviklingsmiljø på niveau med Linux eller macOS. Andre ser dog på denne teknologi med betydelig mistænksomhed og ser den som et strategisk træk fra Microsoft for at bevare sin kontrol over skrivebordet.

Det interessante er, at der ud over den typiske basisinstallation er WSL bruger til mindre åbenlyse opgaver hvilket kan gøre en stor forskel i din hverdag: fra at fejlfinde Linux-tjenester uden at forlade Windows, til at bruge det til systemadministration, Docker-udvikling eller endda avanceret adgang til ext4 filsystemerLad os se nærmere på præcis, hvad WSL er, hvordan det har udviklet sig, i hvilke tilfælde det virkelig skinner... og hvornår det måske er bedre at installere en "rigtig" Linux på din fysiske maskine eller på en virtuel maskine.

Hvad er WSL, og hvorfor har det skabt så meget omtale?

WSL står for Windows-undersystem til Linux, en funktion i Windows 10 og 11, der giver dig mulighed for at køre et næsten komplet GNU/Linux-miljø i Windows, uden at skulle starte en traditionel virtuel maskine eller bruge dobbeltopstart.

Microsofts idé har været at tilbyde Fordelene ved Linux direkte på Windows-skrivebordetAdgang til Bash, konsolværktøjer, pakkehåndtering som apt eller dpkg, compilere, servere osv. Alt sammen i den mest integrerede oplevelse muligt, med fildeling mellem Windows og Linux og muligheden for at køre Linux-kommandoer fra PowerShell eller CMD.

Denne forpligtelse har været særligt relevant fordi Linux dominerer inden for servere, supercomputere og AIMens Windows forbliver den ubestridte konge af skrivebordet, forsøger WSL at bygge bro mellem disse to verdener, så udviklere ikke behøver at vælge mellem det ene arbejdsmiljø og det andet, men kan kombinere begge samtidigt.

Siden sin debut har WSL genereret meget forskellige meninger: nogle Linux-brugere ser det som en "adopter, udvid og sluk"-manøvre, mens mange Windows-udviklere anser det for at være et vigtigt værktøj for moderne udviklingisær med teknologier som Docker, Node.js eller backend-miljøer, der fungerer bedre på Linux.

Udviklingen af ​​WSL: fra kompatibilitetslaget til WSL 2

Den første generation, WSL 1Det var baseret på et oversættelseslag mellem Linux-systemkald og Windows-kernen. Det var noget i retning af en mellemliggende bro, der tillod Linux-binære filer at køre uden at virtualisere operativsystemet fuldt ud.

med WSL 2Microsoft ændrede sin tilgang, og nu kører en rigtig Linux-kerne inde i en Let virtuel maskine baseret på Hyper-V virtualiseringOfficielt beskriver Microsoft det som et optimeret virtualiseringsværktøj, der ikke ligner en traditionel VM: det starter meget hurtigt, bruger færre ressourcer og er tæt integreret med Windows.

Overgangen til WSL 2 medførte meget mærkbare forbedringer i ydeevne og kompatibilitet med Linux-softwarebedre understøttelse af containere som Docker, muligheden for at bruge flere værktøjer, der er afhængige af en rigtig kerne, og generelt en oplevelse, der minder mere om Linux installeret på en fysisk maskine.

Den største svaghed ved WSL 2 ligger i filsystemets ydeevne Når projekter gemmes på Windows-siden (f.eks. i C:\Users…), anbefaler Microsoft at gemme kode og data i Linux-filsystemet (normalt /home eller stier i distributionen) for at undgå flaskehalse og opnå acceptabel ydeevne.

Med tiden har WSL 2 også indarbejdet officiel support til grafiske Linux-applikationer kører på Windows, hvilket åbner døren for at bruge native Linux-editorer, designværktøjer eller GUI-værktøjer fra Windows-skrivebordet uden at ty til tredjepartsløsninger såsom eksterne X-servere eller VNC.

Hvor WSL skiller sig ud i forhold til andre løsninger

En af de store attraktioner ved WSL er, at det giver mulighed for Brug Linux uden at forlade Windows-skrivebordsmiljøetDer er ingen grund til at partitionere disken, konfigurere en boot manager eller konstant genstarte for at skifte operativsystem.

Sammenlignet med en klassisk virtuel maskine i VirtualBox eller VMware tilbyder WSL en meget mere naturlig integration med WindowsDu kan tilgå C: filer fra Linux (via /mnt/c), bruge Git-legitimationsoplysninger gemt i Windows Credential Manager, starte processer fra den ene side til den anden og meget mere. Desuden starter distributionen på få sekunder og bruger kun ressourcer, når du rent faktisk bruger den.

Denne filosofi gør WSL ideel til brugere, der ønsker at udnytte Linux-konsolværktøjer (git, ssh, compilere, pakkehåndtering) uden at opgive typiske Windows-programmer som Office, specifikke grafikværktøjer eller videospil.

Det er også meget praktisk for profiler, der er tager deres første skridt i LinuxDe kan lære kommandoer, Opret Bash-scripts på Windows ved hjælp af WSLDu kan ødelægge distributionen, geninstallere den ... alt sammen uden at røre ved det primære Windows-system eller risikere at gøre computeren ubrugelig. Hvis noget går galt, fjerner du blot WSL-distributionen og starter forfra.

En anden vigtig styrke er hardwaresupportMange bærbare og stationære computere har noget inkonsekvent Linux-desktopunderstøttelse (Wi-Fi-drivere, dvaletilstand, hybridgrafik osv.). Med WSL administreres hardwaren stadig af Windows, så Linux-miljøet arver indirekte denne kompatibilitet uden større problemer.

WSL versus virtuelle maskiner, dobbelt opstart og Docker

Det er nemt at tro, at WSL og en virtuel maskine er det samme, men i praksis er der vigtige forskelle. I en klassisk VM er gæste-Linux-systemet fuldstændig isoleret Fra værtens perspektiv: den har sin egen virtuelle disk, simuleret hardware og opstartsproces. WSL 2 tilbyder virtualisering, ja, men målet er, at brugeren føler, at de er en del af selve Windows.

Med hensyn til ressourceforbrug har WSL 2 en tendens til at være lettere end en fuld virtuel maskineEn virtuel maskine (VM) skal allokere en fast mængde RAM og vedligeholde et fuldt Linux-skrivebordsmiljø, hvis den bruger en grafisk brugerflade. WSL starter kun de nødvendige tjenester og kan starte op på lidt over et sekund, hvilket gør den meget praktisk til korte arbejdssessioner.

Hvis du har brug for det få mest muligt ud af Linux Til intensive arbejdsbelastninger, skalering af tjenester, test af komplekse netværkskonfigurationer eller brug af et fuldt tilpasseligt skrivebordsmiljø er en traditionel VM stadig mere fleksibel. Men til udviklingsopgaver, scripting, terminalværktøjer eller lette servere er WSL ofte tilstrækkeligt og mere praktisk.

Sammenlignet med et system i dobbelt bootWSL har den fordel, at det ikke kræver genstart for at skifte mellem Windows og Linux, og det giver mulighed for forholdsvis enkel fildeling mellem de to. Men hvis du vil udnytte Linux' ydeevne fuldt ud (for eksempel til native spil, intensiv databehandling eller udelukkende at arbejde i det pågældende miljø), er det stadig den bedste løsning at installere distributionen på fysisk hardware.

Imod DockerSammenligningen er en anden: Docker sigter ikke mod at tilbyde et komplet Linux-system, men snarere lette containere til specifikke tjenester. WSL 2 er faktisk den understøttelse, der får Docker til at køre meget mere problemfrit på Windows, da den leverer den nødvendige Linux-kerne. Til isolering af produktionstjenester er Docker stadig mere velegnet; til udvikling og administration med standard systemværktøjer er WSL det ideelle fundament, som Docker er afhængig af.

WSL for udviklere: rigtige arbejdsgange

Brug af WSL til ikke-indlysende opgaver

WSLs store styrke er, at det gør det nemmere for Udviklere arbejder i et miljø, der ligner produktionsmiljøethvilket næsten altid er Linux, uden at opgive Windows som det primære system. Dette reducerer overraskelser som "det virker på min maskine, men ikke på serveren" ved at justere versioner af biblioteker, pakkehåndteringer og tjenester, og gør det nemmere Konfigurer et CI/CD-flow ved hjælp af GitHub-handlinger når der er behov for kontinuerlig integration.

Til webudvikling med Node.js eller TypeScriptFor eksempel giver WSL dig mulighed for at installere Node og værktøjer som NVM på Linux, selv når visse værktøjer ikke officielt understøttes på Windows eller fungerer mindre godt. Du kører Node-serveren i WSL, tilgår den fra en Windows-browser og redigerer koden med VS Code ved at integrere Linux-distributionens terminal.

med Docker Springet er endnu mere bemærkelsesværdigt: Tidligere var Docker på Windows besværligt, begrænset og forårsagede betydelige ydeevneproblemer. Ved at kunne bruge Docker på WSL 2 kører Linux-containere meget mere som på en rigtig server, med forbedret I/O-ydeevne og færre mellemliggende lag.

Det samme gælder for andre udviklingsøkosystemer, der altid har haft nogle ulemper i Windows: Ruby, "seriøs" server-side Python, lokale CI-værktøjer, databaseservere som PostgreSQL eller Redis… Alt dette føles meget mere naturligt i WSL end i native Windows-porte.

Derudover integreres WSL problemfrit med Windows TerminalDenne applikation giver dig mulighed for at åbne flere faner og profiler – PowerShell, CMD og forskellige Linux-distributioner – alle i det samme vindue. Dette giver dig mulighed for at skifte mellem shells med et enkelt klik, tilpasse farver og skrifttyper og forenkle din daglige arbejdsgang med én kraftfuld terminal.

Installer og administrer WSL (inklusive vigtige detaljer)

I nyere versioner af Windows 10 og Windows 11 er den grundlæggende installation af WSL blevet betydeligt forenklet. Du skal blot åbne PowerShell med administratorrettigheder og løb:

wsl --install

Den kommando er ansvarlig for at installere WSL-komponenten og downloade en standard Linux-distribution, normalt UbuntuTil sidst, første gang du åbner den pågældende distribution, vil du blive bedt om at oprette et Linux-specifikt brugernavn og en adgangskode, som er adskilt fra din Windows-konto.

Hvis du vil se, hvilke andre distributioner der er tilgængelige, kan du angive mulighederne med:

wsl --list --online

Listen vil indeholde distributioner som Debian, Kali Linux, openSUSE og andre. For at installere en specifik distribution skal du bruge:

wsl --install -d <nombre_distribucion>

Du kan også administrere den anvendte WSL-version. Sådan kontrollerer du, hvilken version der er knyttet til hver installeret distribution:

wsl -l -v

Hvis du vil have WSL 2 som standardversion, når du installerer nye distributioner, skal du bruge:

wsl --set-default-version 2

Og hvis du allerede har en distro i WSL 1 og vil opgradere den til WSL 2, er kommandoen:

wsl --set-version <nombre_distribucion> 2

I nogle ældre installationer kan der vises en meddelelse om, at WSL 2 har brug for en kerneopdateringI så fald skal du downloade det officielle Linux-kerneinstallationsprogram til WSL fra den URL, der er angivet i selve beskeden, køre det, genstarte og gentage WSL 2-konverteringskommandoen.

Filadgang, interoperabilitet og mindre åbenlyse opgaver

En af WSL's mest kraftfulde funktioner er interoperabilitet mellem filsystemerFra Linux kan du nemt få adgang til Windows-drev i stier som f.eks. /mnt/c, /mnt/dosv., hvilket giver mulighed for redigering af filer med værktøjer på begge sider med betydelig frihed.

Endnu mere interessant er det, at WSL tillader det Windows tilgår ext4-filsystemer bruges af Linux. Hvis du har en ext4-disk eller -partition tilsluttet din computer, kan WSL hjælpe dig. håndtering af filattributter i Linux Du kan nu montere og udforske det indhold uden at skulle installere tredjepartsværktøjer på Windows. Alt dette gøres dog fra Linux-kommandolinjen uden en indbygget grafisk brugerflade i browseren.

Denne funktion gør WSL til et meget nyttigt værktøj til Gendan data fra Linux-diskeAt arbejde med avancerede serverkonfigurationer eller flytte projekter mellem fysiske og virtuelle miljøer er en funktion, der ofte går ubemærket hen, men det kan spare dig mange timer, når du har med Linux-partitioner fra et Windows-system at gøre.

En anden mindre åbenlys anvendelse er muligheden for Kør Windows-programmer fra Linux og omvendtFra PowerShell kan du starte Linux-kommandoer ved at tilføje præfikser wsl (f.eks. wsl ls), og fra WSL-konsollen kan du starte Windows-eksekverbare filer ved at angive den relevante sti og filtypenavn. .exe, hvilket åbner op for interessante blandede arbejdsgange.

Til din første kontakt med Linux-shell'en i WSL, er det tilrådeligt at gøre dig bekendt med grundlæggende kommandoer: ls, cd, password, såvel som med pakkehåndtering (sudo apt update && sudo apt upgrade) for at holde systemet opdateret og klar til at installere udviklingsværktøjer.

WSL 2: Ofte stillede spørgsmål, netværk, GPU'er og produktion

WSL 2 er tilgængelig på begge Windows 10 Hjem (startende med visse builds) såsom i Windows 11 Home og Pro, forudsat at hardwaren og BIOS har virtualisering aktiveret. Internt bruger den teknologien fra Hyper-VMicrosoft har dog arbejdet på at gøre det kompatibelt med andre virtualiseringsværktøjer som VirtualBox eller VMware, især i deres nyeste versioner.

Et af de vigtige fremskridt har været GPU-adgang fra WSL 2 (Se hvordan du installerer CUDA på WindowsDette muliggør acceleration af computeropgaver, AI-arbejde eller grafik i visse scenarier. Denne funktionalitet udvikler sig løbende og kræver kompatible drivere og hardware, men det åbner døren for anvendelser, der tidligere kun var tilgængelige med et Linux-system installeret på en fysisk maskine.

På netværksniveau fungerer WSL 2 med en virtualiseret grænseflade, som introducerer nogle ekstra lag i kommunikationenDe fleste netværksapplikationer kører problemfrit, men der kan være mærkbare præstationsnedsættelser i opgaver på meget lavt niveau eller specifikke præstationstests. Til normal udvikling med webservere, databaser eller API'er er det dog normalt fuldt brugbart.

Angående dens anvendelse i produktionsmiljøerMicrosoft insisterer på, at WSL primært er designet til udvikling og testning. Det er fremragende til at replikere serverlignende miljøer, men til kritiske arbejdsbelastninger og seriøs skalering anbefales implementering på native Linux, traditionelle virtuelle maskiner eller containere på dedikerede platforme stadig.

WSL giver dig også mulighed for at udføre sikkerhedskopier og migreringer af distributioner Du kan bruge eksport- og importkommandoer samt flytte filer til et andet drev end C:, hvis du har brug for at frigøre plads eller omorganisere din lagerplads. Disse muligheder øger din fleksibilitet uden at miste integrationen med Windows.

WSL, Linux på en rigtig maskine og fremtiden for skrivebordet

Alt ovenstående ændrer ikke ved, at for mange brugere er den bedste løsning stadig at bruge Linux direkte på en fysisk maskine og degradere Windows til en virtuel maskine, når det er nødvendigt. Blandt de hyppigst nævnte årsager er de øgede hardwarekrav i Windows (især i Windows 11 med TPM, understøttede CPU'er osv.), hvilket udelukker mange fuldt brugbare computere.

Med en god Linux-distribution installeret på hoveddisken kan du udnytte ældre hardware som Windows 11 ikke længere officielt understøtter, og samtidig køre Windows 10/11 i en VM til de applikationer, der kræver det, og omgå krav som TPM eller visse CPU-kontroller.

Populariseringen af ​​enheder som f.eks. Steam Deck og SteamOS Det peger også på en fremtid, hvor Linux vinder frem på desktop-platforme, især inden for spil. Et større antal Linux-brugere opfordrer hardwareproducenter til at tilbyde bedre officiel support (drivere, konfigurationssoftware, avancerede funktioner), hvilket gavner hele økosystemet.

I denne sammenhæng har brugen af ​​WSL en mærkelig konsekvens: selvom det gør livet meget lettere for Windows-udviklere, Det øger ikke Linux' markedsandel som et desktop-systemDa det "rigtige" operativsystem, der styrer maskinen, stadig er Windows, kan dette forsinke nogle producenters interesse i at investere kraftigt i Linux.

Jo flere brugere der begynder at bruge Linux på fysiske maskiner, desto mere pres vil der være på producenterne for at forbedre drivere, Wi-Fi-kompatibilitet, lydkort, RGB-enheder og spilcontrollere. WSL er meget nyttigt for produktiviteten, men det erstatter ikke effekten af ​​en bruger, der starter en Linux-distribution direkte på deres hovedcomputer.

Begrænsninger, almindelige problemer og hvor WSL er på vej hen

WSL, især i sin første version, havde klare begrænsninger i kerneadgang og kompatibilitetVærktøjer, der var afhængige af funktioner på lavt niveau, fungerede ikke korrekt (som Docker i WSL 1). Mange af disse mangler blev løst med WSL 2, men der er stadig nogle problemer.

La netværksforbindelse Det går gennem flere lag, som i meget specifikke situationer kan påvirke ydeevnen af ​​tjenester, der opererer på et meget lavt niveau. Nogle eksterne enheder integreres heller ikke perfekt på grund af den måde, Hyper-V administrerer virtualiseret hardware på.

Der er også udfordringer med opfattelsen: ved at kunne bruge komplette Linux-miljøer indefra Windows, kan nogle brugere konkludere, at Det er ikke længere værd at installere en native Linux-skrivebordDette reducerer eksponeringen for de reelle fordele ved et frit og fuldt uafhængigt system.

I serverfeltet, selvom WSL kan bruges i Windows ServerMange distributioner, der er tilgængelige i Microsoft Store, er ikke beregnet til at fungere som komplette serversystemer (for eksempel bruger de ikke systemd som standard), hvilket komplicerer administrationen af ​​tjenester og dæmoner på en traditionel måde.

Desuden er WSL ikke fri for installations- og konfigurationsfejlFejlkoder som 0x80070003, 0x80370102 eller 0x8007019e indikerer normalt problemer med installationsplaceringen, at WSL-komponenten ikke er aktiveret, eller at virtualisering er deaktiveret i BIOS. Opdatering af Windows, aktivering af de korrekte valgfrie funktioner og sikring af, at Hyper-V og hardwarevirtualisering er aktiveret, løser normalt de fleste af disse problemer.

Der er også en interessant parallel med Windows undersystem til Android Denne funktion, der blev introduceret i Windows 11, gør det muligt for Android-apps at køre problemfrit ved hjælp af lignende teknologi. Dette viser, at Microsoft ser et stort potentiale i denne hybridmodel, hvor andre systemer i Windows køres uden at ty til traditionelle virtuelle maskiner, og det gør det klart, at WSL fortsat vil få opmærksomhed og forbedringer på mellemlang sigt.

Samlet set er WSL blevet et meget kraftfuldt værktøj til at forene Windows-verdenen med Linux-økosystemet, og selvom det stadig lider af tekniske og strategiske begrænsninger, tilbyder det i dag... en meget attraktiv balance mellem bekvemmelighed, integration og adgang til professionelle værktøjer som, hvis det bruges korrekt, fuldstændigt kan transformere den måde, du udvikler og administrerer systemer fra din pc.

opret hybride Windows-Linux-arbejdsgange
relateret artikel:
Sådan opretter du hybride Windows-Linux-arbejdsgange i moderne miljøer