Microsoft выпустила обновление подсистемы Windows для Linux (WSL) до версии 0.65.1. Оно стало доступно всем участникам программы предварительной оценки Windows независимо от канала, а после проверки качества должно выйти для всех пользователей.

Разберём, что такое WSL, зачем нужна версия из Microsoft Store и как проверить обновление.

Что такое WSL

WSL — слой совместимости, который позволяет запускать Linux-бинарники в Windows 10 и 11 без виртуальной машины и двойной загрузки. Он использует легковесную виртуализацию и интеграцию с файловой системой.

Для разработчиков это удобно: можно использовать Linux-инструменты, Docker, компиляторы и скрипты, оставаясь в Windows.

# проверить версию WSL в PowerShell
wsl --version
wsl --status
# список дистрибутивов
wsl --list --verbose

WSL из Store

Раньше WSL поставлялась как компонент Windows и обновлялась вместе с системой. Теперь Microsoft распространяет её как приложение из Store, что позволяет выпускать обновления чаще.

Версия 0.65.1 — часть этого процесса. Она доступна инсайдерам, а затем станет общедоступной.

# обновить WSL
wsl --update
# проверить версию
wsl --version
# посмотреть настройки
cat /etc/wsl.conf 2>/dev/null

Что нового

Точный список изменений смотрите в release notes на GitHub. Обычно обновления включают исправления ошибок, улучшения сети, монтирования дисков и совместимости с дистрибутивами.

Не ждите радикальных изменений: WSL развивается постепенно, и каждая версия закрывает конкретные проблемы.

# посмотреть установленные дистрибутивы и версии
wsl --list --verbose
# проверить состояние
wsl --status
# посмотреть журнал (в PowerShell)
Get-WinEvent -LogName "Microsoft-Windows-Subsystem-Linux" -MaxEvents 20 2>/dev/null

Установка дистрибутива

После обновления можно установить новый дистрибутив из списка. Используйте wsl --install -d с именем дистрибутива.

wsl --list --online
wsl --install -d Ubuntu-22.04
# запустить
wsl -d Ubuntu-22.04

Первый запуск попросит создать пользователя и пароль. Не работайте под root без необходимости.

Файловая система

WSL видит диски Windows через /mnt/c. Работа с файлами на NTFS медленнее, чем в Linux-разделе. Для проектов лучше держать код в файловой системе WSL, а не на /mnt/c.

# посмотреть монтирования
mount | grep drvfs
# путь к домашнему каталогу
echo $HOME
# создать проект в Linux-ФС
mkdir -p ~/projects/demo && cd ~/projects/demo

Для доступа к файлам WSL из Windows используйте \\wsl$\.

# в Проводнике
# \\wsl$\Ubuntu-22.04\home\user

Сеть

WSL использует NAT: Linux видит сеть через виртуальный адаптер. Порты, открытые в Linux, обычно доступны с Windows через localhost. Для доступа из локальной сети может понадобиться проброс.

# проверить IP
ip -br a
# проверить порты
ss -tulpn
# из Windows
curl http://localhost:8080

Если порт не доступен, проверьте файрвол Windows и настройки WSL.

Ресурсы

WSL может потреблять много памяти. Ограничьте её через .wslconfig в домашнем каталоге Windows.

# файл C:\Users\\.wslconfig
# [wsl2]
# memory=8GB
# processors=4
# swap=2GB
wsl --shutdown
wsl

После изменения файла перезапустите WSL. Не выделяйте всю память: Windows тоже нуждается в ресурсах.

Systemd

В версии 0.65.1 systemd ещё не поддерживается официально; он появился позже. Если вам нужны службы, проверьте актуальную документацию и версию. Не включайте экспериментальные флаги на рабочей машине без понимания.

# проверить, есть ли systemd
ps -p 1 -o comm=
# посмотреть версию WSL
wsl --version

Типичные проблемы

  • WSL не запускается после обновления Windows.
  • Сеть не работает или порты недоступны.
  • Дистрибутив не устанавливается из Store.
  • Высокое потребление памяти.
  • Права на файлы в /mnt/c.
wsl --shutdown
wsl --update
wsl --status
# проверить виртуализацию
Get-ComputerInfo | Select-Object HyperVisorPresent

Если ничего не помогает, удалите и установите дистрибутив заново, предварительно сохранив данные.

Безопасность

Не запускайте неизвестные скрипты от root. WSL имеет доступ к файлам Windows, поэтому компрометация Linux-среды может затронуть документы. Ограничьте права и используйте отдельного пользователя.

# проверить пользователя
whoami
# список sudo-правил
sudo -l
# права на домашний каталог
ls -ld ~

Интеграция с Windows

WSL умеет запускать Windows-программы из Linux-среды и наоборот. Это удобно для скриптов сборки, которые вызывают инструменты обеих систем. Проверьте, что пути переводятся корректно и что переменные окружения не конфликтуют.

# запустить Windows-программу из WSL
cmd.exe /c "ver"
# открыть файл в Windows-редакторе
notepad.exe file.txt
# посмотреть переменные окружения
env | grep -i wsl | head

Не смешивайте инструменты без необходимости. Если проект собирается в Linux, держите весь инструментарий в Linux, иначе получите трудноуловимые различия в путях и правах.

Резервное копирование дистрибутива

WSL позволяет экспортировать дистрибутив в архив и импортировать обратно. Это надёжный способ сохранить окружение перед экспериментами и перенести его на другую машину.

# экспорт
wsl --export Ubuntu-22.04 ubuntu-backup.tar
# удалить и вернуть
wsl --unregister Ubuntu-22.04
wsl --import Ubuntu-22.04 C:\\WSL\\Ubuntu ubuntu-backup.tar
# проверить
wsl --list --verbose

После импорта пользователь по умолчанию может измениться на root. Задайте нужного пользователя в /etc/wsl.conf и перезапустите подсистему.

# /etc/wsl.conf
# [user]
# default=youruser
wsl --shutdown
wsl -d Ubuntu-22.04 whoami

Итог

WSL 0.65.1 — очередное обновление подсистемы, распространяемой через Store. Оно доступно инсайдерам и скоро станет общим. Проверьте версию, обновитесь через wsl --update, настройте ресурсы и файловую систему. Не работайте под root и помните, что WSL видит файлы Windows.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте