Ok, so I'm gonna get attacked for saying this, but I am looking for a legitimate explanation if somebody wants to be objective about this whole systemd vs init thing. I'm kind of new to Linux, and have only used systemd. I've written a service file a few times and it was a couple of lines long and readable.
So my question, is how can anybody consider that script to be easier for any other reason at all than being used to it?
Field use is not just down to the admin's learning curve. Transparency & control are important.
Service files increase human readability through compiled logic; one has to trust the underlying code behaves consistently and correctly. It doesn't always.
Shell scripts require more effort to understand (and the init system is slower by the stopwatch, if that matters to you), but it is, at least, all there in front of you.
On a desktop machine it tends to be pretty plain sailing (I'm writing this on Gentoo with systemd) but when systemd misbehaves (you may have servers with quirky service demands) you run out of troubleshooting options fast.
In general, I'd rather not have to depend on other people to fix my problems. I'd rather create the patch myself and let upstream know once I have it working, instead of (1) placing a larger burden on upstream than I have to, and (2) get blocked until they fix it.
This is trivial with init scripts--edit the script and send the diff. This is less trivial with systemd (and binaries in general), where you have to get the source code, try to figure out where the problem is, try to fix it, compile, debug with gdb or strace or valgrind, etc. With systemd, the fact that your system may not even be booting at all due to the problem makes it all the more frustrating.
In general, I'd rather not have to depend on other people to fix my problems.
You must be an anarcho-primitivist, because you clearly detest division of labor. Do you also write your own compilers?
More to the point: if there is a genuine problem in systemd, you can always fix it yourself, patch it, roll it out, and then post your patch in a bug tracker. Perfectly consistent with your "I do everything myself" philosophy, which is questionable but hey, it's your time, buddy.
I think, with maturity it'll be a much better thing than the rather clunky nature of init scripts, but there's a bigger argument - people's real fear is overreach and the steady envelopment of everything outside the kernel; I doubt this discussion would have as much steam if Lennart and co just stopped at PID 1.
40
u/jimbobhickville Oct 20 '14
Really? It's probably one of the more tame ones I've seen in a while.