Názor k článku
Devuan 1.0 LTS, aneb Debian Jessie bez systemd od Filip Jirsák - Přináší dosud nepoznané problémy a zlozvyky ze světa...

  • Článek je starý, nové názory již nelze přidávat.
  • 26. 5. 2017 15:54

    Filip Jirsák
    Stříbrný podporovatel

    Přináší dosud nepoznané problémy a zlozvyky ze světa mimo Unix - většinou přesně to co nás tam otravuje.
    Například?

    Já na systemd oceňuji například to, že i do světa služeb přináší tradiční unixovou filozofii – dělej jen jednu věc, ale dělej ji pořádně.

    Třeba webový server musel dříve odpovídat na požadavky na webové stránky, a vedle toho se ještě musel starat o logování a rotaci logů, naslouchání na privilegovaném portu a následné vzdání se rootovských oprávnění, o daemonizaci o nějaké servisní rozhraní, přes které bylo možné vyvolat přenačtení konfigurace (v nejprimitivnější podobě např. zápis PID serverového procesu do souboru). Nic z těch věcí navíc se systemd dělat nemusí – stačí, když vyřizuje požadavky na webové stránky, o to ostatní se postarají komponenty správce služeb. Logy server posílá na standardní výstup, o naslouchání v síti se může postarat systemd, a pokud to chce dělat server sám, povolím mu jenom capability cap_net_bind_ser­vice, daemonizaci server nedělá a komunikovat s ním může systemd přes signály rovnou, protože serverový proces je přímo potomkem procesu systemd, takže jeho PID systemd zná.

    Pokud by systemd zůstalo init systémem, tipuju, že by vadilo málokomu
    Jenže init systémů je dost, nevím, jestli je potřeba psát nějaký další. V linuxu ale chyběl správce služeb – což se ukázalo například na těch jiných init systémech, které sice pár problémů vyřešily, ale vždy narazily na limity init systému, který jen spouští procesy a dál se o ně nijak nestará. Přitom unix má tu perfektní vlastnost rodičovského a dceřiného procesu, kdy rodičovský proces má dceřiný proces na starost a dostává zprávy o jeho průběhu. To je pro správce služeb perfektní podpora, ale klasický init systém toho prakticky nevyužívá.