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
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..