To, czy systemd w Linuksie jest dobry, czy zły, będzie zależeć od tego, z kim rozmawiasz, ale jest to ważne tak bardzo, że niektórzy z Podsystem Windows dla systemu Linux (WSL) społeczność budowała własne sposoby jego wdrożenia. Microsoft już wykonał tę pracę, jednak we współpracy z firmą Canonical, aby oficjalnie wdrożyć systemd w WSL.
Początkowo jednak nie jest ona dostępna dla wszystkich i domyślnie włączona. Masz także możliwość wyłączenia tej funkcji w dowolnym momencie po jej włączeniu. Oto, co musisz wiedzieć.
Co to jest systemd?
\r\n https://www.youtube.com/watch? v=Ja3qikzd-as\r\n
Krótki, oficjalny opis systemd to:
Systemd to zestaw podstawowych elementów składowych systemu Linux. Zapewnia menedżera systemu i usług, który działa jako PID 1 i uruchamia resztę systemu.
Niektóre z najpopularniejszych dystrybucji Linuksa już domyślnie używają systemd w instalacjach typu bare metal. Niektóre z nich, takie jak Ubuntu i Debian, są również dostępne na WSL.
Włączenie systemd do WSL jeszcze bardziej przybliża narzędzie do doświadczenia z natywnym uruchamianiem Linuksa. Jest to również wymagane w przypadku niektórych narzędzi, które są teraz łatwo dostępne w WSL, takich jak snap, microk8s i systemctl.
Czego potrzebujesz, aby uzyskać systemd w WSL
Jeśli używasz wersji WSL dla systemu Windows, czyli tej, którą włączyłeś za pomocą PowerShell i nie pobrałeś ze Sklepu, początkowo nie będziesz mieć systemu. Będą ją mieli tylko użytkownicy korzystający z wersji Insider systemu Windows 11 lub korzystający z WSL pobranej ze sklepu Microsoft Store. Numer wersji, której potrzebujesz, to 0.67.6 i nowszy.
Aby sprawdzić, czy masz odpowiednią wersję, po prostu otwórz okno PowerShell i wejdź wsl – wersja i sprawdź odpowiedź. Jeśli jest poniżej 0.67.6, udaj się do Microsoft Store i pobierz WSL. Alternatywnie możesz pobrać najnowszą wersję z Repozytorium WSL GitHub.
W przyszłości wszyscy użytkownicy otrzymają obsługę systemową i będziesz mógł sprawdzić dostępność aktualizacji WSL, wchodząc wsl – aktualizacja w PowerShellu.
Alternatywnie, jeśli używasz Ubuntu Preview na WSL, systemd jest dodawany automatycznie.
Jak włączyć systemd
Aby włączyć systemd, przynajmniej teraz, będziesz musiał dodać instrukcję do pliku wsl.conf plik. Jest to plik konfiguracyjny znajdujący się w dowolnej dystrybucji WSL Linux i umożliwia konfigurację dla poszczególnych dystrybucji, zamiast zmieniać globalne ustawienia WSL.
Jest to prosty plik tekstowy, więc wystarczy go otworzyć w edytorze tekstu. W tym przykładzie używamy Nano. Otwórz plik wsl.conf w wybranej dystrybucji Linuksa, wprowadzając następujące dane:
sudo nano /etc/wsl.conf
Najprawdopodobniej będziesz teraz patrzeć na pusty dokument, chyba że wcześniej utworzyłeś własny plik konfiguracyjny.
Aby włączyć systemd, po prostu wpisz to w pliku wsl.conf:
[boot]
systemd=true
Teraz możesz po prostu zapisać i wyjść z pliku (CTRL+O, aby zapisać i CTRL+X, aby wyjść). W tym miejscu musisz całkowicie zamknąć sesję WSL. Zamknij system Linux, wróć do okna PowerShell i wprowadź:
wsl.exe--shutdown
Spowoduje to całkowite zamknięcie WSL na twoim komputerze. Teraz po prostu ponownie otwórz dystrybucję Linuksa. Pierwsze uruchomienie może potrwać kilka sekund dłużej, ale kiedy już się zakończy, system będzie działał. Możesz sprawdzić, czy działa, używając systemctl, jednej z usług opartych na systemd:
systemctl list-unit-files --type=service
Powinieneś teraz zobaczyć listę uruchomionych usług. To wszystko, co jest potrzebne do włączenia systemd. I oczywiście, zmieniając wartość false w pliku wsl.conf, możesz go wyłączyć, jeśli chcesz, w dowolnym momencie.
Korzystanie z przystawki w Ubuntu na WSL
Jedną z dodatkowych zalet używania systemd w Ubuntu na WSL jest to, że snap działa teraz poprawnie. Nie każdy będzie chciał z niej skorzystać, ale jest to kolejna funkcja, do której mają dostęp użytkownicy WSL. Jest też kilka przydatnych pakietów snap, które warto wypróbować.
Na przykład Nextcloud to alternatywa typu open source dla Microsoft 365 oraz aplikacji i pamięci w chmurze Google. Przystawka Nextcloud to jeden z najlepszych sposobów zainstalowania go w systemie Linux i jest teraz dostępny na WSL. Instalowanie snapów przebiega tak samo, jak użycie apt (lub dowolnego innego menedżera pakietów) zastępując snap w miejscu:
sudo snap install nextcloud
Możesz szybko znaleźć dostępne snapy, sprawdzając snapcraft.io.