Kako omogočiti Linux podsistem v operacijskem sistemu Windows Server 2016

Ena od novosti različice Windows Server 2016 RedStone 3 (1709) je izvorna podpora za zagon izvornih Linux-ovih ELF64 binarnih datotek. Ta funkcionalnost se izvaja prek ločene komponente Podsistem Windows za Linux (WSL), ki zagotavlja želeni sloj združljivosti. V tem preglednem članku bomo pokazali, kako v sistemu Windows Server 2016 omogočiti podsistem Windows za Linux in ga uporabljati za zagon programov Linux.

Možnost zaganjanja programov Linux v operacijskem sistemu Windows je bila predhodno predstavljena v sistemu Windows 10. Ta funkcija je bila imenovana Bash na oknih. Začenši od Posodobitev za Windows 10 Fall Creators Update tega imena se ne uporablja več in uradno se ta podsistem imenuje WSL - podsistem Windows za Linux. Poleg tega za njegovo uporabo ni več treba preklopiti OS v način razvijalca. WSL je na voljo v virtualnih računalnikih Windows Server in Microsoft Azure

Predvidevamo, da ste že prenesli in namestili izdajo sistema Windows Server> = 1709. To je lahko strežnik s celotnim GUI-jem ali v jedru.

Trenutno lahko preverite trenutno različico OS:

sistemska informacija | Izberite niz "^ Ime OS", "^ Različica OS"

Če želite preveriti, ali ima različica sistema Windows Server funkcijo WSL, zaženite naslednji ukaz:

Pridobite-WindowsOtionalFeature -Online -FeatureName Microsoft-Windows-Podsistem-Linux

Če želite omogočiti podporo za podsistem Linux, zaženite ukaz:

Omogoči-WindowsOtionalFeature -Online -FeatureName Microsoft-Windows-Podsistem-Linux

Po tem je treba strežnik znova zagnati.

Nato morate prenesti arhiv s prilagojeno distribucijo Linuxa. Microsoft trenutno ponuja podporo za naslednje distribucije:

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

Načrtovane bodo distribucije CentOS in Fedora v bližnji prihodnosti.

Na primer, s pomočjo PowerShell prek protokola HTTP prenesite arhiv z distribucijo Ubuntu:

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

Velikost arhiva je približno 200 MB. Razpakirajte ga:

Razširi-arhiv ~ / Ubuntu.zip ~ / Ubuntu

Izvirni arhiv je mogoče izbrisati:

Odstrani-element Ubuntu.zip

Če želite začeti namestitev distribucije, zaženite datoteko:

Ubuntu.exe

To bo zagnalo čarovnika za namestitev, ki vas bo pozval, da določite uporabniško ime in geslo, ki ju boste uporabili za dostop do okolja Linux (ta račun ni povezan z Windows in je vključen v skupino sudoers, zato je dovoljeno uporabljati ukaz sudo za namestitev paketov)

Zaženite posodobitev distribucije:

sudo apt-get update
nadgraditi sudo apt-get

Če želite zapustiti ukaz lupine Linux in se vrniti v PowerShell, vnesite:

Izhod

Lupino lahko kadar koli odprete z ukazom:

bash

Ukaze Linuxa lahko zaženete s konzole Windows in obratno. V konzoli PowerShell lahko na primer datoteke v imeniku navedete z ukazom ls. Oblika ukaza mora biti takšna:

bash -c “ls -la”

Če želite poklicati ukaz Windows iz Linuxa, mora biti oblika takšna:

cmd.exe / c dir

Opomba. Ko zaženete izvršljive datoteke v sistemu Windows, morate določiti razširitev in za ime izvirne datoteke biti veliko in veliko.

Upoštevati je treba, da se iz Linuxa lahko zaženejo samo tiste izvršljive datoteke Windows, ki so opisane v posebni spremenljivki okolja. Če želite dodati novo pot spremenljivki okolja, zaženite ukaz:

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

Zdaj lahko pokličete katero koli datoteko iz imenika% WinDir% \ system32.

Če želite poslati parameter na vhod izvršljive datoteke, morate uporabiti naslednje konstrukcije:

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

Vse izvršljive datoteke v tem primeru se zaženejo v okviru računa, ki je zagnal bash.exe.

Torej se lahko podsistem WSL uporablja za testiranje, razvoj in zagon pripomočkov Linux, ki niso na voljo v okolju Windows, ne da bi bilo treba namestiti in konfigurirati ločen navidezni stroj Linux.