Компания Microsoft представи издание на слоятa за стартиране на 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 пачове, включващи оптимизации за намаляване на времето за стартиране на ядрото, намаляване на консумацията на памет, връщане на освободената от Linux процесите памет обратно в Windows и запазване на минимално необходимия набор от драйвери и подсистеми в ядрото.
Ядрото работи в среда на Windows с помощта на виртуална машина, която вече е използвана в Azure. Средата WSL работи в отделен виртуален диск (VHD) с файловата система 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 (все още с статус Pre-release), в което е отстранено закачането на процеса wslservice.exe при стартиране на нова сесия, файлът с unix сокета \/tmp\/.X11-unix е преведен в режим само за четене, подобрени са обработчиците на грешки.
Източник: opennet.ru
