Jak povolit podsystém Linux v systému Windows Server 2016

Jedna z novinek verze systému Windows Server 2016 RedStone 3 (1709) je nativní podpora pro spuštění nativních binárních souborů Linux ELF64. Tato funkce je implementována prostřednictvím samostatné komponenty Subsystém Windows pro Linux (WSL), která poskytuje požadovanou vrstvu kompatibility. V tomto článku s recenzemi ukážeme, jak v systému Windows Server 2016 povolit subsystém Windows pro systém Linux a používat jej ke spuštění aplikací systému Linux.

Schopnost spouštět Linuxové aplikace na Windows byla dříve představena ve Windows 10. Tato funkce byla volána Bash na oknech. Počínaje Aktualizace Windows 10 Fall Creators tento název se již nepoužívá a oficiálně se tento subsystém nyní nazývá WSL - Windows Subsystem pro Linux. Navíc, abyste ji mohli používat, již nemusíte přepínat OS do režimu vývojáře. WSL je k dispozici na virtuálních strojích Windows Server i Microsoft Azure

Předpokládáme, že jste již stáhli a nainstalovali vydání systému Windows Server> = 1709. Může to být server s plným GUI nebo v režimu Core.

Aktuální verzi operačního systému můžete zkontrolovat takto:

systeminfo | Vyberte řetězec „^ OS Name“, „^ OS Version“

Chcete-li ověřit, zda má verze systému Windows Server funkčnost WSL, spusťte následující příkaz:

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

Chcete-li povolit podporu pro subsystém Linux, spusťte příkaz:

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

Poté je třeba restartovat server.

Dále je třeba stáhnout archiv s přizpůsobenou distribucí systému Linux. Společnost Microsoft v současné době nabízí podporu pro následující distribuce:

  • Ubuntu - https://aka.ms/wsl-ubuntu-1604
  • OpenSUSE - https://aka.ms/wsl-opensuse-42
  • SLES - https://aka.ms/wsl-sles-12 - firemní verze SUSE

Distribuce CentOS a Fedora plánují být přidány v blízké budoucnosti.

Například pomocí PowerShell prostřednictvím protokolu HTTP stáhněte archiv s distribucí Ubuntu:

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

Velikost archivu je asi 200 MB. Rozbalte jej:

Rozbalte-archivovat ~ / Ubuntu.zip ~ / Ubuntu

Původní archiv lze vymazat:

Remove-Item Ubuntu.zip

Chcete-li zahájit instalaci distribuce, stačí spustit soubor:

Ubuntu.exe

Tím se spustí průvodce instalací, který vás požádá o zadání uživatelského jména a hesla, které budete používat pro přístup do prostředí Linuxu (tento účet není připojen k Windows a je součástí skupiny sudoers, takže je možné použít příkaz sudo k instalaci balíčků)

Spusťte aktualizaci distribuce:

aktualizace sudo apt-get
sudo apt-get upgrade

Chcete-li ukončit příkaz systému Linux a vrátit se do prostředí PowerShell, zadejte:

Konec

Shell můžete kdykoli otevřít příkazem:

bash

Linuxové příkazy je možné spouštět z konzoly Windows a naopak. Například v konzole PowerShell můžete soubory zobrazit v adresáři pomocí příkazu ls. Formát příkazu by měl být následující:

bash -c „ls -la“

Chcete-li zavolat příkaz systému Windows z Linuxu, formát by měl být následující:

cmd.exe / c dir

Poznámka:. Vezměte prosím na vědomí, že při spuštění spustitelných souborů systému Windows musíte zadat příponu a rozlišovat velká a malá písmena pro název původního souboru.

Je třeba poznamenat, že z Linuxu lze spustit pouze ty spustitelné soubory Windows, které jsou popsány ve speciální proměnné prostředí. Chcete-li přidat novou cestu k proměnné prostředí, spusťte příkaz:

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

Nyní můžete volat libovolný soubor z adresáře% WinDir% \ system32.

Chcete-li předat parametr vstupu spustitelného souboru, musíte použít následující konstrukce:

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

Všechny spustitelné soubory jsou v tomto případě spuštěny v kontextu účtu, který spustil bash.exe.

Subsystém WSL lze tedy použít k testování, vývoji a spouštění linuxových nástrojů, které nejsou dostupné v prostředích Windows, aniž by bylo nutné nasazovat a konfigurovat samostatný virtuální počítač Linux.