Первый стабильный релиз WSL, прослойки для запуска Linux-приложений в Windows

Компания Microsoft представила выпуск прослойки для запуска Linux-приложений в Windows — WSL 1.0.0 (Windows Subsystem for Linux), который отмечен как первый стабильный релиз проекта. Одновременно с пакетов WSL, поставляемых через магазин приложений Microsoft Store, снят признак экспериментальной разработки.

Команды «wsl —install» и «wsl —update» переведены по умолчанию на использование Microsoft Store для установки и обновления WSL, что позволило значительно ускорить доставку обновлений по сравнению с распространением в форме встроенного в Windows компонента. Для возвращения старой схемы установки в утилите wsl предложена опция «—inbox». Кроме того, через Microsoft Store обеспечена поддержка сборок для Windows 10, что дало возможность пользователям этой платформы получить доступ к таким новшествам в WSL, как запуск графических Linux-приложений и поддержка системного менеджера systemd.

Обновлённая утилита wsl.exe, переведённая по умолчанию на загрузку из Microsoft Store, включена в состав ноябрьских обновлений Windows 10 и 11 «22H2», которые пока устанавливаются только после ручной проверки (Windows Settings -› «Check for Updates»), и будут применены автоматически в середине декабря. В качестве альтернативного варианта установки также можно использовать msi-пакеты, размещаемые на GitHub.

Для обеспечения запуска исполняемых файлов Linux в WSL вместо изначально применявшегося эмулятора, выполнявшего трансляцию системных вызовов Linux в системные вызовы Windows, предоставляется окружение с полноценным ядром Linux. Предлагаемое для WSL ядро основано на выпуске ядра Linux 5.10, который расширен специфичными для WSL патчами, включающими оптимизации для сокращения времени запуска ядра, уменьшения потребления памяти, возвращения Windows освобождённой Linux-процессами памяти, оставления в ядре минимально необходимого набора драйверов и подсистем.

Ядро выполняется в окружении Windows при помощи виртуальной машины, уже задействованной в Azure. Окружение WSL выполняется в отдельном дисковом образе (VHD) c файловой системой ext4 и виртуальным сетевым адаптером. Компоненты пространства пользователя устанавливаются отдельно и базируются на сборках различных дистрибутивов. Например, для установки в WSL в каталоге Microsoft Store предлагаются сборки Ubuntu, Debian GNU/Linux, Kali Linux, Fedora,
Alpine, SUSE и openSUSE.

В версии 1.0 исправлено около 100 ошибок и реализовано несколько новшеств:

  • Предоставлена опциональная возможность использования системного менеджера systemd в Linux-окружениях. Поддержка systemd позволяет снизить требования к дистрибутивам и приблизить предоставляемую в WSL среду к ситуации запуска дистрибутивов поверх обычного оборудования. Ранее для работы в WSL дистрибутивы должны были использовать предоставляемый Microsoft обработчик инициализации, запускаемый под PID 1 и обеспечивающий настройку инфраструктуры для организации взаимодействия между Linux и Windows.
  • Для Windows 10 реализована возможность запуска графических приложений Linux (ранее поддержка графики была доступна только в Windows 11).
  • В команду «wsl —install» добавлена опция «—no-launch» для отключения запуска дистрибутива после установки.
  • В команды «wsl —update» и «wsl —install» добавлена опция «—web-download» для загрузки компонентов через GitHub, вместо Microsoft Store.
  • В команду «wsl —mount» добавлены опции «—vhd» для монтирования VHD-файлов и «—name» для задания имени точки монтирования.
  • В команды «wsl —import» и «wsl —export» добавлена команда «—vhd» для импорта или экспорта в формате VHD.
  • Добавлена команда «wsl —import-in-place» для регистрации и использования существующего файла .vhdx в качестве дистрибутива.
  • Добавлена команда «wsl —version» для отображения номера версии.
  • Улучшена обработка ошибок.
  • Компоненты для поддержки графических приложений (WSLg) и ядро Linux интегрированы в единый пакет, не требующий загрузки дополнительных MSI-файлов.

По горячим следам выпущено обновление WSL 1.0.1, в котором устранено зависание процесса wslservice.exe при запуске нового сеанса, файл с unix-сокетом /tmp/.X11-unix переведён в режим только для чтения, улучшены обработчики ошибок.

Источник: http://www.opennet.ru/opennews/art.shtml?num=58178