|
|
Subscribe / Log in / New account

Debian looks at OpenRC

Debian looks at OpenRC

Posted Aug 26, 2012 0:17 UTC (Sun) by HelloWorld (guest, #56129)
In reply to: Debian looks at OpenRC by rleigh
Parent article: Debian looks at OpenRC

> The tight-coupling between components which systemd is encouraging and requiring is something which, for those who remember back then, we used to criticise Microsoft for, due to their inability to dig themselves out of the rut such philosophy had led to, being unable to fix even trivial bugs due to fixing them breaking old code. It leads to inflexible systems which can't change, whereas loosely-coupled systems, which Linux has had until now, allow components to be easily swapped out and changed providing that the interfaces between the components are relatively well specified.
Systemd's interfaces are perfectly well-specified.
http://www.freedesktop.org/wiki/Software/systemd/Interfac...
They're also relatively simple and portable, so that other init-like software can use the same interfaces for e. g. socket activation. I'm sorry, but I don't see your point at all.

> The loose coupling does have the disadvantage that components aren't necessarily as well integrated, but this hasn't really been a problem in practice--the benefits far outweigh these downsides,
That's an easy claim to make given that you provide no arguments to back it up and it's thus essentially impossible to refute. I can't help noticing though that the successful desktop operating systems do apply a well-integrated approach.

> An example is the requirement for stuff like cgroups, autofs, D-Bus etc. Having these as a requirement, rather than merely being optional and used if available, imposes constraints on other projects. cgroups can never be removed from the kernel, and distribution kernels must include it.
Systemd doesn't strictly require autofs. cgroups are needed, but why would you disable them? The overhead is negligible if you disable all cgroup controllers, none of which are required for systemd. There's also nothing wrong with systemd's use of D-Bus. It doesn't require running dbus-daemon, and there's nothing wrong with the protocol; in fact, it would have been brain-dead to use anything else, we don't need yet more NIH syndrome on the linux desktop.

> So it indirectly forces other parties not to allow certain components to evolve or be removed.
By that logic, every kind of code reuse is bad because it forces the code that is being reused to keep a stable interface. I'm sorry, but that's downright bullshit. If the cgroup stuff is actually so bad that the kernel folks want to remove it again, it shouldn't have gone in in the first place. They've made their bed, now they must lie in it. And besides, systemd is by no means the only program that uses cgroups.

> If systemd was a bit less aggressive in its strict requirements, it would be rather more portable
Every Unix-like OS ships its own init system: SMF, launchd, BSD init etc.. Do you actually expect any of those to give up their init system in favour of systemd? I certainly don't, thus making systemd portable would be a waste of time.

> Systemd certainly has a lot of good ideas, but the package as a whole is does not allow one to pick and choose the good from the bad due to its lack of modularity.
This is yet more nonsense, systemd is quite configurable. Just look at its configure script...


to post comments

Debian looks at OpenRC

Posted Aug 30, 2012 18:04 UTC (Thu) by gvy (guest, #11981) [Link] (2 responses)

> I can't help noticing though that the successful desktop operating
> systems do apply a well-integrated approach.
In marketing (and sometimes in plain deception), that is.

> cgroups are needed, but why would you disable them?
e.g. I see no reason for them (and the system in question isn't the one where stray processes are welcome in the first place).

> There's also nothing wrong with systemd's use of D-Bus.
...but http://secunia.com/advisories/search/?search=dbus

> And besides, systemd is by no means the only program that uses cgroups.
Do you know the difference between PID 1 and a bunch of other processes, Mr. Downright Downplayer?

> thus making systemd portable would be a waste of time.
What about accepting patches?

>> modularity.
> its configure script...
Next time you buy bread hope they won't suggest you a grocery shop instead; but if they accidentally do, please make a mental note that it isn't you asked for.

What is irritating in the crowd touting systemd is that viral "who would need this or that?". You never know in advance. Just ask Linus if you haven't read the story already: did he anticipate an Alpha port, or Beowulf clusters, or even thousands of users at the outset? And yet this egocentric upstream -- which is churning out a lot of code indeed -- damaged their heads enough so as to think that they can decide for the rest of us.

They can't.

Heck, I've suggested this article in the distro's devel mailing list just in case OpenRC might get considered and found useful -- we thoroughly dislike an idea of running systemd at servers.

Debian looks at OpenRC

Posted Aug 30, 2012 18:24 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

> e.g. I see no reason for them (and the system in question isn't the one where stray processes are welcome in the first place).
So you prefer to blindly trust all daemon developers that they correctly process all the shutdown requests and won't hang your box during restart?

For example, BIND had a bug where it hangs indefinitely on exit if DNSSEC is used. Doubly nice on a remote server, especially if init kills sshd first. And yes, that caused me a real-life 4am trip to our datacenter to press the "reset" switch.

>> There's also nothing wrong with systemd's use of D-Bus.
>...but http://secunia.com/advisories/search/?search=dbus
Systemd uses dbus for communication between trusted processes as a simple form of RPC. It can run totally fine without system-level bus.

>> thus making systemd portable would be a waste of time.
>What about accepting patches?
Has anyone actually bothered to create a compat patch for systemd?

>Heck, I've suggested this article in the distro's devel mailing list just in case OpenRC might get considered and found useful -- we thoroughly dislike an idea of running systemd at servers.
Why? Because of various phobias?

Debian looks at OpenRC

Posted Aug 31, 2012 20:16 UTC (Fri) by HelloWorld (guest, #56129) [Link]

> e.g. I see no reason for them
So what? They won't interfere with your work if you don't need them, the overhead is negligible, so please, just name *one* sensible reason for disabling cgroups. Btw, file permissions are also totally useless on my wireless router, so why doesn't anybody complain because you can't disable those? Because they don't harm anything either.

OTOH, there is a reason for enabling cgroups they're needed to reliably terminate a service, including all its children. Perhaps you don't need that, but many others (like Cyberax) like that ability.

> ...but http://secunia.com/advisories/search/?search=dbus
Yeah. So how many of those redundant are reports because dozens of different distros ship the same fix for the same problem? How many of them affect d-bus-related stuff that isn't required for systemd (dbus-daemon, dbus-qt, dbus-glib etc.)? How many are made irrelevant by the fact that you need root permissions to even connect to systemd's sockets? Can you even name *one* real problem, that was caused by systemd's use of dbus, security or otherwise?

> Do you know the difference between PID 1 and a bunch of other processes, Mr. Downright Downplayer?
rleigh's original argument was that systemd shouldn't make use of cgroups because then it's hard to remove/modify them if they turn out to be a bad idea. In that context, whether the PID is 1 or something else doesn't make any difference whatsoever.

> What about accepting patches?
What for? As I said, other operating systems already have their own init systems and it's unlikely they'll switch to systemd (the BSDs aren't exactly famous for loving the LGPL). OTOH, making systemd portable will likely compromise its maintainability. It's all pain and no gain.

> What is irritating in the crowd touting systemd is that viral "who would need this or that?".
systemd can do everything sysvinit does and more. Nobody stops you from launching a shell script from a systemd unit if that is really what it takes, but systemd units cover the vast majority of cases just fine and they're easier to write and not as ridiculously inefficient as shell scripts.

> we thoroughly dislike an idea of running systemd at servers.
And yet you completely failed to name any sensible reason for that conviction.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds