News for hackers. Stuff that matters.
Re:Linux distros without systemd by tyingq on Monday May 20, 2019 @10:51AM (#19960898)
It's not the init replacement part that bugs me. It's the expansion into audio, kernel logging, resolvers, containers, and so forth that is the issue.

It's a monolith of sorts that breaks the loosely coupled toolbox concept of Unix.

Re:Linux distros without systemd by eropple on Monday May 20, 2019 @11:52AM (#19961671)
Systemd is a bunch of loosely coupled tools, though; it's not a monolith at all. PulseAudio was written by Lennart but isn't part of systemd. You don't have to use systemd's resolver. systemd-nspawn is a completely separate process and isn't required for systemd as a whole.

It's worth watching Benno Rice (a BSD developer, actually) discuss systemd and some of the misconceptions, some of which you're expressing, therein: https://www.youtube.com/watch?v=o_AIw9bGogo

Re:Linux distros without systemd by luke0016 on Monday May 20, 2019 @03:39PM (#19964237)
There are lots of variations on the UNIX philosophy [1], but two core points are to:

1. Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".

2. Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.

systemd has binary format data all over the place, and it is quite difficult to separate out an individual component and have it work properly on its own. Not to mention trying to replace a subcomponent with something else.

systemd is, in general, a tightly coupled system with lots of interdependencies. It is, in many respects, the antithesis of the UNIX design philosophy.

Hell, even modern Software Engineering practices still talk about decreasing coupling and increasing cohesion.

[1] https://en.wikipedia.org/wiki/Unix_philosophy

Re:Linux distros without systemd by AsyncAwait on Monday May 20, 2019 @04:00PM (#19964485)
Regarding the UNIX philosophy thing, it's worth noting that it is not automatically The Right Thing to stick by it at any cost. You could argue that UNIX itself does not use the philosophy when it's inconvenient, for example many UNIX-(like) kernels were/are monolithic, despite micro kernels with message passing akin to GNU Hurd embody the UNIX philosophy much better than the original UNIX kernel did(!)

Also, how do you define doing "one thing" exactly? I can see it for `ls` or `cat`, but for anything more complicated than that...not so sure. Is Vi following the UNIX philosophy? If you say; yes, it's 'just an editor', despite 'an editor' being composed of several components, then I can say that systemd is just 'a service manager'. It's a semantics game that does not make sense in today's world.

The Unix philosophy has its uses for sure, but it's far from an universal truth in today's world.

Re:Linux distros without systemd by luke0016 on Monday May 20, 2019 @04:09PM (#19964600)
> for example many UNIX-(like) kernels were/are monolithic, despite micro kernels with message passing akin to GNU Hurd embody the UNIX philosophy much better than the original UNIX kernel did(!)

Sure. The UNIX Philosophy applies more to userland, I think, than the kernel.

Edit: I'll add with regard to the kernel, the internal structure of the kernel still has fairly well-defined subsystems that interact in clear, mostly consistent ways. So while from an execution standpoint it is monolithic, the philosophy is still something that is taken to heart to some extent.

> Also, how do you define doing "one thing" exactly? I can see it for `ls` or `cat`, but for anything more complicated than that...not so sure. Is Vi following the UNIX philosophy? If you say; yes, it's 'just an editor', despite 'an editor' being composed of several components, then I can say that systemd is just 'a service manager'. It's a semantics game that does not make sense in today's world.

I think dismissing it as a semantics game is taking it pretty far. It's clearly not a black and white rule, but more a guiding philosophy. When it works, it's beautiful and elegant.

The ability to pipe basic UNIX utilities and programs together is something that has always left me a little awestruck. The flexibility and simplicity there is almost profound. SysVinit was far from perfect, but you could at least trace the execution flow from basically start to finish and, if you understood basic *NIX utilities, have a good idea of exactly what was happening.

> The Unix philosophy has its uses for sure, but it's far from an universal truth in today's world.

Again, it's a philosophy, not a universal truth. A guiding light, if you will.

With systemd, that light is pretty dim, if it's on at all.

Re:Linux distros without systemd by JdeBP on Monday May 20, 2019 @12:14PM (#19961931)
> Journald is also not part of systemd core--at least, I think so; this one I've never really looked at myself.

You really should. journald is not optional.

Re:Linux distros without systemd by eropple on Monday May 20, 2019 @12:16PM (#19961952)
Yup, seems you're right - journald appears to be the only mandatory non-PID1 process for systemd. Good to know. It also will forward happily to rsyslogd if that's your bag and then you never have to look at it, so I'm gonna just give a big ol' emoji shrug on this one.
[dead]
Re:Linux distros without systemd by eropple on Monday May 20, 2019 @12:25PM (#19962058)
D-Bus, as discussed elsewhere in this thread (where I learned about this, too), is a specification rather than a concrete implementation. Are you asserting that systemd does not work with alternative D-Bus implmentations? That would be weird, seeing as how they wrote an alternative one...

Also, since I've been "reading more", and I can check after I get back from lunch--at least at some point Debian shipped systemd without D-Bus on minimal installs. Maybe that's no longer the case, but the stuff I'm reading seems to be post-2015.

[dead]
Re:Linux distros without systemd by dang on Tuesday May 21, 2019 @01:36AM (#19967792)
Please don't be personally abrasive in arguments here. No matter how right you or feel you are, it breaks the site guidelines: https://news.ycombinator.com/newsguidelines.html.
Re:Linux distros without systemd by eropple on Monday May 20, 2019 @01:00PM (#19962442)
Asking for clarification isn't a strawman, sorry. And it sure seemed like you were correcting me, which is why I asked. But I said that journald was the only mandatory component of systemd outside of PID1. You said this was wrong. I'm waiting for you to extrapolate? Does systemd only work with the "canonical" dbus-broker? Or does it want ("want" as I'm reading stuff that suggests it isn't absolutely required, but I'm not sure and I'm happy to caveat where I'm not sure) a D-Bus broker? Because if it's the latter, and as it's specified and they seem big on meeting specs I'm betting that it's the case, then what I said is correct and you're just being kind of a jerk about it.

Or you can keep trying to big-time me instead of engage on the merits of your position. That's cool people stuff, I guess.

Re:Linux distros without systemd by effie on Monday May 20, 2019 @02:02PM (#19963180)
This is out of the line. You were given civil arguments for why systemd requires Dbus but in your response, you accuse the other person of being a jerk and "big-timeing". Please use the strongest interpretation of other people's claims on the topic, before using them as a means to accuse them of wrongdoing.
Re:Linux distros without systemd by eropple on Monday May 20, 2019 @02:13PM (#19963311)
I am inviting the strengthening of his position in order to better understand it. I asked him to elaborate because as near as I can tell there is no hard dependency on any D-Bus broker. There is possibly--I genuinely can't tell from the documentation I've been browsing through--a dependency on a D-Bus broker. Requiring a D-Bus broker does not make any one D-Bus broker mandatory...and so, if that is the case, then my assertion that journald is the only non-PID1 part of systemd that is required would hold.

I'm happy to be corrected if I'm wrong. I invited it, even; I'm wrong all the time and being wrong is how one learns. The big-timing I referred to is the refusal to materially engage. Instead he quotes Lennart about D-Bus--out of context? who knows! It isn't an indication of the state of the software in question, just his opinion at a point in time--and to tell me to go read (read what, exactly? what generosity in citation!). Oddly enough, though, I don't see you tagging in to lecture him about that sort of sneering. Why's that?

Re:Linux distros without systemd by zapzupnz on Monday May 20, 2019 @06:27PM (#19965938)
That person is big-timing. Their tone ("you should read more" and so on) is in violation of the HN guidelines, filled with needless snark and condescension. The offending comment has been flagged by multiple users who agree that the comment doesn't meet community standards.
Re:Linux distros without systemd by effie on Friday May 24, 2019 @08:28AM (#20000755)
Perhaps the tone of JdeBP wasn't great, but they had a point. On the other hand, eropple's comment tone wasn't ideal either and they consistently miss the original point of systemd requiring dbus. Unfortunately, I am unable to check this since JdeBP post's have been censored.
Re:Linux distros without systemd by tyingq on Monday May 20, 2019 @02:20PM (#19963394)
"Systemd is a bunch of loosely coupled tools"

As just one example, the nspawn owning package requires a libnss package which pulls in systemd-resolve. I believe it also requires dbus.

[dead]
[dead]
Re:Linux distros without systemd by ben509 on Monday May 20, 2019 @02:15PM (#19963328)
> It's gotta be apologism.

Apologists are engaging in apologia, which means a defense of one's ideas. It's not suggesting a hidden agenda, to the contrary, it suggests the agenda is fully on display since it's plain what is being defended.