Another daemon for managing control groups
Another daemon for managing control groups
Posted Dec 6, 2013 22:35 UTC (Fri) by anselm (subscriber, #2796)In reply to: Another daemon for managing control groups by sorpigal
Parent article: Another daemon for managing control groups
While you are not wrong the advent of systemd seems to presume that we now know how to do this and don't need to experiment any more.
SysV init has been around for 30 years or so. It is reasonable to assume that any significant use cases that it and its friends don't cover in some (convoluted and suboptimal) way would have shown up by now.
The other point worth making is that systemd doesn't come to us out of thin air. There was considerable experimentation going on in init-like systems in the shape of things like daemontools, launchd, Upstart, and so on, all of which have influenced the design of systemd. Systemd builds on these other tools in various ways and takes many of their ideas even further.
Finally, in case some revolutionary way of starting a service comes up that systemd doesn't cover, surely – systemd being open-source – it would make sense to extend systemd to deal with it rather than replace systemd outright with something else?
Any replacement for systemd once it is entrenched would have to have at least identical features--the lowest common denominator is now not as low.
I don't see this as an argument in favour of SysV init. Surely we don't want to stick with SysV init for the indefinite future because it offers fewer features and is easier to replace with something else than systemd?
I recently added a ./var/ directory in a little app that I'm building for my $job, because I didn't need to explain to anyone else on the team what var meant or why logs and caches would be written there. In the long run perhaps everyone will know what .unit means, but not today.
The /var directory came along in the 1980s when Unix had already been around for almost 20 years. It is safe to assume that there must have been old Unix hands at the time who would fight this innovation tooth and nail because it violated the conventions they had been repeating for more than a decade. The same applies to many of the other innovations that happened in nearly 50 years of Unix history (including but not limited to SysV init, which people seem to like to pretend goes back at least to Noah's ark).
People point to the hallowed »Unix tradition« as if Unix had sprung from the Earth in 1969, fully formed, and then didn't change at all until Linux came along 20 years later. The truth is that Unix changed all the time, and many things that we now consider part of the original »traditional« feature set only appeared way later than people generally accept. For example, the Bourne shell was introduced in 1977 with Unix Version 7, and still we read in actual published books that »The Bourne shell was the original Unix shell«. Not. Even something as central to the »Unix philosophy« as pipes was only implemented after Unix had already been around for several years.
SysV init and friends, in 2013, are the equivalents of baling wire and twine. It is amazing that they can be made to work at all. We can consider ourselves fortunate that somebody of Lennart Poettering's calibre has decided to come up with an alternative that will hopefully be suitable for the next few decades. I'm frankly a bit sick of those people who, because they have no technical arguments to make, will come up with quaint ways of saying »This is not what I'm used to and therefore I don't like it«. They can stick with SysV init for the next century or so, but they don't get to dictate policy to everybody else. If systemd is really as bad as they say they can rest assured that they will have the last laugh.
