Live data from Hacker News

Why systemd?

blog.jorgenschaefer.de

71–80 of 263 posts

Re: Why systemd?

#71

Earlier quoted context omitted.

What's wrong with old good Unix pipes?

The don't solve race conditions in peers trying to locate each other (surprisingly difficult). They don't solve a standardized marshaling format. They don't come with an implementation to integrate with main loops for event polling. They don't handle authentication (well, sort of). They have an inherent vulnerability in FD passing where you can cause the peer to lock up. You can get into deadlock situations in your m…

You seem to want pipes to bend over backwards to solve each and every one of your applications' problems.

> The don't solve race conditions in peers trying to locate each other (surprisingly difficult).

Not even sure what you mean here. Are you talking about peer discovery? Because DBus won't help you there either--peers have to be aware of each other's DBus object paths before they can rendezvous. Similarly, two peers need to know where the common pipe is to rendezvous.

> They don't solve a standardized marshaling format.

Nor should they. There are a ton of ways to skin this cat in userspace, depending on what your application needs. Protobufs come to mind, for example, but there are others.

Why do you want the pipe to enforce a particular marshaling format? Does the pipe know what's best for every single application that will ever use it?

> They don't come with an implementation to integrate with main loops for event polling.

It's not the kernel's responsibility to implement the application's main loop. That's what libevent and friends are for today, if you need them.

> They have an inherent vulnerability in FD passing where you can cause the peer to lock up.

Last I checked, you pass file descriptors via UNIX sockets, not pipes.

> They don't handle authentication (well, sort of).

Depends on your application's threat model. The kernel provides some basic primitives that can be used to address common security-related problems (capabilities, permission bits, users, groups, and ACLs). If they're not enough, you're free to perform whatever authentication you need in userspace to secure your application against your threat model's adversaries.

It is unreasonable to expect the pipe to be aware of every single threat model an applications expects, especially since they change over time.

> You can get into deadlock situations in your messaging code if you aren't really careful about message sizes and when you order poll in/poll out.

It's not the pipe's fault if you don't use it correctly.

> They aren't introspect-able to see what the peer supports.

Peer A could use the pipe to ask peer B what it can do for peer A. Why do you want the pipe to do peer B's job?

> They make it super easy to not maintain ABI.

Nor does DBus. Nothing stops an application from willy-nilly changing the data it serves back.

Re: Why systemd?

#72
post #8
post #4

The reason people use UNIX-like systems is because they work reliably. In order to make a complex system work reliably, it needs to be easily fixed. In order to fix a system, a person needs to understand it as well as be able to make a change in it. And in order to understand a system, it helps very much if that system is straightforward and lucidly verbose. I hope systemd will live or die on its merits; I fear that…

> In order to fix a system, a person needs to understand it as well as be able to make a change in it. So if I follow you, it would be easier to grok the whole system if all the code was in different places?

> So if I follow you, it would be easier to grok the whole system if all the code was in different places?

Yes. Separated in documented modules that are self-contained, with well defined behavior. When your logger breaks, you fix your logger. Not your init process. When your devices are not discovered you debug udev not muddle through a code riddled with synching with ntp and so on.

Re: Why systemd?

#73
I think systemd actually clears up a loot of stuff. As the article describes.

The main thing that scares me is the binary loging format I can think of some benefits but mostly it just seams scary. I guess I will get go se later if the benifits outweighs the rest.

Re: Why systemd?

#74
post #18

Earlier quoted context omitted.

Opaque C code that sits in lots of spread binaries and some end-user documentation in man pages don't help you a lot if have to debug an issue. It's okay from a user perspective but with systemd (or other complex systems that rely on in this principle) you need to start reading c-code, start gdb, deal with dbus... if it's a toolbox of scripts a `grep -r ` is often the first step on the way to understand and learn som…

> Opaque C code that sits in 20 binaries and some man pages don't help you a lot if have to debug an issue. It's okay from a user perspective but with systemd (or other systems that rely on in this principle) you need to start reading c-code, start gdb, deal with dbus... if it's a toolbox of scripts a `grep -r ` is often the first step on the way to understand and learn something and fix the problem. What's opaque ab…

> What's opaque about Free and Open Source C code?

Opaque code is opaque. What does it have to do with Free or Open Source?

Re: Why systemd?

#75
post #42

Lots of people do not seem to understand the criticism of systemd. systemd = init system + a whole lot of other things. When people complain about systemd,they usually do not complain about what it does or how it does it in the init system part.That part is pretty solid as far as functionality is concerned. When people complain about systemd,they usually complain about the "whole lot of other things" part.Lots of peo…

This init process debate has brought out one of the worst elements of people in the FOSS community: treating some FOSS technology as an extension of their identity. Let's keep some perspective here. We are literally just talking about an init system. There are many others you can use. systemd is not taking away your freedom in any meaningful sense of the word "freedom". Debates should be about the technical merits of…

> There are many others you can use.

I understand your good motivations but just saying "it will be ok" doesn't make the problem go away. Yes I can write my own init system, that's good. Can I uninstall systemd from most system that install and depend on it by default. Write my own distro? You can't just easily plug and play it.

It is a big like the kernel. Just swapping out Linux kernel with a FreeBSD one doesn't quite work.

> system not baseless accusations that they are making a power grab.

With that I agree. Maybe to get the conversation back on track is to present a few valid technical points in response. Or just ignore it. Saying "hold up people, no fighting please" doesn't work as well in such forums.

Re: Why systemd?

#76
post #12

Earlier quoted context omitted.

> It's not like they did a hostile take over of udev. http://lists.freedesktop.org/archives/systemd-devel/2014-May... (via http://redd.it/2a2tz5 ): > Also note that at that point we intend to move udev onto kdbus as transport, and get rid of the userspace-to-userspace netlink-based tranport udev used so far. Unless the systemd-haters prepare another kdbus userspace until then this will effectively also mean that we w…

It's this kind of crap that scares me away from systemd. I have no problems working with current init structures, so I gain nothing from systemd. It basically just removes options from me, and gives me nothing in return that I actually want. What we ultimately lose with systemd is modularity. If we cannot upgrade systemd without also upgrading the kernel, then systemd might as well be considered part of the kernel.

Modularity and isolation is at the core of reliability. I think it is worthy discussion if a tradeoff beteween 30 sec and 15 sec boot time is worth that sometimes your boot process might lock up.

I think there was already at least one visible problem with systemd stepping on kernel developer's toes (so to speak) by re-using one of the debug flags.

Heck kernel is monolithic. But thinkign about it, I trust kernel developers a bit more than systemd guys. Maybe it is just a new project and it will stabilize at some point in the future. Now they are kind of shooting from the hip (adding ntp, udev, network socket pools, logging, ... ). That tells me "hello lockups and freezes" and being back in the mid 90s on Windows restarting every day.

Re: Why systemd?

#77

Earlier quoted context omitted.

The biggest problem with dropping the syslog protocol altogether is that there's a huge amount of other stuff that speaks syslog. Things like networking gear use it for the same purposes as a normal *nix box, and getting them to switch is going to be like pulling teeth. With your particular case, I'd say you should look at rsyslog and/or syslog-ng. Both of them have backends that talk with actual databases, so you ca…

Well, journald has syslog compatibility layer and can talk syslog, so supporting any existing software is not an issue. It doesn't speak syslog by itself, so it probably can't forward logs to another networked syslog server, but I don't see anything that prevents implementing this, if necessary. The point is, journald also introduces a new protocol that's oriented at logging structured data. This way it not just prov…

The problem with the journal format is that Poettering used a completely new format for doing so, instead of one of the many existing formats out there that have an excellent design for such things. He could have used something like berkeley db, or sqlite, which have been used extensively to store machine-readable data, are fault-tolerant, and small memory footprints, and would have let developers and administrators use the many pre-existing tools that exist for both database types for log analysis.

However, my philosophical problem is that there's no escape from it. I'd be perfectly happy with it existing if there was a way to turn it off, and let me use my own syslogd program in peace. Instead, I have yet another binary on my system that's running, with all of the problems that can bring, wasting cycles while I hand off log data for actual processing.

Re: Why systemd?

#78
post #16
post #13

Earlier quoted context omitted.

> However, in my mind it has made several awesome things possible. My boot time got dramatically shorter when I adopted it thanks to parallelization. Besides, daemons have now simple and robust service definitions. Sys V had become a mess! Writing daemon startup files was somehting I always dreaded, and never really did well. Before systemd, if I needed to run services I'd try to use daemontools (for auto-restart, an…

so you're saying without systemd linux isnt linux.

systemd makes Linux not Unix.

Re: Why systemd?

#79
post #64

Earlier quoted context omitted.

If there's one thing I've learned about FOSS, it's that everyone is looking for an excuse to fork things. Linux will never develop a monoculture - because someone can and will fork it. How many distributions are there? desktop environments? Package managers? Text editors and IDEs? And even zooming out of linux, there's openBSD, freeBSD, etc; If you start yelling about monoculture, isn't sysv init the worst offender f…

> There's really no reason to believe that the systemd people are malicious. You're kidding, right? http://lists.freedesktop.org/archives/systemd-devel/2014-May... http://linuxfr.org/nodes/86687/comments/1249943 http://lkml.iu.edu/hypermail/linux/kernel/1404.0/01327.html The systemd people and Lennart in particular are very open about their contempt for anything that isn't Linux + systemd and their intent to shove wh…

That last thread in particular is a case study in why people don't like systemd. Thank gods that the BFDL of Linux is a sane man.

Re: Why systemd?

#80

Am I the only one who's disgusted with this bloated, convoluted, dbus-dependent pile of crap? I mean, c'mon, binary log files? I'll pass, thanks. It replaces way more than it needed to. I prefer the BSD-style philosophy, nice, simple rc.conf, used to run Arch till it got infected with this garbage too. It slowly progressed away from it's BSD-style roots. So recently, I just gave up and moved to FreeBSD. Not a single…

Viewing the comments, no it appears you are not the only one disgusted.

I'm just glad for Slackware at this point.

Post reply on HN