Namestite podsistem Windows za Linux

Install Windows Subsystem



Podsistem Windows za Linux je pripomoček, ki ga je razvil Microsoft, da bi razvijalcem in ljubiteljem Linuxa omogočil, da svoje najljubše okolje Linuxa izvajajo v sistemu Windows 10, ne da bi pri tem nalagali navidezni stroj. Način delovanja je podoben načinu VINO deluje na Linuxu. WSL omogoča, da se binarne datoteke Linuxa izvajajo v sistemu Windows z uporabo sloja združljivosti, ki sistemske klice Linuxa prevede v sistemske klice sistema Windows.

Arhitektura

Verjetno WSL v operacijskem sistemu Windows deluje bolje kot WINE v Linuxu, razlog za to pa je, ker je Linux po svoji arhitekturi poseben. Medtem ko je večina operacijskih sistemov sestavljena iz jedra in cele zbirke knjižnic in funkcij, zgrajenih okoli tega jedra, je Linux samo jedro. Večina distribucij GNU/Linux vzame to jedro in na njem zgradi kup operacijskih sistemov. Odvisno od tega, kako ste se odločili za sestavljanje tega sklada, dobite različne distribucije, kot so Debian, RedHat itd.







Če želite zagnati okolje Linux v sistemu Windows, morate omogočiti funkcijo WSL (to bomo kmalu obravnavali), nato pa pojdite v Microsoftovo trgovino, da dobite kopijo svoje najljubše distribucije (Ubuntu, Debian, OpenSUSE itd.).



Prvi korak omogoča prevajalsko plast syscall, drugi korak pa prinaša lahek kup programske opreme, ki vam omogoča popoln operacijski sistem Linux za delovanje nad funkcijo WSL. Ravno nasprotno, to pomeni, da je izvajanje aplikacij Windows v Linuxu veliko težje, ker je Windows veliko več kot le jedro NT.



Zaradi tega pri izvajanju WSL ni navideznega stroja, zaradi česar je privlačna možnost. Ne boste imeli nobene izgube pri zmogljivosti, ker niso vključeni VM, samo domača lahka prevodna plast syscall.





Namestitev in nastavitev

V računalniku z operacijskim sistemom Windows 10 poiščite Vklop ali izklop funkcij sistema Windows, tako da pritisnete tipko Windows in jo vnesete v meni Start. Ko se odpre meni Funkcije sistema Windows, se pomaknite do dna, kjer boste našli funkcijo Windows podsistem za Linux. Potrdite to polje in kliknite V redu.



Windows bo od zdaj naprej skrbel za nastavitev in ko bo vse končano, boste morali znova zagnati sistem, da dokončate spremembe. Po ponovnem zagonu lahko obiščete trgovino Microsoft Store in tam poiščete svojo najljubšo distribucijo.

V trgovini lahko iščete svojo najljubšo distribucijo. Spodaj je posnetek zaslona nekaterih najpogosteje uporabljenih distribucij. Ogledate si lahko dve različici OpenSUSE, aplikacijo Debian in Kali Linux.

Seveda je še vedno najbolj priljubljena distribucija Ubuntu s 16.04 in 18.04 LTS, ki sta na voljo v trgovini.

Namestite podsistem Windows za Linux

Zdaj morate samo izbrati želeno distribucijo in namestiti ustrezno aplikacijo. Za okolje WSL bomo namestili Ubuntu 18.04 LTS. Velikost je približno 215 MB, kar je veliko manjše od celotne namestitve Ubuntu.

Ko je aplikacija nameščena, jo lahko zaženete neposredno iz aplikacije Microsoft Store ali pa jo poiščete v meniju Start. Ob prvem zagonu bo trajalo nekaj časa, da nastavite stvari za vas.

To lahko traja do 5 minut, ko pa to storite, boste pozvani, da vnesete novo uporabniško ime in geslo za UNIX, zato ste pripravljeni!

Zagnani terminal vam bo ponudil skoraj vse funkcije sistema Ubuntu, razen grafičnega vmesnika. Ker večina zmogljivosti UNIX/Linuxa prinaša moč terminala, vas to lahko pripelje daleč.

To okolje lahko na primer začnemo uporabljati tako, da posodobimo vse pakete, ki so v njem nameščeni.

$sudoapt posodobitev&& sudoprimerna nadgradnja-in

Stvari, ki jih lahko in ne morete početi v okolju WSL

Vprašanje, ki se poraja v mislih vseh, je - v čem je ulov?

Razmislimo o nasprotnem primeru. S tehnologijami, kot je WINE, vemo, da v sistemu Linux ni mogoče narediti vsega, kar je mogoče storiti v sistemu Windows. Sistemske knjižnice na nizki ravni, kot je DirectX, ne bodo na voljo v Linuxu in veliko aplikacij v sistemu Windows se zanaša na take knjižnice.

Operacijski sistemi, kot so Windows 10, FreeBSD ali Illumos, so polnopravni operacijski sistemi, ne le jedro. V sistemu Windows je večina knjižnic lastniških in to otežuje zadevo. Zaradi tega je delo projekta, kot je WINE, veliko težje.

Pri poskusu posnemanja Linuxa v sistemu Windows je ravno obratno. Ozek niz klicev ABI (ali sistemskih klicev) Linuxa je vse, kar potrebujete za prevajanje v sistem Windows, da zaženete vse, kar je na vrhu. Če poskušamo Ubuntu na WSL vprašati, katero jedro izvaja, vam bo dal številko različice jedra Linuxa, pri čemer bo Microsoft skupaj s številko različice navedel, da to ni glavna veja projekta jedra Linuxa.

$uname -za

Če poglobimo globlje, bomo ugotovili, da medtem ko so prikazane funkcije na visoki ravni, kot so postavitev datotečnega sistema in konfiguracije omrežja, dejavnosti na nižji ravni, kot je postavitev shranjevanja blokov, ne bodo delovale.

Na primer, naslednji ukazi bi delovali po pričakovanjih:

$df -h

$ifconfig

Oba ukaza vam povesta informacije o vašem izvornem sistemu, ki dejansko uporablja Windows. To ni nič drugega kot zagon VM, kjer so v celoti različni omrežni vmesniki in različni datotečni sistemi.

Vendar ukazi, kot so lsblk ne bo delovalo, ker nižje ravni shranjevanja ni tisto, kar Linux pričakuje. Podobno je namestitev OpenZFS jalova, ker OpenZFS namesti nekaj naloženih modulov jedra in nimamo jedra Linuxa le njegove iluzije.

Enako velja, če poskušate zagnati docker. Pri nameščanju Dockerja se Ubuntu ne bo pritoževal, vendar se storitev Docker ne bo zagnala, saj je odvisna od Systemd, ki v tem podsistemu ni.

Lahko pa zaženete številne storitve in pripomočke, ki vam olajšajo življenje. Če z upravljanjem strežnikov Linux preživljate, vam tudi na namizju ni treba imeti Linuxa. V tem okolju lahko zaženete odjemalce SSH, odjemalca Docker, bash, pripomočke, kot sta grep in awk, ter svoj najljubši programski jezik od Pythona do Rusta, ne da bi onesnažili sistem Windows.

Avtomatizacijo CD/CI lahko zaženete tudi z uporabo Ansible, Puppet ali katere koli druge tehnologije, ki vam je ljubša. Se pravi, vse, kar bi od sistema Linux zahteval DevOp, razvijalec spleta ali aplikacij ali preizkuševalec, je mogoče doseči z WSL, razen za ljudi, ki delajo s sistemsko programsko opremo in/ali razvojem jedra.

Zaključek

Imate lastne misli ali izkušnje s podsistemom Windows v Linuxu? Ali pa imate morda še vedno vprašanja, na katera potrebujete odgovore. Pišite nam z vašimi vprašanji in to temo bomo pokrili.