Live data from Hacker News

Why systemd is winning the init wars and other things aren't

utcc.utoronto.ca

141–150 of 158 posts

Re: Why systemd is winning the init wars and other things aren't

#141
post #138

Earlier quoted context omitted.

Yes we apply updates after testing them . MS11-100 was the only breaking change we've had in 10 years and we picked that up in test no problems at all and knew about it as we read about it before applying the patch in the KB article that accompanied it. Did you know Ubuntu LTS releases shipped buggy and broken MySQL versions multiple times? We caught them in testing. Canonical haven't fixed MySQL in 10.04LTS yet. No…

I never seen any statistics about bootnets hosted on rooted Debians. I also remember that in Metasploit framework the number of exploits targeting windows is incomparable larger than Linux related. The last time I made a firewall it was OpenBSD/spark64 based, and I think it is still in production. I never used Debian or Ubuntu as a server. There are Centos or RHEL for that, and I am capable to recompile and repackage…

Likewise I don't understand your POV -- in fact I think you're spouting rubbish much as most advocates seem to. I've been dealing with Windows, Linux and BSD systems for 20 years and there's really not much in it between them.

The bad rep Windows gets is from idiot users clicking Ok. If we had user friendly OpenBSD desktops with idiots pushing the buttons we'd have the same statistic with a different OS.

The brand doesn't matter - the fundamental problems are the same.

Re: Why systemd is winning the init wars and other things aren't

#142
There are _numerous_ problems with the argumentation being used here. Starting from the top, the first one is actually kind of silly.

"none of these alternate init systems did the hard work to actually become a replacement init system for anything much."

This conveniently overlooks whether or not there was any reason to do so. The scope of "classic" init is very simple. Its scope is well defined. It amounts to "start and stop the services when they're supposed to be started and stopped" and that is _all_. Those other init systems mentioned all expanded the scope of the problem of starting and stopping service a bit further, but only a tiny bit along the lines of deciding whether a county border should be on one side of a twisty creek or the other--in practice, very few people even care. Systemd expands its scope by _miles_ and strides boldly forth as a proud example of _scope creep_.

The bulk of the rest of the argument amounts to "Well, systemd did all this hard work!". This isn't KINDERGARDEN. Its insane to argue that people should be giving systemd a free pass simply because the developers _worked really hard on it_. All those edge and corner and simply misbehaving daemon cases aren't things systemd should be more than peripherally concerned with--they're things to push back on the original developers to fix from the start, and in the meantime those workarounds should be held in their proper regard... as _workarounds_, not major features, because again... _scope creep_.

Lastly, while they're busy giving systemd points for trying real hard and solving a bunch of problems that it shouldn't be bothering with, they ignore the fact that systemd was busily creating _new_ problems... but I'm sure they'll also credit systemd for solving those as well. Specifically Poettering himself recently posted about a "bug" with apparent filesystem corruption caused by systemd failing to properly unmount a filesystem when it's upgraded... during which at some point they appear to have decided that PID 1 is some mystical holy number (which it is _not_) and that going back to the initrd the system booted with is a completely fine and reasonable thing to do, and that it is not, in fact, a sign that one has seriously painted themselves into a corner. They're essentially arguing that they didn't paint themselves into a corner because they're standing in the middle of a long hallway... surrounded by paint... and that the real problem is the lack of roof access.

It's a _huge_ workaround for what is simply not a problem for a small, simple initd that _only_ handles a small, well-defined problem and handles it correctly.

...but you pro-systemd people enjoy having to explain why half the core system functionality has to stop whenever you have to upgrade any of it. The rest of us will continue to use systems that do what they're supposed even while being upgraded.

Re: Why systemd is winning the init wars and other things aren't

#143
post #141

Earlier quoted context omitted.

I never seen any statistics about bootnets hosted on rooted Debians. I also remember that in Metasploit framework the number of exploits targeting windows is incomparable larger than Linux related. The last time I made a firewall it was OpenBSD/spark64 based, and I think it is still in production. I never used Debian or Ubuntu as a server. There are Centos or RHEL for that, and I am capable to recompile and repackage…

Likewise I don't understand your POV -- in fact I think you're spouting rubbish much as most advocates seem to. I've been dealing with Windows, Linux and BSD systems for 20 years and there's really not much in it between them. The bad rep Windows gets is from idiot users clicking Ok. If we had user friendly OpenBSD desktops with idiots pushing the buttons we'd have the same statistic with a different OS. The brand do…

Let's say that I am very sceptical about any proprietary bloatware pushed by big money and developed by outsourcers on a payroll. I also do not believe in the myth that these corporations employ more talent that is behind some selected open source projects and startups. In Russia where traditionally IT is heavily dominated by Windows and now Java and SAP, I have seen enough, and it is what biased my POV.)

Re: Why systemd is winning the init wars and other things aren't

#144
post #141

Earlier quoted context omitted.

Likewise I don't understand your POV -- in fact I think you're spouting rubbish much as most advocates seem to. I've been dealing with Windows, Linux and BSD systems for 20 years and there's really not much in it between them. The bad rep Windows gets is from idiot users clicking Ok. If we had user friendly OpenBSD desktops with idiots pushing the buttons we'd have the same statistic with a different OS. The brand do…

Let's say that I am very sceptical about any proprietary bloatware pushed by big money and developed by outsourcers on a payroll. I also do not believe in the myth that these corporations employ more talent that is behind some selected open source projects and startups. In Russia where traditionally IT is heavily dominated by Windows and now Java and SAP, I have seen enough, and it is what biased my POV.)

Oh I agree entirely with you there.

Forget the words bloatware, outsourcers and money for a minute...

Surprisingly it's rarely the core products of the companies that are problematic. It's usually the army of consultants and cash backhanders (the enterprise lot) who come wading in to pillage everyone. That's where the bad rep comes from. They build half-arsed products on top of these platforms which everyone comes to hate.

Regarding open-source talent; much as it is anywhere else, it's hard to come by. In fact a lot of the open source software out there is considerably worse than the closed source stuff that I've seen over the years. There are a few gems here and there for example the FreeBSD operating system, LLVM, valgrind, postfix, postgresql etc but the vast majority is total half-baked shit. I include a big chunk of GNU in that as well which is shameful.

The vast majority of commercial software is total shit too.

Regardless of that, the core of Windows and even Java (but not SAP - I've had my fair share of integration there) are good products. Just don't go and grab piles of enterprise integration junk on top and it's fine.

That, IMHO, is where all the pain comes from and why people have such hatred.

Hatred is infectious as well. It takes experience to distinguish justified hatred and rumors.

Re: Why systemd is winning the init wars and other things aren't

#145
post #111

Earlier quoted context omitted.

And there you exactly pinpoint the problem. The FLOSS movement used to be about caring about other people and projects. RedHat* and its employees only give a damn about their use-cases and the rest of the "community" can go to hell. Which, of course is a logical stance to take for any corporation, however how easily everyone goes along with it is just appalling. *this, of course, goes for every corporate entity, thou…

Everyone "goes along with it" because they've evaluated it and decided it fits their uses cases too. Redhat does not have the power to force anyone to adopt systemd.

And yet they do. They pay enough developers working on enough big projects to have the power to force adoption (not to mention the sponsoring of various other things, like infrastructure). By making it a hard dependency of Gnome for example (which in itself has turned into a 3rd-party developer hostile project, but that is another discussion entirely, but if you care, go read IgnorantGuru's bloggins)

So they're using end-user pressure (no systemd = no Gnome) to force adoption.

Re: Why systemd is winning the init wars and other things aren't

#146
post #50

Earlier quoted context omitted.

Not to devalue systemd, but I suspect that a lot of Unix problems could be solved if Unix offered a better general-purpose solution for gluing things together other than "big brittle masses of shell scripts". In particular, shell itself is an ugly mess of weird syntax, gotchas, and corner cases.

Granted, init-related scripts have become complex along the years, but we may argue that happened because of the same type of reasoning that's now justifying the move to systemd: the need to do everything in one place and automagically. You know, even if I would agree with you that "shell itself is an ugly mess of weird syntax, gotchas, and corner cases" that doesn't preclude init scripts from being redone in somethi…

Towards the idea that you can write them in another language, we in the Perl community ended up developing something of that nature[1]. It was originally intended to make writing daemons in Perl easier by pulling out common functionality (double fork and such), and giving a consistent clean interface. One of the bigger requested things was the ability to use it as basically the entire init script ([2] for an example).

[1] https://metacpan.org/pod/Daemon::Control [2] http://hashbang.ca/2012/04/16/wherein-i-realize-the-bliss-of...

Re: Why systemd is winning the init wars and other things aren't

#147
post #105

Earlier quoted context omitted.

Do you have any idea how much code is in the kernel? If any line crashes it takes the whole system with it. Doesn't seem terribly smart, does it? And yet the whole world uses Linux instead of Minix. Systemd is splitted out into multiple processes.

I think what the parent is getting at is that, even though there are many daemons and tools that make up systemd (and even though they are each scoped to a particular concern it addresses), most of them are tightly coupled to one another. To run logind, for example, I need systemd to run as PID 1. This monolithic architecture is unsettling in the long term--it raises the barrier to entry for independent innovation in…

You could say the same thing about the Linux kernel, yet it hasn't stopped improving.

Re: Why systemd is winning the init wars and other things aren't

#148
post #77

Earlier quoted context omitted.

Systemd can run without being pid 1. In fact, systemd can run without being root, and by default systemd now starts a systemd user instance when a user session is started (there's a pam module to do this), or you can run systemd with "--user". So if anyone wants to run systemd as a process monitor like Daemontools, separate from pid 1, they can do so. But there are technical reasons for systemd to run as init: A key…

"But there are technical reasons for systemd to run as init: A key feature is to precisely track whether or not a service is running or not" This is not true. Tracking a running service doesn't require being init. Any process can do it. "sysv init can not do this." Nor should it. Services running under sysV init can, however. "More importantly, since there's no ordering or dependency control" Yes, there is -- it's im…

Great comment.

The thing that strikes me as the very weirdest about all of this is that many of the systemd proponents seem to be incredibly animated and aggressive about systemd, but most of their arguments are either non-technical or completely wrong. Like, what's the motivation? Why have so many people gotten to this mentality?

Re: Why systemd is winning the init wars and other things aren't

#149
post #130

Systemd is winning because it makes a Linux system to a modern one. The time where you compiled your own Linux kernel with the drivers you needed and got a static system are gone. The Linux kernel now works in a plug and play way. Block devices for instance can always pop up, not only after you wait and arbitrary amount of time at boot for all devices. The idea that the traditional unix process separation is enough i…

fallacy #23: argumentum ad novitatem

I'm not claiming that hot-plug is better, but that hot-plug is the status quo of the kernel. Modern here means that it integrates well with a modern linux kernel.

Also grouping processes together and isolating them is not really new but a proven technology (FreeBSD jails, virtualization). It's also pretty hard to argue against that the knowledge about security of unix systems didn't increase.

The irony about the fallacies is that just throwing them around even without writing a sentence goes against the very nature they were conceived in. The corresponding counter-question would be: "Why is modernity here something good?", but that question is already answered in the post to begin with.

Re: Why systemd is winning the init wars and other things aren't

#150
post #31

Earlier quoted context omitted.

systemd runs as pid 0 so that it can relaunch processes when they die. If it were not pid 0, something would have to be managing it, which just leads to a "turtles all the way down" scenario. I'm not sure what you mean by "disconnecting from dbus," but I do know that some services require the d-bus service to be started before they run. A good init system must handle that. Similarly, a good init system needs to handl…

If a process dies I would rather it stay dead. Can systemd monitoring and auto-restart be globally disabled?

Since there's different needs (I ansolutely really want my bind, httpd, crond and others to restart when they die - I have no desire to log in and do that manually), you just opt in to the auto restarting in the .service file - systemd does not restart anything by default.
Post reply on HN