Как установить и использовать systemd для управления службами в WSL
Linux

Как установить и использовать systemd для управления службами в WSL

WSL по умолчанию использует систему инициализации System V. Вот как можно заменить ее на systemd, чтобы управлять службами на WSL как профессионал

Подсистема Windows для Linux, или WSL, – это отличный способ для разработчиков, которым нужно работать с Linux и Windows, не прибегая к созданию виртуальной машины или двойной загрузке

Одной из основных новых возможностей является возможность запуска systemd на WSL, что полезно для веб-разработчиков, создающих локальные тестовые среды. Вот как ее включить и использовать

Зачем устанавливать systemd на WSL?

Службы WSL по умолчанию запускают старую службу System V init, а службы запускаются с помощью команды service. В сентябре 2023 года Microsoft добавила возможность использовать systemd для управления службами. Большинство основных дистрибутивов Linux уже перешли на systemd

Несмотря на споры, в реальном использовании запускать и останавливать службы с помощью systemd гораздо проще. Также проще следовать другим учебникам по Linux, поскольку не нужно так часто менять команды

Локальная среда тестирования LAMP будет ближе к стандартному серверу Linux, поэтому ваше приложение будет легче отлаживать

Как включить systemd на WSL

Чтобы включить systemd, необходимо запустить нужную версию WSL. Для systemd требуется WSL версии 0. 67. 6 или выше. Вы можете проверить номер версии, открыв PowerShell и набрав:

wsl --version

Если у вас установлена более старая версия и вы хотите использовать systemd, вы можете обновить WSL, используя:

wsl --update

Теперь вам нужно настроить systemd в любом дистрибутиве, который вы установили с WSL. Процесс одинаков для любого дистрибутива WSL, будь то Ubuntu, Debian, Fedora или что-то другое

Просто отредактируйте файл /etc/wsl.conf в вашей системе от имени root и добавьте эти строки:

[boot]
systemd=true

Если файл wsl.conf не существует, не волнуйтесь и создайте его самостоятельно. Эти строки будут работать независимо от этого

Сохраните файл, и теперь вам нужно перезапустить все запущенные WSL-дистрибутивы. Для этого откройте окно PowerShell и введите следующую команду:

wsl --shutdown

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

Запуск и остановка служб WSL с помощью systemd

Теперь вы можете использовать systemctl для запуска и остановки служб в WSL

Предположим, вы используете Apache для запуска локального веб-сервера для тестирования разрабатываемого веб-приложения

Вы бы запустили Apache следующим образом:

sudo systemctl start apache2.service

Если вы хотите, чтобы он запускался автоматически, включите его с помощью:

sudo systemctl enable apache2.service

И отключите его с помощью:

sudo systemctl stop apache2.service

Теперь вы можете запустить systemd на WSL

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

Также очень просто установить сервер LAMP (Linux, Apache, MySQL, PHP) на Windows Subsystem for Linux

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий