Telepítse a Windows alrendszert Linuxra

Install Windows Subsystem



A Windows alrendszer Linuxra a Microsoft által kifejlesztett segédprogram, amely lehetővé teszi a fejlesztőknek és a Linux rajongóinak, hogy a kedvenc Linux környezetüket natív módon futtassák a Windows 10 rendszeren, virtuális gép futtatása nélkül. A működési módja hasonló a módszerhez BOR Linuxon működik. A WSL lehetővé teszi a Linux bináris fájlok futtatását Windows rendszeren egy kompatibilitási réteg használatával, amely a Linux rendszerhívásait Windows rendszerhívásokká alakítja.

Építészet

Vitathatatlanul a WSL jobban működik Windows rendszeren, mint a WINE Linuxon, és ennek oka az, hogy a Linux sajátos az architektúrája szempontjából. Míg a legtöbb operációs rendszer kernelből, valamint a rendszermag köré épített könyvtárakból és szolgáltatásokból áll, a Linux csak egy kernel. A legtöbb GNU/Linux disztribúció felveszi ezt a kernelt, és ráépít egy operációs rendszerköteget. Attól függően, hogy hogyan választotta ki ezt a veremet, különböző disztribúciókat kap, például Debian, RedHat stb.







A Linux környezet Windows rendszeren való futtatásához engedélyeznie kell a WSL funkciót (rövidesen kitérünk erre), majd a Microsoft áruházba kell mennie, hogy megszerezze a kedvenc terjesztésének másolatát (Ubuntu, Debian, OpenSUSE stb.).



Az első lépés lehetővé teszi a syscall fordítási réteget, a második lépés pedig egy könnyű szoftverköteget hoz létre, amely teljes Linux operációs rendszert biztosít a WSL szolgáltatás futtatásához. Ellenkezőleg, vagyis a Windows -alkalmazások Linux -on történő futtatása sokkal nehezebb, mert a Windows sokkal több, mint az NT -kernel.



Emiatt nincs virtuális gép a WSL megvalósításában, így vonzó lehetőség. Nem lesz vesztesége a teljesítményben, mert nem vesz részt virtuális gépek, csak natív könnyű syscall fordítási réteg.





Telepítés és beállítás

Windows 10 rendszerű számítógépén keresse meg a Windows funkciók be- vagy kikapcsolását a Windows billentyűre kattintva, és gépelje be a Start menübe. Miután megnyílt a Windows Szolgáltatások menü, görgessen az aljára, ahol megtalálja a Windows Alrendszer Linuxra funkciót. Jelölje be ezt a négyzetet, majd kattintson az OK gombra.



A Windows innentől kezdve gondoskodik a beállításokról, és miután minden megtörtént, újra kell indítania a rendszert a módosítások véglegesítéséhez. Az újraindítás után elmehet a Microsoft Store -ba, és ott keresheti meg kedvenc disztribúcióját.

Kereshet a boltban a kedvenc disztribúciója között. Az alábbiakban egy képernyőkép látható a leggyakrabban használt disztribúciókról. Az OpenSUSE két változatát láthatja, egy Debian alkalmazást és a Kali Linuxot.

Természetesen a legnépszerűbb disztribúció továbbra is az Ubuntu, mind a 16.04, mind a 18.04 LTS elérhető a boltban.

Telepítse a Windows alrendszert Linuxra

Most már csak ki kell választania a kívánt terjesztést, és telepítenie kell a megfelelő alkalmazást. Telepítjük az Ubuntu 18.04 LTS -t a WSL környezetünkhöz. Körülbelül 215 MB méretű, sokkal kisebb, mint egy teljes Ubuntu telepítés.

Miután telepítette az alkalmazást, közvetlenül a Microsoft Store alkalmazásból vagy a Start menüben keresve indíthatja el. Az első indításkor némi időbe telik, amíg beállítja a dolgokat.

Ez akár 5 percet is igénybe vehet, de ha ez megtörtént, a rendszer felszólítja az új UNIX felhasználónév és jelszó megadására, és máris indulhat!

Az elindított terminál az Ubuntu rendszer szinte minden funkcióját kínálja, kivéve a grafikus felületet. Mivel a UNIX/Linux képességek többsége a terminál erejéig jön, ez messzire vezethet.

Például elkezdhetjük használni ezt a környezetet az összes telepített csomag frissítésével.

$sudotaláló frissítés&& sudotaláló frissítés-és

Dolgok, amelyeket WSL környezetben megtehetsz és nem

Most mindenki előtt felmerül a kérdés - Mi a fogás?

Tekintsük az ellenkező esetet. Az olyan technológiákkal, mint a WINE, tudjuk, hogy nem minden, amit a Windowsban meg lehet tenni, Linuxon. Az alacsony szintű rendszerkönyvtárak, mint például a DirectX, nem lesznek elérhetőek Linuxon, és sok Windows -os alkalmazás támaszkodik ilyen könyvtárakra.

Az olyan operációs rendszerek, mint a Windows 10, a FreeBSD vagy az Illumos teljes értékű operációs rendszerek, nem csak a rendszermag. A Windows, mivel a legtöbb könyvtár saját tulajdonú, és ez megnehezíti a dolgot. Ez sokkal nehezebbé teszi egy olyan projekt munkáját, mint a WINE.

Ha megpróbáljuk emulálni a Linuxot Windows rendszeren, az ellenkezője igaz. A Linux szűk ABI -hívásainak (vagy rendszerhívásainak) mindössze annyit kell lefordítania a Windows rendszerre, hogy mindent felül tudjon futtatni. Ha megpróbáljuk megkérdezni az Ubuntut a WSL -n, hogy milyen kernelt futtat, akkor megadja a Linux kernel verziószámát, a Microsoft mellett pedig a verziószám mellett, hogy ez nem a Linux kernel projekt fejága.

$uname -nak nek

Ha mélyebbre ásunk, azt tapasztaljuk, hogy bár a magas szintű funkciók, például a fájlrendszer -elrendezés és a hálózati konfigurációk megjelennek, az alacsonyabb szintű tevékenységek, például a blokk -tárolási elrendezés nem fognak működni.

Például a következő parancsok a várt módon működnek:

$df -h

$ifconfig

Mindkét parancs információt szolgáltat a natív rendszerről, amely ténylegesen Windows rendszert futtat. Ez nem olyan, mint egy virtuális gép futtatása, ahol teljesen különböző hálózati interfészek és különböző fájlrendszerek vannak.

Azonban a parancsok, mint a lsblk nem fog működni, mert az alacsonyabb szintű blokktárolás nem az, amire a Linux számít. Hasonlóképpen hiábavaló az OpenZFS telepítése, mert az OpenZFS telepít néhány betölthető kernelmodult, és nincs Linux -kernelünk, csak illúziónk.

Ugyanez igaz, ha a dokkolót próbálja futtatni. A Docker telepítésekor az Ubuntu nem fog panaszkodni, azonban a Docker szolgáltatás nem indul el, mivel az Systemstől függ, amely hiányzik ebben az alrendszerben.

Ugyanakkor rengeteg szolgáltatást és bash segédprogramot futtathat, hogy megkönnyítse az életét. Ha Linux szervereket kezel, akkor nem kell, hogy Linux legyen az asztalon. Ebben a környezetben futtathatja az SSH -ügyfeleket, a Docker -ügyfelet, a bash -t, a segédprogramokat, például a grep -t és az awk -t, valamint a kedvenc programozási nyelvét a Python -tól a Rust -ig, anélkül, hogy szennyezné a Windows rendszert.

A CD/CI automatizálást futtathatja az Ansible, a Puppet vagy bármely más kívánt technológia használatával. Vagyis bármi, amit egy DevOp, egy web- vagy alkalmazásfejlesztő vagy tesztelő megkövetelne egy Linux rendszertől, elérhető a WSL segítségével, kivéve azokat az embereket, akik rendszereszoftverrel és/vagy kernelfejlesztéssel dolgoznak.

Következtetés

Saját gondolatai vagy tapasztalatai vannak a Windows alrendszerről Linux rendszeren? Vagy talán még mindig vannak kérdései, amelyekre válaszokra van szüksége. Lépjen kapcsolatba velünk kérdéseivel, és mi foglalkozunk ezzel a témával.