Начиная с версии Windows Server 2016 RedStone 3 (1709), появилась поддержка Windows Subsystem for Linux (WSL), позволяющая запускать нативные бинарные файлы Linux ELF64. Эта функция обеспечивает слой совместимости для выполнения Linux-приложений без необходимости развертывания виртуальных машин. В статье описан процесс включения WSL, установки дистрибутива Linux (например, Ubuntu) и взаимодействия между Windows и Linux.
Требования
— Windows Server 2016 версии 1709 или выше (с GUI или в режиме Core).
— Права администратора.
— Доступ к интернету для загрузки дистрибутива Linux.
Проверка версии Windows Server
Убедитесь, что ваша система соответствует требованиям, проверив версию ОС:
systeminfo | Select-String "^OS Name","^OS Version"
Версия должна быть 10.0.16299 (1709) или выше.
Проверка наличия WSL
Проверьте, доступен ли компонент WSL:
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Если компонент присутствует, его состояние будет Disabled (отключен) или Enabled (включен).
Включение WSL
1. Включите подсистему Linux:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
2. Перезагрузите сервер:
Restart-Computer
Установка дистрибутива Linux
Microsoft поддерживает несколько дистрибутивов для WSL:
— Ubuntu: https://aka.ms/wsl-ubuntu-1604
— OpenSUSE: https://aka.ms/wsl-opensuse-42
— SLES: https://aka.ms/wsl-sles-12
Пример установки Ubuntu:
1. Скачайте архив дистрибутива с помощью PowerShell:
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.zip -UseBasicParsing
2. Распакуйте архив (размер около 200 МБ):
Expand-Archive ~/Ubuntu.zip ~/Ubuntu
3. Удалите архив:
Remove-Item ~/Ubuntu.zip
4. Запустите установку дистрибутива:
~/Ubuntu/Ubuntu.exe
5. Следуйте указаниям мастера установки:
— Укажите имя пользователя и пароль для Linux (не связаны с учетной записью Windows).
— Пользователь автоматически добавляется в группу sudoers для выполнения команд с sudo.
Обновление дистрибутива
После установки обновите пакеты:
sudo apt-get update
sudo apt-get upgrade
Работа с WSL
Запуск и выход из Linux
— Для входа в оболочку Linux:
bash
— Для выхода в PowerShell:
exit
Запуск Linux-команд из Windows
Выполняйте Linux-команды из PowerShell или командной строки:
bash -c "ls -la"
Запуск Windows-команд из Linux
Из оболочки Linux вызывайте команды Windows, указывая расширение файла и соблюдая регистр:
cmd.exe /c dir
Для доступа к исполняемым файлам Windows добавьте путь в переменную окружения:
export PATH=$PATH:/mnt/c/Windows/System32
Пример запуска Блокнота:
notepad.exe
Передача параметров:
notepad.exe "C:\temp\test.txt"
notepad.exe C:\\temp\\test.txt
Все Windows-программы запускаются в контексте учетной записи, инициировавшей bash.exe.
Применение WSL
WSL в Windows Server 2016 подходит для:
— Тестирования Linux-приложений.
— Разработки программного обеспечения.
— Использования Linux-утилит, недоступных в Windows.
Это устраняет необходимость в развертывании отдельной виртуальной машины с Linux.
Ограничения
— WSL в Windows Server 2016 поддерживает только базовые функции (нет GUI, ограниченная поддержка сетевых функций).
— Доступны только определенные дистрибутивы (Ubuntu, OpenSUSE, SLES). Поддержка CentOS и Fedora появилась позже.
— Требуется версия 1709 или выше.
Включение WSL в Windows Server 2016 позволяет запускать Linux-приложения без дополнительных виртуальных машин. Установите компонент WSL, загрузите дистрибутив, например Ubuntu, и настройте взаимодействие между Windows и Linux. Это удобное решение для разработки, тестирования и использования Linux-утилит.