Офіційна підтримка Systemd у WSL2 на Windows 11
Підсистема Windows для Linux (WSL) отримала значну підтримку від спільноти розробників, проте інтеграція systemd була однією з найбільш очікуваних функцій. Раніше ентузіасти створювали проєкти, як one-script-wsl2-systemd та genie, щоб забезпечити функціональність systemd на WSL2 у Windows 11 та 10. Зважаючи на великий інтерес до systemd для WSL2, Microsoft, у співпраці з Canonical (розробником Ubuntu), офіційно впровадила підтримку systemd для Windows Subsystem for Linux. Тепер розробники можуть активувати systemd для WSL2 на Windows 11 за допомогою декількох простих кроків. Отже, якщо вас це цікавить, розгляньмо детальніше, як це зробити.
Активація Systemd для WSL2 у Windows 11 (2022)
У цьому посібнику ми надамо детальні інструкції щодо активації systemd у підсистемі Windows для Linux на Windows 11, а також надамо коротке пояснення, що це таке.
Що таке Systemd в Linux?
Systemd – це система управління та служб в операційних системах на базі Linux. Вона відповідає за запуск компонентів та сервісів системи під час завантаження. Можна сказати, що це головний процес, який ініціалізує всі інші, отже, його PID (ідентифікатор процесу) завжди дорівнює 1. Чому ж так важливо, що підсистема Windows для Linux тепер підтримує systemd?
По-перше, systemd надає майже ідентичне програмне середовище для WSL, як і для звичайної інсталяції Ubuntu. Тобто, ви отримуєте те саме середовище, що й при встановленні Ubuntu на фізичному пристрої. Крім того, багато служб, таких як Snap, microk8s, Kubernetes, залежать від systemd для належної роботи. Завдяки офіційній підтримці Microsoft, розробники можуть використовувати повний потенціал WSL2, працюючи одночасно в середовищі Windows та Linux, без жодних обмежень.
Встановлення останньої версії WSL2
1. Спочатку необхідно завантажити потрібну версію WSL (версію 0.67.6 або новішу). Відкрийте PowerShell та виконайте наступну команду для перевірки поточної версії. Якщо ви маєте оновлену версію, перейдіть безпосередньо до наступного кроку.
wsl --version
2. Якщо ви використовуєте старішу версію, завантажте останній пакет WSL зі сторінки Microsoft GitHub за посиланням тут. Для активації systemd на WSL2 у Windows 11, не обов’язково бути учасником програми Windows Insider.
3. Потім встановіть пакет підсистеми Windows для Linux MSIXBUNDLE на свій комп’ютер з Windows 11.
4. Після цього відкрийте термінал Windows з правами адміністратора. Якщо у вас вже встановлено дистрибутив Linux, перейдіть безпосередньо до наступного розділу.
5. Далі, в PowerShell, виконайте наведену нижче команду. Це встановить останній дистрибутив Ubuntu. Якщо ви бажаєте встановити інший дистрибутив Linux, ви можете зробити це з Microsoft Store або запустити команду `wsl –install`, щоб переглянути всі доступні дистрибутиви.
wsl --install Ubuntu
Активація Systemd для WSL2 у Windows 11
1. Після встановлення Ubuntu (або вибраного дистрибутива Linux), знову відкрийте PowerShell з правами адміністратора. Потім, перейдіть до “Ubuntu”, натиснувши на відповідну стрілку в рядку заголовка.
2. Після встановлення імені користувача та пароля, виконайте команду нижче, щоб відредагувати файл “wsl.conf” за допомогою редактора Nano.
sudo nano /etc/wsl.conf
3. Додайте наступні рядки до файлу. Це дозволить активувати systemd для WSL2 на вашому комп’ютері з Windows 11.
[boot] systemd=true
4. Для збереження змін та виходу з редактора Nano, натисніть “Ctrl + O”, потім Enter. Після цього натисніть “Ctrl + X”. Тепер необхідні зміни внесено.
5. Тепер необхідно вимкнути підсистему Windows для Linux. Для цього закрийте вкладку Ubuntu та перейдіть до вкладки PowerShell. Тут виконайте наступну команду.
wsl.exe --shutdown
6. Тепер знову запустіть Ubuntu з терміналу Windows. Systemd тепер працюватиме у фоновому режимі. Для перевірки, виконайте наведену нижче команду та перегляньте статус служб.
systemctl list-unit-files --type=service
7. Тепер ви можете встановити Nextcloud на WSL2 за допомогою Snap, який покладається на systemd для коректної роботи. Замініть “USERNAME” та “PASSWORD” на власні. Як показано на знімку екрана нижче, усі служби Snap працюють належним чином.
sudo snap install nextcloud sudo nextcloud.manual-install USERNAME PASSWORD snap services
Активація Systemd у підсистемі Windows для Linux
Отже, це всі кроки, необхідні для активації systemd для WSL у Windows 11. Найкраще те, що для цього не потрібно бути учасником програми Windows Insider. Ви можете завантажити необхідний пакет прямо з GitHub та встановити його. Крім того, якщо вас цікавить встановлення програм Android на Windows 11, перегляньте наш детальний посібник. Також, у нас є оновлена інструкція для встановлення Google Play Store на вашому комп’ютері з Windows 11. Якщо у вас виникли запитання, залиште їх у коментарях нижче.