So the other day, I had to figure out if udev is still supported without using systemd, since the source trees have been merged, and we’re using Ubuntu at work which doesn’t use systemd. (answer: yes) This research brought me to this systemd comparison page, detailing the differences between sytemd, Upstart, and SysV. Not knowing much about init systems(besides Upstart and a little bit of SysV), systemd seems to have a lot of features in it – but as I’m reading these features, I’m wondering: should an init system do all of these things?
There seem to be a lot of things which aren’t particularly useful. But perhaps they are(as I said, I’m not an expert on init systems). They seem to be creating a particularly complicated system, and it seems to me that many of the features that they espouse could just as easily be handled by a separate program. Of course, having a separate program does have its downsides, since it can make the startup logic more obtuse.
Also, I really like how in the ‘Miscellaneous’ table there’s a row for the SCM that is used. I’m thinking “Who the hell cares?”.
To get a bit less biased view on different init systems I would suggest you to check out the Debian initsystem debate page[1]. It’s also good to note that most systemd functionality is not part of the init but rather a set of different processes started by it.
[1]: https://wiki.debian.org/Debate/initsystem/