Ako povoliť podsystém Linux v systéme Windows Server 2016

Jedna z inovácií verzie systému Windows Server 2016 RedStone 3 (1709) je natívna podpora pre beh natívnych Linuxových binárnych súborov ELF64. Táto funkcia je implementovaná prostredníctvom samostatného komponentu Subsystém Windows pre Linux (WSL), ktorá poskytuje požadovanú vrstvu kompatibility. V tomto článku prehľadu ukážeme, ako povoliť subsystém Windows pre systém Linux v systéme Windows Server 2016 a použiť ho na spúšťanie aplikácií systému Linux.

Schopnosť spúšťať aplikácie systému Linux v systéme Windows bola predtým predstavená v systéme Windows 10. Táto funkcia bola nazývaná Bash na oknách. Počnúc od Aktualizácia Windows 10 Fall Creators tento názov sa už nepoužíva a oficiálne sa tento subsystém teraz nazýva WSL - Windows Subsystem pre Linux. Ak ju chcete používať, nemusíte prepínať operačný systém do vývojového režimu. WSL je k dispozícii vo virtuálnych počítačoch Windows Server aj Microsoft Azure

Predpokladáme, že ste už stiahli a nainštalovali vydanie systému Windows Server> = 1709. Môže to byť server s úplným grafickým používateľským rozhraním alebo v režime Core..

Aktuálnu verziu operačného systému môžete skontrolovať takto:

systeminfo | Vyberte reťazec „^ OS Name“, „^ OS Version“

Ak chcete overiť, či má vaša verzia systému Windows Server funkčnosť WSL, spustite nasledujúci príkaz:

Získajte WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Ak chcete povoliť podporu pre subsystém Linux, spustite príkaz:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Potom je potrebné reštartovať server.

Ďalej je potrebné stiahnuť archív s prispôsobenou distribúciou systému Linux. Spoločnosť Microsoft v súčasnosti ponúka podporu pre tieto distribúcie:

  • ubuntu - https://aka.ms/wsl-ubuntu-1604
  • openSUSE - https://aka.ms/wsl-opensuse-42
  • SLES - https://aka.ms/wsl-sles-12 - firemná verzia programu SUSE

Distribúcie CentOS a Fedora sa plánujú pridať v blízkej budúcnosti.

Napríklad pomocou PowerShell prostredníctvom protokolu HTTP stiahnite archív s distribúciou Ubuntu:

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

Veľkosť archívu je asi 200 MB. Rozbalte ho:

Rozbaľte-Archív ~ / Ubuntu.zip ~ / Ubuntu

Pôvodný archív je možné odstrániť:

Remove-Item Ubuntu.zip

Ak chcete spustiť inštaláciu distribúcie, stačí spustiť súbor:

Ubuntu.exe

Spustí sa sprievodca inštaláciou, ktorý vás požiada o zadanie používateľského mena a hesla, ktoré budete používať na prístup do prostredia Linuxu (tento účet nie je pripojený k systému Windows a je súčasťou skupiny sudoers, takže na inštaláciu balíkov je možné použiť príkaz sudo)

Spustite aktualizáciu distribúcie:

aktualizácia sudo apt-get
sudo apt-get upgrade

Ak chcete ukončiť príkaz shellu Linux a vrátiť sa do PowerShell, napíšte:

výjazd

Shell môžete kedykoľvek otvoriť príkazom:

tresnúť

Príkazy systému Linux je možné spúšťať z konzoly Windows a naopak. Napríklad v konzole PowerShell môžete súbory zobraziť v adresári pomocou príkazu ls. Formát príkazu by mal byť nasledujúci:

bash -c „ls -la“

Ak chcete zavolať príkaz systému Windows z operačného systému Linux, mal by mať nasledujúci formát:

cmd.exe / c dir

poznámka. Upozorňujeme, že pri spustení spustiteľných súborov systému Windows musíte zadať príponu a pri názve pôvodného súboru musíte rozlišovať veľkosť písmen.

Je potrebné poznamenať, že z Linuxu je možné spustiť iba tie spustiteľné súbory Windows, ktoré sú opísané v špeciálnej premennej prostredia. Ak chcete pridať novú cestu k premennej prostredia, spustite príkaz:

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

Teraz môžete zavolať ľubovoľný súbor z adresára% WinDir% \ system32.

Na odovzdanie parametra na vstup spustiteľného súboru musíte použiť nasledujúce konštrukcie:

$ notepad.exe “C: \ temp \ test.txt”
$ notepad.exe C: \\ temp \\ test.txt

Všetky spustiteľné súbory sú v tomto prípade spustené v kontexte účtu, ktorý spustil bash.exe.

Subsystém WSL je možné použiť na testovanie, vývoj a spúšťanie utilít Linux, ktoré nie sú dostupné v prostrediach Windows bez toho, aby bolo potrebné nasadiť a nakonfigurovať samostatný virtuálny počítač so systémom Linux..