Tak největší problém systemd je, že žádný jeden systemd neexistuje. Takže sen mnoha diskutující před x lety, jak linuxu chybí jednotné rozhraní a jak se nedají psát init skripty pro 20 distribucí a jak to všechno systemd změní, jsou ty tam.
Dřív byl součástí systemd třeba nspawn, takže se dalo spolehnout na to, že všude kde je systemd, je i nspawn. Dneska je to oddělený balíček.
Součástí systemd je networkd, ale každá distribuce si tahá vlastní ovládátko sítě a networkd je masked. Totéž platí pro resolved, masked a co distribuce, to jiné řešení dns překladů.
Další věc je třeba timesyncd. By default vypnutý a každé distro si to řeší po svém. V debianu stačí odinstalovat ntpd a zapnout timesync. No, jenže když se stejný postup udělá na CentOS, tak synchronizace nefunguje. Proč? Protože CentOS nemá timesyncd a přes systemd příkaze timedatectl se ovládá ntpd. Na RHEL je potom chronyd.
Rozumím tomu, že si každá distribuce může zvolit defaultní programy, ale nerozumím tomu, proč "sjednocující prvek" linuxového světa musí každá distribuce ojebat po svém. V Debu to naštěstí ještě jde, standardně dávám pryč ntpd, network manager a ty ifupdown skripty a nastavím networkd, resolved a timesync. A nainstaluju nspawn (systemd-container). Nezblázním se z toho. Ale to, že CentOS/RHEL ty některé součásti systemd tam ani nemá, tak to mě fakt překvapilo.
Takže tolik k té jednotě.
A to nemluvím o zabugovanosti. O tom, jak za všechny chyby systemd může někdo jinej, o tom, jak snadno se to používá (narážím na to, že ini like pro psaní unit není tak úplně ini like - není nad design s důrazem na nejmenší překvapení).
Takže dřív se možná řešilo 20 různých dister, dnes se musí řešit 20 různých konfigurací systemd. Nevím, zda jsme si pomohli.