Компанія 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) з файловою системою 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