Live data from Hacker News

Why I dislike systemd

steven-mcdonald.id.au

251–254 of 254 posts

Re: Why I dislike systemd

#251

Earlier quoted context omitted.

Except that rc.subr is shell scripting alone. It's literally a shell script that gets sourced into another shell script (in this case, your initscript), which is - again - ordinary shell behavior. Yeah, you have to learn a couple of shell functions and variables, but that's not really that big of a deal for someone with even cursory knowledge of shell scripting. The bigger point, though, is that if your only goal is…

> Except that rc.subr is shell scripting alone. Again, "read the source" is a sad answer. I can read systemd C sources too, but given that it comes with proper documentation there should be no need to do it. My point is that either one has to get some domain-specific knowledge or they have to reverse engineer some code. Given that I believe that the second one is a bad choice (people will rely on the implementation r…

> Again, "read the source" is a sad answer. I can read systemd C sources too, but given that it comes with proper documentation there should be no need to do it.

rc.subr also comes with proper documentation, in the form of the rc.subr manpage, which comprehensively documents its behavior.

Barring that, you're delusional if you think that C is anywhere near as readable as shell in this sort of context.

> My point is that either one has to get some domain-specific knowledge

Arguably less of it in the case of rc.subr, since said knowledge is already part of basic shell scripting knowledge.

> Literally nobody ever claimed that systemd "only goal" is to have terse daemon configuration.

Nor did I. That doesn't change the fact that "OMG initscripts are so verbose with so much boilerplate; my unit files are so much better" is a commonly-cited reason for people to prefer systemd over other init systems, never mind that said reasoning is plainly false.

Re: Why I dislike systemd

#252

Earlier quoted context omitted.

> Except that rc.subr is shell scripting alone. Again, "read the source" is a sad answer. I can read systemd C sources too, but given that it comes with proper documentation there should be no need to do it. My point is that either one has to get some domain-specific knowledge or they have to reverse engineer some code. Given that I believe that the second one is a bad choice (people will rely on the implementation r…

> Again, "read the source" is a sad answer. I can read systemd C sources too, but given that it comes with proper documentation there should be no need to do it. rc.subr also comes with proper documentation, in the form of the rc.subr manpage, which comprehensively documents its behavior. Barring that, you're delusional if you think that C is anywhere near as readable as shell in this sort of context. > My point is t…

> the fact that "OMG initscripts are so verbose with so much boilerplate; my unit files are so much better" is a commonly-cited reason for people to prefer systemd over other init systems, never mind that said reasoning is plainly false

Indeed, I agree with that. The only advantage is that the restricted syntax of unit files is more suitable for error checking rather than having the shell complain more or less randomly, but compactness is not an intrinsic advantage of it.

That said, not every distribution standardized on such kind of helpers (ie. Debian), so in those cases compactness was one of the benefits of switching to systemd (not exclusive to it).

Re: Why I dislike systemd

#253
post #205

Earlier quoted context omitted.

It was around before the Debian Technical Committee made its decision. It wasn't one of the options to choose from, but it was an existence proof, for those making the decisions, that systemd unit files will not lock them in and that there's a route for Debian packages that have systemd units on Debian kFreeBSD and Debian Hurd.

Too bad it is not the unit files one should worry about, but the continued scope creep of the systemd project. by the time one want to move from systemd to nosh, or anything more limited in scope, one may have face the rebuilding of Linux user space from the ground up.

It's not the unit files as a potential lock-in that one need worry about now, because of the nosh project. But it most definitely was one thing that people thought about then.

Re: Why I dislike systemd

#254
post #108

Earlier quoted context omitted.

The key is the expense vs reward ratio. I don't know how to write sysvinit scripts any more than I know how to write fizzbuzz. What I do know is how to program and specifically how to write and maintain and debug shell scripts. I NEED that for other automation purposes and cannot get rid of that mandatory requirement so it used to dovetail quite well with init scripts. There are corner cases and security issues and t…

I don't think it's really fair to compare writing unit files to being able to program in shell. True, knowing the systemd unit options is not a reusable skill, but it's not a huge effort either: the syntax is trivial (INI-inspired, the same as .desktop files) and the options themselves are rather well documented. And for sure, these options are immensely more reusable when writing a new unit file than mixing and matc…

the syntax is trivial and the options themselves are rather well documented.

Just as Real Programmers can write Fortran in any language, it is still possible to make horrendous messes even with systemd unit files of a mere 14 lines or so. http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/sy...

Post reply on HN