- WSL2 integriše prave Linux distribucije u Windows, sa punom podrškom za kernel i sistemske pozive.
- Instalacija je pojednostavljena pomoću wsl --install, koji omogućava komponente, instalira kernel i konfiguriše Ubuntu prema zadanim postavkama.
- Kombinacija WSL2, Windows Terminala i VS Code-a omogućava razvojno okruženje koje je gotovo identično produkcijskom.
- WSL2 značajno poboljšava korištenje Dockera, baza podataka i Linux alata, a istovremeno zadržava praktičnost Windows radne površine.
Ako programirate u Windowsu, ali implementirate softver na Linux serverima, vjerovatno ste se više puta borili s razlikama u okruženju, bibliotekama koje ne uspijevaju samo u produkciji ili Dockerom koji radi nepravilno. WSL je kreiran upravo da bi se izbjegla ta noćna mora, i sa... WSL2 Microsoft je konačno pogodio suštinu: gotovo nativni Linux, integriran u Windows i bez potrebe za postavljanjem teške virtuelne mašine.
Ovo je već preferirana opcija za hiljade programera jer vam omogućava da otvorite Ubuntu, Debian ili Kali terminal unutar Windowsa 10 ili 11, pokrenete komande, Docker, baze podataka ili alate komandne linije kao da ste na Linux serveru, ali bez odricanja od svojih Windows aplikacija i igara. Pogledajmo kako funkcioniše, kako ga instalirati, kako se razlikuje od WSL1 i kako da izvučete maksimum iz njega u svom svakodnevnom radu.
Šta je WSL i zašto mijenja život Windows programera?
WSL je akronim za Windows Subsystem for LinuxPodsistem koji vam omogućava pokretanje GNU/Linux distribucija unutar Windowsa bez potrebe za tradicionalnom virtuelnom mašinom ili dvostrukim pokretanjem. Možete instalirati Ubuntu, Debian, Kali, openSUSE, Arch (koristeći appx) ili druge distribucije i koristiti njihove konzolne alate direktno sa vaše Windows radne površine.
Za razliku od WSL1, WSL2 Koristi pravi Linux kernel Radi u laganoj virtuelnoj mašini kojom upravlja Windows (Hyper-V i platforma virtuelnih mašina), sa punom podrškom za ELF64 sistemske pozive. WSL1 je bio sloj za prevođenje sistema, brz za određene zadatke, ali sa ozbiljnim ograničenjima u kompatibilnosti, posebno sa alatima poput Dockera.
Za web developere, backend developere, DevOps ili stručnjake za podatke, ovo znači da možete rad u okruženju gotovo identičnom proizvodnom okruženju (što je u većini slučajeva Linux), koristeći iste biblioteke, upravitelje baza podataka, redove čekanja, servere za razmjenu poruka itd., bez napuštanja Windowsa. Klasično "radi na mom računaru" je stvar prošlosti jer razvijate na Windowsu, a implementirate na potpuno drugoj Linux distribuciji.
WSL2 nije potpuna grafička radna površina za Linux. Slično kao kod GNOME ili KDE VM-a, primarni interfejs je terminal. Međutim, danas možete pokretati i Linux GUI aplikacije preko WSL2, pa čak i iskoristiti prednosti GPU ubrzanja za opterećenja poput mašinskog učenja ili napredne grafike. Ako vam je potreban udaljeni pristup aplikacijama, možete konfigurirati Udaljena radna površina Chrome na Windowsu.
Windows vs Linux: klasični problem razvojnog okruženja
Windows ostaje najčešće instalirani operativni sistem na desktop računarimaIako se većina implementacija produkcijskih aplikacija vrši na Linuxu, ova dualnost je oduvijek stvarala sukob za programere koji rade u Windowsu, ali održavaju ili implementiraju aplikacije na Linux serverima.
Korisnici macOS-a tradicionalno su imali manje problema Budući da macOS dijeli Unix-sličnu osnovu, mnogi alati se ponašaju slično Linuxu. To je bio jedan od razloga zašto su mnogi programeri migrirali na Mac prije mnogo godina: tražili su pristojan terminal i okruženja bliža produkcijskom.
Velika prekretnica došla je sa DockerKontejneri su postali neophodni za razvoj i implementaciju, ali na Windowsu su performanse i korisničko iskustvo bili prilično loši, s neefikasnim slojevima kompatibilnosti. WSL2 rješava mnoge od ovih problema, nudeći okruženje u kojem Docker radi mnogo bolje.
WSL1 vs WSL2: razlike i zašto biste trebali koristiti verziju 2
WSL postoji u dvije glavne verzije: WSL1 i WSL2Iako oba omogućavaju pokretanje Linuxa na Windowsu, arhitektura se mnogo promijenila od jednog do drugog, što je primjetno u performansama i kompatibilnosti.
- WSL1 prevodi Linux sistemske pozive u Windows kernel. To rezultira vrlo brzim vremenom pokretanja i dobrom integracijom datoteka, ali ima ograničenu kompatibilnost s nekim aplikacijama, posebno onima kojima je potreban pravi Linux kernel, kao što su određeni mehanizmi baza podataka ili Docker koji radi punim kapacitetom.
- WSL2 koristi laganu virtuelnu mašinu sa punim Linux kernelom.Upravlja Windows. Nudi punu kompatibilnost sa sistemskim pozivima, poboljšane performanse datotečnog sistema (posebno na samom Linux datotečnom sistemu) i omogućava napredne funkcije kao što su izvorni Docker na WSL2 i direktan pristup kernelu.
- Obje verzije dijele neke karakteristikeNjegove prednosti uključuju integraciju sa Windowsom, brzo vrijeme pokretanja, kompatibilnost sa alatima za virtualizaciju poput VMWare-a ili VirtualBox-a (u novijim verzijama) i podršku za više distribucija. Međutim, samo WSL2 ima potpunu Linux kernel i potpunu podršku za sistemske pozive.
Sve navedeno, Preporučena opcija danas je korištenje WSL2Osim ako nemate vrlo specifičan razlog da ostanete pri WSL1. Docker Desktop, na primjer, dizajniran je za integraciju s WSL2, a mnogi moderni vodiči i alati već pretpostavljaju ovu verziju kao standard.

Zahtjevi za instaliranje WSL2 na Windows 10 i Windows 11
Da biste koristili WSL2, potrebna vam je relativno novija verzija Windowsa. Općenito, morate ispunjavati sljedeće uvjete:
- Windows 10 verzija 2004 ili novija (build 19041+) koristiti pojednostavljenu komandu
wsl --install. - Za WSL2 konkretno, Windows 10 verzija 1903, build 18362 ili novijaili Windows 11.
- Arquitectura de 64 bitsWSL2 nije dostupan na 32-bitnom Windowsu 10.
Osim toga, Morate se uvjeriti da je virtualizacija omogućena u BIOS-u. vašeg tima. Ako nije, možete naići na greške kao što su 0x80370102Ove poruke obično ukazuju na to da virtualizacija hardvera nije aktivna. Uđite u BIOS/UEFI, potražite opcije vezane za CPU ili "Tehnologiju virtualizacije" i omogućite ih.
Instalirajte WSL2 od nule pomoću naredbe wsl –install
U modernim verzijama Windowsa 10 i Windowsa 11, instalacija je znatno pojednostavljena: potrebna je samo jedna naredba i ponovno pokretanje sistema.
1. Otvorite PowerShell kao administratorPotražite "PowerShell" u meniju Start, kliknite desnim tasterom miša i izaberite "Pokreni kao administrator". Prihvatite upit Kontrole korisničkog računa (UAC) ako se pojavi.
2. Pokrenite kompletnu naredbu za instalaciju:
Komanda: wsl --install
Ova naredba obrađuje nekoliko internih koraka bez potrebe da dirate bilo šta drugo:
- Aktivirajte potrebne opcionalne komponente: Windows podsistem za Linux y Platforma virtuelne mašine.
- Preuzmite i instalirajte najnoviji Linux kernel za WSL.
- Konfiguriraj WSL2 kao zadana verzija.
- Preuzmite i instalirajte standardnu Linux distribuciju (obično Ubuntu).
3. Ponovo pokrenite računar kada vas Windows to zatraži.Ovo je neophodno da bi novoomogućene funkcije postale operativne.
4. Prilikom prvog pokretanja Linux distribucije (Ubuntu, osim ako ne navedete drugačije), otvorit će se prozor konzole u kojem se datoteke raspakiraju. Prvi put traje malo duže; sljedeća pokretanja su obično gotovo trenutna.
Odabir i promjena Linux distribucije u WSL-u
- Podrazumevano, komanda
wsl --installobično instalira Ubuntu kao zadanu distribuciju. Međutim, možete odabrati drugu distribuciju i tokom i nakon instalacije. - Da biste vidjeli popis distribucija dostupnih onlineOtvorite PowerShell i upišite:
- Lista:
wsl.exe --list --online - Za instaliranje određene distribucije iz konzole, koristite opciju
-dnavodeći svoje ime: - Instalirajte distribuciju:
wsl.exe --install -d NombreDeLaDistro - Ako želite promijeniti zadanu distribuciju (onaj koji se otvara kada jednostavno pokrenete
wsl), možete uraditi: - Zadano:
wsl.exe --set-default NombreDeLaDistro - A ako samo želite pokrenuti određenu distribuciju na jednokratnoj osnovi Bez promjene zadanih postavki, koristite:
- Pokretanje na vrijeme:
wsl.exe --distribution NombreDeLaDistro
Pored distribucija iz Microsoft Store-a, Moguće je uvesti prilagođene distribucije iz TAR datoteke ili instalirati pakete .appx en algunos casoskao što je Arch Linux. Možete čak kreirati i vlastite prilagođene WSL slike za standardizaciju okruženja unutar kompanije.

Konfigurišite svoje korisničko ime i lozinku za Linux u WSL-u
Prvi put kada otvorite svoju Linux distribuciju instaliranu sa WSL-omBit ćete upitani da kreirate korisničko ime i lozinku za UNIX. Ovaj račun će biti zadani korisnik za tu distribuciju.
Imajte na umu nekoliko važnih detalja o ovom korisniku:
- Nije povezano s vašim Windows korisničkim računom.Možete (i preporučuje se) da naziv bude drugačiji.
- Kada unesete lozinku, ništa se neće prikazati na ekranu. (Bez zvjezdica). Ovo je poznato kao "slijepi" unos, što je sasvim normalno u Linuxu.
- Ovaj korisnik se smatra administratorom na toj distribuciji i može koristiti
sudoizvršavati naredbe s povišenim privilegijama. - Svaka distribucija ima svoj vlastiti skup korisnika i lozinke; ako dodate novu distribuciju, morat ćete ponoviti proces kreiranja računa.
Ako vam se sviđa promjena lozinke Zatim otvorite distribuciju i pokrenite: Cambiar contraseña: passwd
Ako ste zaboravili korisničku lozinku za distribuciju Ali ako i dalje imate administratorski pristup u Windowsu, možete ponovo dobiti kontrolu na ovaj način:
- Otvorite komandni redak ili PowerShell kao administrator i prijavite se kao root na zadanu distribuciju:
wsl -u root
Za određenu distribuciju:
wsl -d NombreDistro -u root - Unutar tog glavnog terminala, pokrenite:
passwd nombre_usuarioi postavite novu lozinku. - Odjava iz WSL-a sa
exiti ponovo se prijavite normalno s oporavljenim korisničkim računom.
Načini pokretanja i korištenja Linux distribucija na Windowsu
Nakon što instalirate nekoliko distribucijaMožete ih otvoriti na različite načine, ovisno o tome šta vam je u datom trenutku najpogodnije.
- Windows Terminal (preporučeno). Windows Terminal je Microsoftov moderni emulator terminala. Svaki put kada instalirate novu Linux distribuciju u WSL-u, u Windows Terminalu se pojavljuje novi profil koji možete prilagoditi (ikona, shema boja, naredba za pokretanje itd.). To je najpogodniji način za istovremeni rad s više komandnih linija.
- Iz menija Start. Možete upisati naziv distribucije („Ubuntu“, „Debian“, „Kali Linux“...). Klikom na njega otvorit ćete je direktno u vlastitom konzolnom prozoru.
- Iz PowerShella ili CMD-a. Možete direktno upisati naziv distribucije (na primjer,
ubuntu) ili koristite generičku naredbu:
wslza ulazak u zadanu distribuciju, ili
wsl -d NombreDistroda unesete određeni. - Izvršite određenu Linux komandu iz Windowsa. Koristite sintaksu:
wsl
Na primjer:wsl ls -la,wsl pwd,wsl dateitd. Na ovaj način miješate Windows i Linux naredbe u istom cjevovodu.

Windows Terminal: savršen pratilac za WSL2
Da biste maksimalno iskoristili WSL2, vrijedi ga instalirati Windows Terminal iz Microsoft trgovine. Mnogo je praktičniji i moćniji od klasične komandne linije ili čak zadanog PowerShell prozora.
Windows Terminal omogućava kreirajte profile za svaku distribucijuDefinišite koji se terminal otvara po zadanim postavkama (PowerShell, CMD, Ubuntu, itd.), koristite kartice, podijeljene panele, različite teme boja, prilagođene fontove, pozadinske slike i napredne prečice na tastaturi.
Za mnoge programere na WindowsuWindows Terminal + WSL2 je kombinacija koja je najbliža radnom iskustvu izvornog Linux sistema ili macOS-a sa naprednim terminalom, bez napuštanja vašeg uobičajenog Windows okruženja.
Postavljanje vašeg razvojnog okruženja: VS Code, Visual Studio, Git i baze podataka
Nakon što je WSL2 pokrenut i u funkciji, sljedeći logičan korak je integrirajte svoj omiljeni editor ili IDE s tim okruženjem. Microsoft je uložio mnogo truda kako bi Visual Studio Code i Visual Studio savršeno funkcionisali sa WSL-om.
VS Code
Idealno bi bilo da instalirate Paket za udaljeni razvojOva ekstenzija vam omogućava da otvorite mapu koja se nalazi u WSL-u kao da je lokalni projekat, ali pokreće VS Code server unutar distribucije. Samo ukucajte:
code .
Iz WSL terminala, u mapi vašeg projekta, VS Code će otvoriti tu "udaljenu" putanju sa cijelim svojim ekosistemom: ekstenzijama, debuggingom, integriranim terminalom itd., ali zapravo funkcionirajući na Linuxu.
Vizualni studio
Omogućava vam da konfigurišete WSL kao cilj za C++ projekte koristeći CMake. Možete kompajlirati i debugovati na Windowsu, WSL-u ili udaljenim mašinama, prebacujući cilj iz samog IDE-a.
Što se tiče kontrole verzija, korištenje Gita unutar WSL-a je jednostavno kao instaliranje pomoću upravitelja paketa vaše distribucije (na primjer, sudo apt install git (na Ubuntuu) i konfigurirajte vjerodajnice, datoteke izuzeća, završetke redova itd. Također možete koristiti Windows Credential Manager za integraciju autentifikacije.
Konfigurisanje baza podataka u WSL-u (MySQL, PostgreSQL, MongoDB, Redis, SQL Server, SQLite, itd.) je vrlo slično kao i na bilo kojem Linux serveru. Možete pokrenuti servise unutar distribucije ili koristiti Docker kontejnere na WSL2, a zatim povezati svoje aplikacije iz Windowsa ili sa samog WSL-a, ovisno o vašim potrebama.
Upravljanje eksternim diskovima, GUI-jem i sigurnosnim kopijama distribucija
WSL2 takođe omogućava montirajte eksterne diskove ili USB diskove direktno u Linux okruženju. Postoji posebna dokumentacija za montiranje diskova pomoću naredbe wsl --mountOvo vam daje mnogo fleksibilnosti pri radu s podacima koje imate u drugim jedinicama.
Ako vam se sviđa pokretanje grafičkih Linux aplikacija (GUI) unutar WSL2 je sada moguć zahvaljujući Microsoftovoj podršci za GUI aplikacije. Ovo vam omogućava otvaranje grafičkih editora, alata za dizajn ili laganih desktop okruženja bez potrebe za pokretanjem tradicionalne virtuelne mašine.
Za uraditi sigurnosne kopije ili premještanje kompletne distribucije na drugi računarWSL uključuje dvije veoma korisne komande:
- Izvoz distribucije:
wsl --export NombreDistro backup-wsl.tar
Ovo generira TAR datoteku sa cijelim njenim datotečnim sistemom. - Uvoz distribucije:
wsl --import NombreDistro C:\ruta\destino backup-wsl.tar --version 2
Ovo vraća tu distribuciju sa svim njenim sadržajem na drugu putanju i, ako želite, osigurava da koristi WSL2.
Ovaj mehanizam izvoza/uvoza je veoma praktičan za kloniranje razvojnih okruženja, njihovo dijeljenje s kolegama ili jednostavno održavanje sigurnosne kopije prije pravljenja većih promjena.
WSL2 se etablirao kao primarno razvojno okruženje Za mnoge korisnike Windowsa koji ne žele odustati od igranja igrica, korištenja određenog softvera ili svog radnog procesa na ovom sistemu, ali im je potrebno pravo Linux okruženje za programiranje, isprobavanje WSL2 moglo bi biti prekretnica u načinu na koji rade.
Urednik specijaliziran za tehnologiju i internet pitanja s više od deset godina iskustva u različitim digitalnim medijima. Radio sam kao urednik i kreator sadržaja za kompanije za e-trgovinu, komunikaciju, online marketing i oglašavanje. Također sam pisao na web stranicama ekonomije, finansija i drugih sektora. Moj posao je i moja strast. Sada, kroz moje članke u Tecnobits, pokušavam istražiti sve novosti i nove mogućnosti koje nam svijet tehnologije nudi svaki dan da poboljšamo svoje živote.
