Live data from Hacker News

Systemd: The Biggest Myths

0pointer.de

21–30 of 118 posts

Re: Systemd: The Biggest Myths

#21
post #3

I don't want systemd because I don't trust Lennart Poettering to be able to write reliable code.

Why the heck do people whale on him so much?

One reason is that pulseaudio broke audio for many Linux users (including me). Linux audio has long been problematic but had reached a point of stability when pulseaudio was adopted by some of the major distributions. I have no idea if the problem was that pulseaudio was broken, with distributors messing up, or with Linux audio drivers.

When a problem is easily solved by just an "apt-get remove X" it is easy to start hating the piece of software. No matter who was actually at fault.

Re: Systemd: The Biggest Myths

#22
post #19

Earlier quoted context omitted.

Why the heck do people whale on him so much?

He's this decade's Ulrich Drepper.

Drepper is a very nice and intelligent guy. I liked his recent foss.in talks:

"Why knowing your hardware is important" http://www.youtube.com/watch?v=QUUdVFZBd5g

"Scalable Parallel Programming Techniques" http://www.youtube.com/watch?v=jfimI7UC9Pg

Re: Systemd: The Biggest Myths

#23
post #11
post #3

I don't want systemd because I don't trust Lennart Poettering to be able to write reliable code.

Downvoting this post is unwarranted. Everything that Lennart Poettering has ever done was an unreliable clusterfuck[1] astray from the Unix philosphy. There's nothing that he has ever done that is considered "good" by a majority of Unix-derivative users. [1] http://www.youtube.com/watch?v=ZTdUmlGxVo0

I remember watching this video and Poettering's argument were very sound and he has managed to repel most (if not all) Draxinger's points.

The problem with "it's not the UNIX way" argument is that a lot of people don't care about UNIX that much, they just want a good system. Poettering mentions in that video that all his, and his colleagues' work (pulseaudio, consolekit, udev into udisks/upower) has been done because there was an actual demand for those features. There is a reason why most distributions use their work even as people complain about them.

Re: Systemd: The Biggest Myths

#24
post #9

Given the title, I'll allow that most of these points are defensive and brusque. Unfortunately, this tends to be par for the course for the developer, and I think that turns people off. Fundamentally, systemd tried solving too many problems at once, in a ways that inadvertently annoyed people. It replaced so much of the core infrastructure that upgrading systems resulted in an admin experience that feels alien. Givin…

> most of these points are defensive and brusque I prefer reading "This is wrong, because ..." over "This is right, but ...", since it's more honest.

The myths are a mix of those that are correct but often misunderstood and those who just are plain wrong. Those which are plain wrong cannot be responded to with "This is right, but ...".

Re: Systemd: The Biggest Myths

#25
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 replaced syslog, and did so with its own custom binary log format. To quote from a forum thread I started shortly after updating my old system to systemd, "Getting smbd/nmbd to work again was a real adventure. Like other users reported, it would just silently fail when starting it from systemd. No error message when issuing the start command, and only a vague "failed" in status. I ended up having to track down Lennart's blog post on "systemd for administrators" to figure out how in blazes to extract anything useful from that cussed binary log system he invented. My first half-dozen or so attempts to get anything useful out of the log journal got exactly zero results; I finally got lucky on another approach..." (I ended up abandoning that distribution altogether after that and a number of other frustrations, and the response from the forums.)

13. The problem for BSDs isn't so much that systemd is or isn't portable to them; it's that some upstream software is beginning to require systemd, making that software difficult (or impossible) to port to BSD.

14. It seems weird to me to hear someone else decide for other people what is or isn't a "negligible" amount of work.

15. So ... systemd is in fact Linux-only by design. How does that jive with 13 again?

19. systemd may not "force" you to do anything, up until your distribution adopts it, pushes it as an update, and then you find yourself spending hours trying to figure out how to troubleshoot a problem that didn't exist before the update. Then it certainly is forcing you to do something.

Here's the problem in a nut shell as I see it: if systemd had been the default in Linux for the last ten years, probably the tool chain around it would be mature enough to meet everyone's needs, we would all be accustomed to the specific commands needed to control and interact with and debug systemd stuff, and if someone came along and proposed replacing everything with a syslog daemon and a pile of init scripts, there'd be rage and outcry. That is to say, I don't see anything inherently bad about systemd.

But, what is enormously frustrating is to have something that works, and be well adapted to it, so that if something breaks I know exactly where to look, and then have all of that be replaced by a foreign system that breaks old things in new ways and requires hours spent trying to figure out what the hell happened.

If the replacement system offers serious benefits over the old system, that offsets the pain slightly. In this case, I've yet to see what the actual benefits are; I have no idea what problems systemd is attempting to solve which are so severe, so immediate, so intractable that they require a jarring change to some of the fundamental parts of the operating system.

Re: Systemd: The Biggest Myths

#27
post #18
post #16

Earlier quoted context omitted.

> I'm not sure why systemd not being portable to other operating systems is suddenly a big deal. Because software being written that has systemd as a dependency will be Linux only software.

> Because software being written that has systemd as a dependency will be Linux only software. And this is news, and suddenly it's systemd's fault? If you hate Linux-only software, software that depends on systemd is the last of your problems. Software that depends on glibc and the Linux kernel are probable the main offenders.

There are currently 23946[1] FreeBSD ports. Nothing I ever needed in the last 15 years of using FreeBSD was missing. Yes, dependency on glibc and the Linux kernel is sometimes annoying, but in practice it is not an insurmountable problem. Dependency on the Linux kernel is rare and dependency on glibc can usually be easily fixed and upstream is usually happy to accept patches. Systemd is different because there is a lot of software that might decide to use it and you can't just work around it.

[1] http://www.freebsd.org/ports/

Re: Systemd: The Biggest Myths

#28
post #15
post #13

Earlier quoted context omitted.

I disagree, I think that Lennart is right. Nobody really cares if systemd is not portable. Upstart was not portable to BSDs, and nobody cared. The traditional sysvinit system was, AFAIK, not portable until the debian/freebsd people bothered about it. Heck, the init scripts in Linux used to be not portable even between different Linux distros. launchd (OS X) and SMF (solaris) weren't portable, either. By the way, when…

You can write software ignoring how it will be started and you (or others) can write init scripts for various traditional systems. This is way harder if you use systemd; suddenly you need to care about the init system, and you might sacrifice init independence for pragmatic reasons (I want to support systemd, but I don't want to write this yet-another-abstract-wrapper-layer so that someone else might use it with othe…

Why would systemd suddenly change this? It is one of the init systems with best backwards compatibility with sysvinit. And writing a systemd init configuration for your daemon is trivial and it is also easy to maintain.

Re: Systemd: The Biggest Myths

#29
post #15
post #13

Earlier quoted context omitted.

I disagree, I think that Lennart is right. Nobody really cares if systemd is not portable. Upstart was not portable to BSDs, and nobody cared. The traditional sysvinit system was, AFAIK, not portable until the debian/freebsd people bothered about it. Heck, the init scripts in Linux used to be not portable even between different Linux distros. launchd (OS X) and SMF (solaris) weren't portable, either. By the way, when…

You can write software ignoring how it will be started and you (or others) can write init scripts for various traditional systems. This is way harder if you use systemd; suddenly you need to care about the init system, and you might sacrifice init independence for pragmatic reasons (I want to support systemd, but I don't want to write this yet-another-abstract-wrapper-layer so that someone else might use it with othe…

You always had to care about the init-system: There are some differences between e.g. debian and redhat (start-stop-daemon only on debian, tools for creating the symlinks to install a service), then there's upstart with a different shell-script-esque syntax.

To support systemd, the number of configs you provide will go from maybe 4 to 5, not from 1 to 2! And, looking at the examples provided by ArchLinux, the systemd services look as if they are a lot less boiler-plate than the typical debian init-script.

https://wiki.archlinux.org/index.php/Systemd/Services (e.g. dropbear is very simple)

Re: Systemd: The Biggest Myths

#30
post #2

> 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 systemd is not portable, it wasn't made to be portable, it relies on far too many linuxisms. Therefore the BSD's don't care about it. It is not 'the BSD's don't care about it so we didn't make it portable.'

Pretty much a self fulfilling prophecy.
Post reply on HN