A Linux alrendszer engedélyezése a Windows Server 2016 rendszerben

A Windows Server 2016 verzió egyik újítása RedStone 3 (1709) a natív Linux ELF64 bináris fájlok futtatásának natív támogatása. Ez a funkcionalitás külön komponensen keresztül valósul meg Windows alrendszer Linuxhoz (WSL), amely biztosítja a kívánt kompatibilitási réteget. Ebben az áttekintő cikkben bemutatjuk, hogyan lehet engedélyezni a Windows alrendszert a Linux rendszerhez a Windows Server 2016 rendszerben, és hogyan használhatjuk azt Linux alkalmazások futtatására.

A Linux alkalmazások Windows rendszeren való futtatásának képességét korábban bevezették a Windows 10 rendszerbe. Ezt a funkciót hívták Bash a Windows. -Tól kezdve A Windows 10 őszi alkotóinak frissítése ezt a nevet már nem használják, és hivatalosan ezt az alrendszert WSL-nek hívják - Windows alrendszer Linuxhoz. Ezen felül ahhoz, hogy használni tudja, nem kell többé átvinnie az operációs rendszert Fejlesztői módra. A WSL elérhető mind a Windows Server, mind a Microsoft Azure virtuális gépekben

Feltételezzük, hogy már letöltötte és telepítette a Windows Server> = 1709. kiadását. Ez lehet egy teljes GUI-vel rendelkező szerver vagy Core módban.

Az operációs rendszer jelenlegi verzióját így ellenőrizheti:

systeminfo | Kiválasztás-karakterlánc "^ OS név", "^ OS verzió"

Annak ellenőrzéséhez, hogy a Windows Server verziója rendelkezik-e WSL funkcióval, futtassa a következő parancsot:

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Alrendszer-Linux

A Linux alrendszer támogatásának engedélyezéséhez futtassa a következő parancsot:

Engedélyezés - WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Alrendszer-Linux

Ezután a kiszolgálót újra kell indítani.

Ezután le kell töltenie az archívumot az adaptált Linux disztribúcióval. A Microsoft jelenleg támogatást nyújt a következő disztribúciókhoz:

  • Ubuntu - https://aka.ms/wsl-ubuntu-1604
  • OpenSUSE - https://aka.ms/wsl-opensuse-42
  • SLES - https://aka.ms/wsl-sles-12 - a SUSE vállalati verziója

A CentOS és a Fedora disztribúciókat a közeljövőben tervezik hozzáadni.

Például a PowerShell HTTP protokollon keresztüli használatával töltse le az archívumot az Ubuntu terjesztéssel:

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

Az archívum mérete kb. 200 MB. Csomagolja ki:

Bontsa ki az Archívum ~ / Ubuntu.zip ~ / Ubuntu fájlt

Az eredeti archívum törölhető:

Elem eltávolítása Ubuntu.zip

A disztribúció telepítésének elindításához csak futtassa a fájlt:

Ubuntu.exe

Ez elindítja a telepítővarázslót, amely megkérdezi, hogy adja meg a felhasználónevet és a jelszót, amelyet a Linux környezethez való hozzáféréshez használ (ez a fiók nincs csatlakoztatva a Windowshoz, és része a sudoers csoportnak, tehát a sudo parancs használható a csomagok telepítéséhez).

Futtassa a disztribúció frissítését:

sudo apt-get frissítés
sudo apt-get upgrade

A Linux parancs kilépéséhez és a PowerShell-hez való visszatéréshez írja be:

kijárat

Bármikor megnyithat egy héjat a következő paranccsal:

bash

Lehetséges a Linux parancsok futtatása a Windows konzolról és fordítva. Például a PowerShell konzolban felsorolhatja a mappában lévő fájlokat az ls paranccsal. A parancs formátumának a következőnek kell lennie:

bash -c „ls -la”

A Windows parancsnak a Linuxból történő meghívásához a következő formátumnak kell lennie:

cmd.exe / c dir

megjegyzés. Felhívjuk figyelmét, hogy a Windows futtatható fájljainak futtatásakor meg kell határoznia a kiterjesztést és a kis- és nagybetűk közötti különbséget az eredeti fájl nevében.

Meg kell jegyezni, hogy csak azok a Windows futtatható fájlok indíthatók el Linuxról, amelyek egy speciális környezeti változóban vannak leírva. Új útvonal hozzáadásához a környezeti változóhoz futtassa a következő parancsot:

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

Most meghívhat bármilyen fájlt a% WinDir% \ system32 könyvtárból.

Ahhoz, hogy egy paramétert átadhassunk a végrehajtható fájl bemenetéhez, a következő konstrukciókat kell használnunk:

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

Ebben az esetben az összes futtatható fájl a bash.exe programot indító fiók összefüggésében indul el.

Tehát a WSL alrendszer felhasználható a Linux környezetben nem elérhető Linux segédprogramok tesztelésére, fejlesztésére és futtatására anélkül, hogy külön Linux virtuális gépet kellene telepíteni és konfigurálni..