Как включить Systemd в подсистеме Windows для Linux (WSL)

Kak Vklucit Systemd V Podsisteme Windows Dla Linux Wsl



Как ИТ-специалист, я всегда ищу новые способы оптимизации рабочего процесса. Недавно мне удалось это сделать, включив Systemd в подсистеме Windows для Linux (WSL). Systemd — это менеджер процессов Linux, который может значительно повысить производительность вашей системы Linux. Включив его в WSL, вы можете получить преимущества systemd без двойной загрузки вашей системы. Вот как включить Systemd на WSL: 1. Откройте панель управления подсистемой Windows для Linux (WSL). 2. Перейдите на вкладку «Общие». 3. Установите флажок «Включить интеграцию с Systemd». 4. Нажмите «ОК», чтобы сохранить изменения. После выполнения этих шагов вы сможете использовать systemd в своей установке WSL. Попробуйте и посмотрите, как это поможет улучшить ваш рабочий процесс!



резервное копирование драйверов windows 10

Подсистема Windows для Linux (WSL) — это уровень совместимости для запуска двоичных исполняемых файлов Linux на клиентских компьютерах с Windows 11/10, а также на компьютерах с Windows Server 2019 и более поздних версий. С выпуском VSL 2 были внесены важные изменения, такие как фактическое ядро ​​​​Linux, с помощью подмножества функций Hyper-V. В этом посте мы проведем вас через шаги, чтобы как включить systemd в WSL .





Как включить Systemd в подсистеме Windows для Linux (WSL)





Что такое системд?

Systemd — это набор основных строительных блоков для системы Linux. Он предоставляет диспетчер системы и служб, который работает как PID 1 и запускает остальную часть системы. Systemd установлен по умолчанию в нескольких известных дистрибутивах, включая Ubuntu, Debian и другие. С этим изменением WSL станет еще более сравнимым с запуском предпочитаемых вами дистрибутивов Linux на компьютерах с «голым железом» и позволит вам использовать приложения, требующие поддержки systemd. Вот несколько примеров приложений Linux, зависящих от systemd: нажмите , микрок8с , и systemctl .



Согласно Майкрософт:

Поддержка Systemd потребовала изменений в архитектуре WSL. Поскольку для systemd требуется PID 1, процесс инициализации WSL, работающий в дистрибутиве Linux, становится дочерним процессом systemd. Поскольку процесс подготовки WSL отвечает за предоставление инфраструктуры для связи между компонентами Linux и Windows, изменение этой иерархии потребовало переосмысления некоторых предположений, сделанных в процессе подготовки WSL. Дополнительные изменения потребовались для обеспечения чистого завершения работы (поскольку это завершение теперь контролируется systemd) и для обеспечения совместимости с WSLg. Также важно отметить, что с этими изменениями службы systemd НЕ будут поддерживать работоспособность вашего экземпляра WSL.

Учитывая, что это изменяет поведение загрузки WSL, мы хотели быть осторожными при применении этого к уже существующим дистрибутивам WSL пользователя. Поэтому в настоящее время вам необходимо зарегистрироваться, чтобы включить systemd для определенного дистрибутива WSL, и мы будем следить за отзывами и изучать, как сделать это поведение по умолчанию в будущем.



Читать : Как получить доступ к подсистеме Windows для файлов Linux в Windows

Как включить Systemd в подсистеме Windows для Linux (WSL)

До сих пор, на момент написания этой статьи, сообщество Windows Subsystem for Linux (WSL) искало способы реализации systemd. Но после партнерства с Canonical Microsoft официально внедрила systemd в WSL. Благодаря поддержке systemd, доступной в WSL, теперь вы можете запускать systemd внутри своих дистрибутивов WSL, что позволяет вам делать больше с вашими рабочими процессами Linux на вашем компьютере с Windows.

Чтобы установить systemd на свой компьютер, вам нужно будет сделать следующее:

Убедитесь, что вы используете WSL версии 0.67.6 или более поздней.

Если вы включили WSL через PowerShell и не загрузили его из Microsoft Store на свое устройство, изначально у вас не будет systemd. Он будет доступен только пользователям, использующим Windows 11 Insider Build или использующим WSL, загруженный из Магазина Microsoft. Если вы используете Ubuntu Preview на WSL, systemd добавляется автоматически. Итак, чтобы проверить, есть ли у вас поддерживаемая версия WSL, просто откройте терминал Windows и выполните следующую команду в консоли PowerShell:

|_+_|

Из вывода, если версия WSL 0.67.6 или более ранняя, вы можете перейти в Microsoft Store и скачать WSL. Кроме того, пользователи ПК, особенно если вы не являетесь участником программы предварительной оценки Windows, могут скачать Последний выпуск из репозитория WSL GitHub. Поддержка Systemd будет добавлена ​​для всех пользователей в будущем. Чтобы проверить наличие обновлений для WSL, выполните следующую команду в PowerShell:

Windows 10 Cortana не работает
|_+_|

Читать : Исправление ошибок, проблем и проблем подсистемы Windows для Linux.

Установите флаг systemd в настройках дистрибутива WSL.

Показать статус служб systemd

Убедившись, что вы используете поддерживаемую версию WSL, требуемую systemd, вам нужно будет отредактировать wsl.conf файл (файл конфигурации, который можно найти в любом дистрибутиве WSL Linux и позволяет настраивать для каждого дистрибутива, а не изменять общие параметры WSL), чтобы обеспечить запуск systemd при загрузке. Чтобы выполнить эту задачу, выполните следующие действия:

firefox очищает историю при выходе
  • Запустите редактор с правами sudo и добавьте следующие строки:
|_+_|
  • После этого сохраните файл и выйдите.
  • Теперь вы можете закрыть дистрибутив WSL Windows и выполнить следующую команду в PowerShell, чтобы перезапустить экземпляры WSL.
|_+_|
  • После запуска у вас должен быть запущен systemd. Чтобы проверить и показать статус ваших служб, выполните команду ниже:
|_+_|

Читать : Как установить версию дистрибутива Linux на WSL1 или WSL2 в Windows

Вот как вы можете включить Systemd в подсистеме Windows для Linux (WSL)!

Как загрузиться в systemd как init?

Чтобы загрузиться под systemd, выберите пункт меню загрузки, который вы создали для этой цели. Если вы не создали запись меню загрузки, просто выберите запись для вашего пропатченного ядра, отредактируйте командную строку ядра непосредственно в grub и добавьте следующую строку: init=/lib/системд/системд .

Популярные посты