Как да активирате systemd в подсистемата на Windows за Linux (WSL)

Дали systemd в Linux е добър или лош ще зависи от това с кого говорите, но е важен дотолкова, че някои от Подсистема 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. Ще го имат само тези, които използват Insider компилация на 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 snap е един от най-добрите начини да го инсталирате на Linux и вече е отворен на WSL. Инсталирането на snaps е същото като използването на apt (или друг пакетен мениджър), заместващ snap на място:

sudo snap install nextcloud

Можете бързо да намерите налични снимки, като проверите snapcraft.io.