Cara mengaktifkan subsistem Linux di Windows Server 2016

Salah satu inovasi versi Windows Server 2016 RedStone 3 (1709) adalah dukungan asli untuk menjalankan file biner Linux ELF64 asli. Fungsionalitas ini diimplementasikan melalui komponen terpisah Subsistem Windows untuk Linux (WSL), yang menyediakan lapisan kompatibilitas yang diinginkan. Dalam artikel ulasan ini, kami akan menunjukkan cara mengaktifkan subsistem Windows untuk Linux di Windows Server 2016 dan menggunakannya untuk menjalankan aplikasi Linux.

Kemampuan untuk menjalankan aplikasi Linux pada Windows sebelumnya diperkenalkan pada Windows 10. Fitur ini disebut Bash di windows. Mulai dari Pembaruan Windows 10 Fall Creators nama ini tidak lagi digunakan dan secara resmi subsistem ini sekarang disebut WSL - Windows Subsystem untuk Linux. Selain itu, untuk menggunakannya, Anda tidak perlu lagi mengganti OS ke Mode Pengembang. WSL tersedia di mesin virtual Windows Server dan Microsoft Azure

Kami berasumsi bahwa Anda telah mengunduh dan menginstal rilis Windows Server> = 1709. Ini bisa menjadi server dengan GUI penuh atau dalam mode Inti.

Anda dapat memeriksa versi OS saat ini seperti ini:

systeminfo | Pilih-String "^ Nama OS", "^ Versi OS"

Untuk memverifikasi bahwa versi Windows Server Anda memiliki fungsionalitas WSL, jalankan perintah berikut:

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

Untuk mengaktifkan dukungan untuk subsistem Linux, jalankan perintah:

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

Setelah itu server perlu di-reboot.

Selanjutnya, Anda perlu mengunduh arsip dengan distribusi Linux yang diadaptasi. Microsoft saat ini menawarkan dukungan untuk distribusi berikut:

  • Ubuntu - https://aka.ms/wsl-ubuntu-1604
  • OpenSUSE - https://aka.ms/wsl-opensuse-42
  • SLES - https://aka.ms/wsl-sles-12 - versi perusahaan SUSE

Distribusi CentOS dan Fedora direncanakan akan ditambahkan dalam waktu dekat.

Misalnya, menggunakan PowerShell melalui protokol HTTP, unduh arsip dengan distribusi Ubuntu:

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

Ukuran arsip sekitar 200 MB. Buka kemasannya:

Expand-Archive ~ / Ubuntu.zip ~ / Ubuntu

Arsip asli dapat dihapus:

Hapus-Item Ubuntu.zip

Untuk memulai instalasi distribusi, jalankan file:

Ubuntu.exe

Ini akan meluncurkan wizard penginstalan, yang akan meminta Anda untuk menentukan nama pengguna dan kata sandi yang akan Anda gunakan untuk mengakses lingkungan Linux (akun ini tidak terhubung ke Windows dan merupakan bagian dari grup sudoers, sehingga diizinkan untuk menggunakan perintah sudo untuk menginstal paket)

Jalankan pembaruan distribusi:

sudo apt-get pembaruan
sudo apt-get upgrade

Untuk keluar dari perintah shell Linux dan kembali ke PowerShell, ketik:

Keluar

Anda dapat membuka shell kapan saja dengan perintah:

bash

Dimungkinkan untuk menjalankan perintah Linux dari konsol Windows dan sebaliknya. Sebagai contoh, di konsol PowerShell, Anda dapat membuat daftar file dalam direktori dengan perintah ls. Format perintah harus seperti ini:

bash -c “ls -la”

Untuk memanggil perintah Windows dari Linux, formatnya harus seperti ini:

dir cmd.exe / c

Catatan. Harap perhatikan bahwa ketika Anda menjalankan file yang dapat dieksekusi Windows, Anda harus menentukan ekstensi dan peka huruf besar-kecil untuk nama file asli.

Perlu dicatat bahwa hanya file Windows yang dapat dieksekusi yang dijelaskan dalam variabel lingkungan khusus yang dapat diluncurkan dari Linux. Untuk menambahkan jalur baru ke variabel lingkungan, jalankan perintah:

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

Sekarang Anda dapat memanggil file apa saja dari direktori% WinDir% \ system32.

Untuk meneruskan parameter ke input file yang dapat dieksekusi, Anda perlu menggunakan konstruksi berikut:

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

Semua file yang dapat dieksekusi dalam hal ini diluncurkan dalam konteks akun yang meluncurkan bash.exe.

Jadi, subsistem WSL dapat digunakan untuk menguji, mengembangkan dan menjalankan utilitas Linux yang tidak tersedia di lingkungan Windows tanpa harus menggunakan dan mengkonfigurasi mesin virtual Linux yang terpisah..