Kako omogućiti Linux podsustav u sustavu Windows Server 2016

Jedna od inovacija verzije sustava Windows Server 2016 RedStone 3 (1709) izvorna je podrška za pokretanje izvornih Linux ELF64 binarnih datoteka. Ova se funkcionalnost provodi kroz zasebnu komponentu Windows podsustav za Linux (WSL), koji pruža željeni sloj kompatibilnosti. U ovom ćemo članku pokazati kako omogućiti Windows podsustav za Linux u sustavu Windows Server 2016 i koristiti ga za pokretanje Linux aplikacija.

Mogućnost pokretanja Linux aplikacija na Windows-u prethodno je uvedena u sustavu Windows 10. Ova značajka je nazvana Bash na prozorima. Počevši od Ažuriranje tvorca pada za Windows 10 ovo se ime više ne koristi i službeno se ovaj podsustav sada naziva WSL - Windows podsustav za Linux. Osim toga, da biste ga upotrebljavali, više ne trebate prebacivati ​​OS na razvojni način. WSL je dostupan i na Windows Server i Microsoft Azure virtualnim računalima

Pretpostavljamo da ste već preuzeli i instalirali izdanje sustava Windows Server> = 1709. To može biti poslužitelj s potpunim GUI-om ili u Core modu.

Možete provjeriti trenutnu verziju OS-a ovako:

systeminfo | Izaberite niz "^ Naziv OS", "^ Verzija OS-a"

Da biste provjerili ima li vaša verzija Windows Server funkcionalnost WSL, pokrenite sljedeću naredbu:

Nabavite-WindowsOptionsFeature -Online -FeatureName Microsoft-Windows-Podsistem-Linux

Da biste omogućili podršku za Linux podsustav, pokrenite naredbu:

Omogući-WindowsOtionalFeature -Online -FeatureName Microsoft-Windows-Podsistem-Linux

Nakon toga poslužitelj treba ponovno pokrenuti.

Zatim trebate preuzeti arhivu s prilagođenom distribucijom Linuxa. Microsoft trenutno nudi podršku za sljedeće distribucije:

  • Ubuntu - https://aka.ms/wsl-ubuntu-1604
  • OpenSUSE - https://aka.ms/wsl-opensuse-42
  • SLES - https://aka.ms/wsl-sles-12 - korporativna verzija SUSE

Distribucije CentOS i Fedora planirane su dodavanje u bliskoj budućnosti.

Na primjer, pomoću PowerShell-a putem HTTP protokola preuzmite arhivu s Ubuntu distribucijom:

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~ / Ubuntu.zip -UseBasicParsing

Veličina arhive je oko 200 MB. Raspakirajte ga:

Proširi-Arhiva ~ / Ubuntu.zip ~ / Ubuntu

Izvorna arhiva može se izbrisati:

Ubuntu.zip za uklanjanje predmeta

Da biste započeli instalaciju distribucije, samo pokrenite datoteku:

Ubuntu.exe

Ovo će pokrenuti čarobnjaka za instalaciju, koji će od vas tražiti da navedete korisničko ime i lozinku koje ćete koristiti za pristup Linux okruženju (ovaj račun nije povezan sa sustavom Windows i dio je grupe sudoers, pa je dopušteno korištenje naredbe sudo za instaliranje paketa)

Pokrenite ažuriranje distribucije:

sudo apt-get update
sudo apt-get nadogradnju

Za izlaz iz naredbe Linux shell i povratak na PowerShell upišite:

Izlaz

Shell možete u bilo koje vrijeme otvoriti naredbom:

udariti

Moguće je pokrenuti Linux naredbe s Windows konzole i obrnuto. Na primjer, u konzoli PowerShell možete navesti datoteke u direktoriju pomoću naredbe ls. Format naredbe trebao bi biti ovako:

bash -c "ls -la"

Za pozivanje Windows naredbe iz Linuxa oblik bi trebao biti ovako:

cmd.exe / c dir

primjedba. Imajte na umu da kada pokrenete izvršne datoteke u sustavu Windows, morate navesti proširenje i razlikujte velika i mala slova imena originalne datoteke.

Treba napomenuti da se iz Linuxa mogu pokrenuti samo one izvršne datoteke koje su opisane u posebnoj varijabli okruženja. Da biste dodali novi put u varijablu okruženja, pokrenite naredbu:

izvoz PATH = $ PATH: / mnt / c / Windows / System32

Sada možete nazvati bilo koju datoteku iz direktorija% WinDir% \ system32.

Za prosljeđivanje parametra na ulaz izvršne datoteke, trebate koristiti sljedeće konstrukcije:

$ notepad.exe "C: \ temp \ test.txt"
$ notepad.exe C: \\ temp \\ test.txt

Sve izvršne datoteke u ovom slučaju pokreću se u kontekstu računa koji je pokrenuo bash.exe.

Dakle, WSL podsustav može se koristiti za testiranje, razvoj i pokretanje Linux alata koji nisu dostupni u Windows okruženjima bez potrebe za implementacijom i konfiguriranjem zasebnog Linux virtualnog stroja.