Як увімкнути systemd у підсистемі Windows для Linux (WSL)

click fraud protection

Те, з ким ви розмовляєте, буде залежати від того, з ким ви спілкуєтесь, але це важливо настільки, що деякі з Підсистема Windows для Linux (WSL) спільнота вибудовувала власні способи його реалізації. Зараз Microsoft виконала роботу, однак у партнерстві з Canonical офіційно впровадити systemd у WSL.

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

Що таке systemd?

\r\n https://www.youtube.com/watch? v=Ja3qikzd-as\r\n

Короткий офіційний опис systemd:

Systemd — це набір основних будівельних блоків для системи Linux. Він надає системний і сервісний менеджер, який працює як PID 1 і запускає решту системи.

Деякі з найпопулярніших дистрибутивів Linux уже використовують systemd за замовчуванням під час встановлення на «голе метал». Деякі з них, наприклад Ubuntu і Debian, також доступні на WSL.

Включення systemd у WSL ще більше наближає цей інструмент до досвіду початкового запуску Linux. Він також потрібен для деяких інструментів, які тепер легко використовувати на WSL, наприклад snap, microk8s і systemctl.

Що потрібно для отримання systemd у WSL

Якщо ви використовуєте версію WSL для Windows, тобто ту, яку ви ввімкнули через PowerShell і не завантажили з магазину, у вас спочатку не буде systemd. Його матимуть лише ті, хто використовує інсайдерську збірку Windows 11 або WSL, завантажену з Microsoft Store. Потрібен номер версії 0.67.6 і вище.

Щоб перевірити, чи у вас правильна версія, просто відкрийте вікно PowerShell і введіть wsl --версія і перевірити відповідь. Якщо він нижче 0.67.6, перейдіть до Microsoft Store і завантажити WSL. Крім того, ви можете отримати останній випуск із WSL GitHub репо.

У майбутньому всі користувачі отримають підтримку systemd, і ви зможете перевірити наявність оновлень WSL, ввівши wsl --оновлення в PowerShell.

Крім того, якщо ви використовуєте Ubuntu Preview на WSL, systemd додається автоматично.

Як увімкнути systemd

Щоб увімкнути systemd, принаймні зараз, вам доведеться додати інструкцію до свого wsl.conf файл. Це конфігураційний файл, який можна знайти в будь-якому дистрибутиві WSL Linux і дозволяє вам налаштовувати окремо для кожного дистрибутива, а не змінювати глобальні налаштування WSL.

Це простий текстовий файл, тож вам просто потрібно відкрити його в текстовому редакторі. У цьому прикладі ми використовуємо Nano. Відкрийте файл wsl.conf у вибраному дистрибутиві Linux, ввівши наступне:

sudo nano /etc/wsl.conf

Тепер ви, швидше за все, дивитеся на порожній документ, якщо раніше не створили власний файл конфігурації.

Щоб увімкнути systemd, просто введіть це у свій файл wsl.conf:

[boot]
systemd=true

Тепер ви можете просто зберегти та вийти з файлу (CTRL+O для збереження та CTRL+X для виходу). Звідси вам потрібно повністю закрити сеанс WSL. Закрийте Linux і поверніться до вікна PowerShell і введіть:

wsl.exe--shutdown

Це повністю вимкне WSL на вашій машині. Тепер просто знову відкрийте свій дистрибутив Linux. Перше завантаження може зайняти кілька секунд довше, але після завершення у вас буде запущено systemd. Ви можете перевірити його роботу за допомогою systemctl, однієї зі служб, які покладаються на systemd:

systemctl list-unit-files --type=service

Зараз ви повинні побачити список запущених служб. Це все, що потрібно для ввімкнення systemd. І, звичайно, змінивши на false у вашому wsl.conf, ви можете вимкнути його, якщо хочете, у будь-який час.

Використання snap на Ubuntu на WSL

Одним із додаткових бонусів використання systemd в Ubuntu на WSL є те, що snap тепер працює належним чином. Не всі захочуть використовувати його, але це ще одна функція, до якої мають доступ користувачі WSL. І є кілька корисних пакетів знімків, які ви можете спробувати.

Наприклад, Nextcloud є альтернативою з відкритим кодом Microsoft 365 і хмарним програмам і сховищам Google. Знімок Nextcloud є одним із найкращих способів встановити його в Linux, і він тепер відкритий на WSL. Встановлення snaps відбувається так само, як використання apt (або будь-якого іншого менеджера пакетів), що замінює snap на місці:

sudo snap install nextcloud

Ви можете швидко знайти доступні знімки, перевіривши snapcraft.io.