Live data from Hacker News

Systemd: The Biggest Myths

0pointer.de

61–70 of 118 posts

Re: Systemd: The Biggest Myths

#61

Earlier quoted context omitted.

"Most of the stuff he made is really nice, proven by the fact that it's being used widely without issues." Without issues? PulseAudio is loaded with issues. The only time PA works correctly is when you are doing things the way Lennart thinks you should do them -- which is basically the way desktop Windows and Mac OS X users are expected to do things. Another way to put things is this: Lennart's software designs dicta…

Pulse Audio is not perfect but what before was. People were bitching about PA and wanted OSS back. I seriously doubt that many of those actually do anything reasonable with audio.

"I seriously doubt that many of those actually do anything reasonable with audio."

Actually, serious audio work on Linux is done with JACK. PulseAudio is completely inadequate for serious audio work.

Re: Systemd: The Biggest Myths

#62

3. I don't understand the desire to trim seconds off of boot-up time (even assuming that systemd does this; it didn't for me). The goal should be to restart less often, not to restart more quickly. 5. The systemd documentation is indeed very good, and that's probably one of the biggest drivers behind its adoption. However, it is also difficult. A big part of the pushback from people over systemd is that it also repla…

As someone who's administered Solaris machines rather extensively, I find the SMF (the init system on Solaris which, in part, inspired systemd) to be much easier to manage than sysvinit. Specifically, it makes it easier to add new services than either writing new shell scripts or adapting old ones. It makes it easier to make services which depend on one-another. And it makes it easier to know which services are running and what state they are in.

I see other developers/sysadmins here saying that sysadmins usually have a template initscript which they can use to author new ones, but that's really still a lot of work if you want to do anything not covered by the template and it leads to duplicate code. (It's literal cut-n-paste programming.) Initscripts expose a lot of implementation details. Even worse, they're different for every Linux distro so the initscript for your application has to be different for every distro you want to be on.

I think the most telling thing here is, that the distro maintainers, who are the ones who write the bulk of the initscripts for Linux systems, are the ones pushing for the adoption. It's making their lives easier.

Re: Systemd: The Biggest Myths

#63
post #53

Earlier quoted context omitted.

Have you reviewed Systemd code and submit changes to make it more reliable?

Not everyone has time to contribute to every project that may be useful in some way. If something else works the way one wants, there's no call to put time and energy into a competing project.

But you do have time to discredit people and make personal comment without actually reviewing their work yourself.

Re: Systemd: The Biggest Myths

#64
post #58
post #52

Earlier quoted context omitted.

While start up time is critical, how much time is being lost by imposing complexity on the humans? At least in my opinion that bit about binary logs makes the entire thing a no go. The absolute last thing I want in any sort of time critical situation is to complicate the process of reading logs.

Very true, and, to be honest, I'm not advocating for systemd. Though according to the original article this isn't quite the issue that it's claimed to be (I'm not actually familiar enough with systemd to be able to have an opinion on it), see point 20. My assessment on the systemd debate, though, is that it feels a bit like neophobia and the technical justifications (against systemd) are a bit on the weak side.

You're right, it is mostly neophobia. I sort of tried to say that in my top comment; I don't think that systemd is technically inferior, I just can't yet justify switching to it.

But, I've been meaning to write about this for a while: I think neophobia is starting to become an unnecessarily religious article of faith in the technical community. I run a small consulting shop, we support (or try to support) just about everything under the sun. What this means is that every single time there's a significant hardware change, my hardware guy has to be on top of it; every time there's a new mobile device UI change, or platform, or service or software, he has to get to know it right away; every time PHP or MySQL or Linode or any of a number of aspects of Linux changes, I have to be on top it; every time a new operating system version is released, we have to be familiar with it.

And every single one of those little ecosystems assumes that you have the time to sit down and read and digest their documentation or play with their new way of doing things. And, if you don't, or if you miss something, you're chastised by the community (or, worse, by your customers).

It is exactly like being in college and having every one of your professors assign 3 hours' work each night and then wonder why you're making a big deal of it.

To make things worse, when something goes wrong, you know as well as I do that you rely heavily on familiarity. You don't want to be looking things up in a man page trying to remember the specific incantation for a particular thing while your budget shrinks by the second. I was lucky that the smbd/nmbd fault happened on my personal system; if it had happened to one of our clients, who has everyone using a centralized smbd share, then smbd failing to start would have stopped work for the entire company.

So, yes, it's true that I am not a fan of change for change's sake. Lennart argues that that's not what's happening with systemd. Maybe he's right. But, it is still another massive change in something that I use and support on a daily basis, that is going to irretrievably consume a little bit more time out of my limited life, that is going to force me to throw out all of the old familiar tactics ("hmm ... new client, their MySQL isn't starting, dunno where MySQL logs are on this system, let's start with `grep -R mysql /var/log/∗` ... oh wait, this is a systemd system, that doesn't work").

From that standpoint, I feel like the technical justifications in favor of systemd are a bit on the weak side.

Re: Systemd: The Biggest Myths

#65
post #55

Benefits to me as a desktop and laptop user of systemd. 1) Speed does matter. Fast boots are good. 2) The new journal is just better. Finding something in the logs is easier. 3) Service files are easier to write than init scripts and one can have more confidence they will work as intended as you need write very little configuration oneself. 4) Knowledge of dependencies means I never have to worry about starting dbus…

NetworkManager is still popularly referred to as "NetworkMangler", and for good reason. I had serious problems with NetworkMangler on two completely different distributions over a period of two years. I finally solved the NetworkMangler issues by switching to Wicd; its interface is crude and ugly, but it damn well works. I haven't had to restart my laptop to get a working network connection since.

If NetworkManager is an example of how great systemd can be, then I just became vehemently opposed to it.

Re: Systemd: The Biggest Myths

#66

Earlier quoted context omitted.

Pulse Audio is not perfect but what before was. People were bitching about PA and wanted OSS back. I seriously doubt that many of those actually do anything reasonable with audio.

The thing is, I am not any better off today than I was when I was using ALSA. None of the problems I had with ALSA were solved by PA; ConsoleKit/PolicyKit came closer to solving those problems, and even then, new problems were introduced. The excruciating transition to PA put a bad taste in everyone's mouth, and now we are all sitting here asking ourselves, "Why did we even bother?" So in a sense, you are right: PA i…

Yep, we are better off now.

I remember trying to get bluetooth audio working in the alsa-only days. Or network sound with esd/ssh. Or figuring out how to route audio nicely apps. Or saving my laptop battery. Or many other features that were simply damn difficult to pull off.

People don't seem to remember how crappy the audio situation used to be, for users and for ISVs. I respect Lennart and the current PA maintainers a lot for tackling the problem head on – even if they didn't or couldn't do it perfectly – instead of just complaining about the sad state of Linux audio, especially in the face of all the criticism they got over it.

Re: Systemd: The Biggest Myths

#67
post #47

> 13. Myth: systemd being Linux-only is not nice to the BSDs. > Completely wrong. The BSD folks are pretty much uninterested in systemd. If systemd was portable, this would change nothing, they still wouldn't adopt it. > 15. Myth: systemd could be ported to other kernels if its maintainers just wanted to. > That is simply not true. Porting systemd to other kernel is not feasible. We just use too many Linux-specific i…

If it starts to rely on systemd, the question you should be asking, is: why does this program want to depend on systemd?

It's to interact with the lower plumbing - ie. set up hostname, locale, timedate, multi-seat etc.

If these interfaces are missing, the software should still work minus a few missing features. Applications could still #ifdef all they want to make things work on BSDs, no change there either.

Or the BSDs could make their own implementation of the plumbing interfaces. Lennart even provided a handy chart: http://www.freedesktop.org/wiki/Software/systemd/InterfacePo...

Honestly, it's about time we standardize and stop wasting time on these low-level things. I'd rather work on software higher up in the stack, than wasting my time working around trivial differences between the Linux distros (bonus points if they get adopted on other the BSDs too). But that's just me.

Re: Systemd: The Biggest Myths

#68

Earlier quoted context omitted.

Why the heck do people whale on him so much?

Well, consider his response here: https://bugzilla.redhat.com/show_bug.cgi?id=461546 First, he denies that this is something people need. Then, when he is told that people need it, he says that they are just doing things the wrong way. Then, when people point out that this is neither unusual nor the wrong thing to want to do, he just repeats that this is not what was intended so too bad. He offers no advice on how to…

Yes, that bug discussion show very well what's wrong with Lennart and his software.

Re: Systemd: The Biggest Myths

#69
post #53

Earlier quoted context omitted.

Not everyone has time to contribute to every project that may be useful in some way. If something else works the way one wants, there's no call to put time and energy into a competing project.

But you do have time to discredit people and make personal comment without actually reviewing their work yourself.

You seem to be implicitly claiming that one only earns a right to critique the usability of a given piece of software if one is also capable of debugging and enhancing that software. Do you really believe that?

Re: Systemd: The Biggest Myths

#70
post #38

Earlier quoted context omitted.

To me systemd looks mainly useful for servers. Some of the nice server features: 1. It is way easier to write a systemd unit for an in house application than it is to write a correct sysvinit script. 2. Everything runs in a cgroup making it easier to add resource limits and see which process is started by which service. 3. Easy to check which daemons are running and not. 4. Reduced startup time for containers.

> 3. Easy to check which daemons are running and not. How? This is one of the things that have really annoyed me as all the systemd services have gone from service --status-all.

htop?

I'm not linux admin anymore, but I when I was, I used various service status software thingies only to find out whether the system thinks the service is running, because they tend to be wrong, and just annoy you (not starting crashed server because it "is already running" or something similar). I think debian doesn't even track service states, but I'm not sure.

Of course, with systemd it will be even more fun.

Post reply on HN