25.09.2022 | Microsoft добавляет systemd в подсистему Windows для Linux |
Microsoft и Canonical добавили поддержку systemd в подсистему Windows для Linux , что позволит устанавливать большее количество совместимых приложений. systemd — подсистема инициализации и управления службами в Linux, фактически вытеснившая в 2010-е годы традиционную подсистему init. Основная особенность — интенсивное распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск операционной системы. Основная единица управления — модуль, одним из типов модулей являются «службы» — аналог демонов — наборы процессов, запускаемые и управляемые средствами подсистемы и изолируемые контрольными группами. Поскольку systemd отвечает за запуск всех остальных служб, он запускается как первый процесс (PID 1), созданный ядром Linux при запуске. Затем все остальные службы первоначального запуска запускаются и управляются systemd, как показано в дереве процессов ниже из Ubuntu. Поскольку в настоящее время WSL использует init в качестве диспетчера системы и служб, приложения Linux, требующие systemd, такие как Snap, microk8s (Kubernetes) и systemctl, работают некорректно. Вчера Microsoft и Canonical объявили, что последняя предварительная версия подсистемы Windows для Linux в сборках Windows 11 Insider теперь поддерживает systemd, что позволяет устанавливать приложения, которым требуется диспетчер служб. «Поддержка systemd потребовала внесения изменений в архитектуру WSL. Поскольку systemd требует PID 1, процесс инициализации WSL, запущенный в дистрибутиве Linux, становится дочерним процессом systemd», — пояснил Крейг Лоуэн из Microsoft. «Поскольку процесс инициализации WSL отвечает за обеспечение инфраструктуры для связи между компонентами Linux и Windows, изменение этой иерархии потребовало переосмысления некоторых предположений, сделанных в процессе инициализации WSL». Все кто использует сборку Windows 11 Insider может выполнить обновление до предварительной версии WSL 0.67.6 или более поздней версии с помощью команды wsl --update. Проверить установленную версию можно с помощью команды wsl –version, как показано ниже. Теперь можно включить systemd, запустив нужный дистрибутив WSL Linux и добавив следующие строки в /etc/wsl.conf: [boot] systemd=true Microsoft опубликовала интересное видео, в котором подробно рассказывает о том, что означают изменения: |
Проверить безопасность сайта