Lennart Poettering opublikował na swoim blogu porównanie systemd z SysVinit i Upstart. Porównanie będzie przede wszystkim interesujące dla ludzi, którzy zajmują się rozwojem jakiejś dystrybucji, deweloperów systemów wbudowanych lub bardziej zaawansowanych użytkowników, którzy lubią grzebać przy systemie lub po prostu zastanawiają się co takiego jest w systemd, że ich ulubiona dystrybucja zamierza go przyszłości używać.
Adaptacja systemd w dystrybucjach już się zaczęła – na początku była Fedora i pierwsze przymiarki do uczynienia systemd domyślnym init’em dla wersji 14. Jednak ludzie odpowiedzialni za rozwój Fedory uznali, że na tamtym etapie użycie systemd jako domyślnego init’a może nie być dobrym posunięciem dlatego postanowili pozostać przy Upstart, ale pozostawili możliwość używania systemd w tej wersji jeśli ktoś chciał go włączyć. Później zaczęło się przepisywanie skryptów startowych F15 tak, aby wykorzystać pełen potencjał systemd. Równocześnie pojawiły się informacje o kolejnych adaptacjach systemd – na początku było OpenSUSE, później chyba Mandriva, Arch, Frugalware, Debian i lawina ruszyła. Coraz więcej systemów będzie z czasem przechodzić na systemd.
Co oznacza systemd dla Linuksa na dłuższą metę? Przede wszystkim wielką unifikację procesu startu systemu. Do niedawna było tak, że każda dystrybucja miała własny zestaw skryptów startowych, które były diametralnie różne pomiędzy dystrybucjami. Teraz dużą część najczęściej wykonywanych podczas startu systemu rzeczy zajmuje się systemd. W dalszym etapie startu systemu – gdy są uruchamiane usługi systemowe działają serwisy systemd, które są przenośne pomiędzy dystrybucjami. Dzięki temu deweloperzy jakiegoś daemona mogą dostarczyć razem z nim serwis systemd, który zapewni bezproblemowe zarządzanie daemonem na każdym systemie wspierającym systemd. Nie trzeba już dla każdej dystrybucji pisać oddzielnych skryptów startowych (co chyba nieczęsto było praktykowane).
Jeszcze nie wszystko jest zunifikowane do końca – na przykład pozostał problem z konfiguracją serwisów, która w części systemów znajduje się w katalogu /etc/sysconfig/ lub w /etc/default/ na systemach wywodzących się z Debiana. Jednak można być pewnym, że nastąpi tu jakieś porozumienie pomiędzy wszystkimi głównymi graczami – tak jak miało to miejsce przy wprowadzaniu katalogu /run. Nie ma też oczywiście wątpliwości, że tak samo jak przy wprowadzaniu wspomnianego katalogu, tak przy unifikacji konfiguracji serwisów część użytkowników podniesie larum, jednak pragmatyzm deweloperów większych dystrybucji pozwoli przepchnąć także i tę sprawę.
Ciekawą sprawą jest to, kiedy Ubuntu porzuci Upstart i przejdzie na systemd. Dlaczego miało by się tak stać?
- deweloper który stworzył Upstart porzucił pracę w Canonical i przeszedł do Google,
- niedługo ConsoleKit zostanie zintegrowany z systemd i jako oddzielny projekt zostanie porzucony,
- Debian – dystrybucja w której Ubuntu zmienia tapetę i instalator przechodzi w niedalekiej przyszłości na systemd (jak wiele znaków na niebie i ziemi wskazuje).
Zachęcam wszystkich do zapoznania się z artykułem Lennarta i do podzielenia się swoimi spostrzeżeniami.