Windows Subsystem for Linux z obsługą systemd dzięki Microsoftowi i Canonical

Windows Subsystem for Linux z obsługą systemd dzięki Microsoftowi i Canonical

Autor: Krzysztof Sulikowski

Opublikowano: 9/22/2022, 8:30 PM

Liczba odsłon: 1617

Podsystem Windows dla systemu Linux może teraz uruchamiać systemd wewnątrz dystrybucji WSL, pozwalając użytkownikom robić jeszcze więcej w swoich instancjach Linuksa na urządzeniach z Windows. Systemd to zestaw podstawowych bloków budulcowych systemu Linux. Zapewnia on system i menedżera usług, który działa jako PID 1 i uruchamia resztę systemu.

Wiele popularnych dystrybucji uruchamia systemd domyślnie, w tym Ubuntu, Debian i nie tylko. Zmiana ta oznacza, że WSL będzie jeszcze bardziej podobny w użyciu do popularnych dystrybucji Linuksa i pozwoli używać oprogramowania, które opiera się na obsłudze systemd. Niektóre z aplikacji polegających na systemd to: snap, microk8s i systemctl.

Jak ta zmiana była możliwa? Dodanie obsługi systemd wymagało zmian w architekturze WSL. Jako że systemd wymaga PID 1, proces inicjowania WSL uruchomiony w dystrybucji Linuksa staje się procesem podrzędnym systemd. Ponieważ proces inicjowania WSL jest odpowiedzialny za zapewnienie infrastruktury do komunikacji między składnikami Linuksa i Windowsa, zmiana tej hierarchii wymagała ponownego przemyślenia niektórych założeń przyjętych w procesie inicjowania WSL. Konieczne były dodatkowe modyfikacje, aby zapewnić czyste zamknięcie (ponieważ jest ono teraz kontrolowane przez systemd) i zapewnienie zgodności z WSLg. Microsoft podkreśla, że po tych zmianach usługi systemd NIE utrzymają instancji włączonej — działa to w taki sam sposób, jak wcześniej.

Biorąc pod uwagę zmiany w zachowaniu WSL podczas bootowania, Microsoft zaleca ostrożność w aplikowaniu tego do istniejących dystrybucji WSL użytkownika. Obecnie trzeba aktywnie zaznaczyć włączenie systemd dla konkretnej dystrybucji.