Live data from Hacker News

Why Did It Take Devuan Two Years to Replace Systemd?

troubleshooters.com

51–60 of 132 posts

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#51

Earlier quoted context omitted.

> We either push back on all of them to make a more professional environment or we accept this is what we want. This is a false choice. We can choose our battles as we please.

If you like being inconsistent and tribal, then yes. You can.

There's a thing about text communication, like the kind you find on Hacker News and on mailing lists, and that is the difficulty of communicating with nuance or subtlety. I have learned not to try to use sarcasm, for example, because it often doesn't come across at all.

I'm not specifically trying to defend anyone's "retroactive abortion" comments but, there is a stark difference between reading a comment that says you (op) should be retroactively aborted, and reading a comment that says with some subtlety and nuance that you have made a bad decision and should be ashamed of making a bad decision.

The main difference? Impact. Agreed it's not a positive impact if it causes you to be totally humiliated and leave, rather than causing you to re-evaluate how you arrived at the bad choice and do better next time. But a poignant message should be making an impact, that's what makes it effective.

These people are primarily responsible for writing code, they may not be skilled at nuance or subtlety in English language, and they may view exercises of those particular disciplines as significant time-wasting sinks that they've spent too much time on with too little ROI. (From experience, I know I often write too much, and say too little!)

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#52
post #48

Earlier quoted context omitted.

It's not systemd that's the problem, it's libsystemd0. Try removing it on Stretch. It's doable [0] but it's a pain and makes future maintenance fragile and error prone. And if I understand correctly once you do so you're not running Gnome on that system anymore... [0] http://lkcl.net/reports/removing_systemd_from_debian/

Which is a purely religious problem as libsystemd0 basically does nothing if systemd is not running. Debian is a binary distribution, a lot of stuff is linked against libs you probably never use, that's just how it is.

I didn't say it was being used but the Devuan project wants it out of their distro and dependencies on it are much harder to resolve than dependencies on systemd bins.

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#53

I keep waiting for the reasoned, technical arguments against systemd instead of veiled metaphors, complaints about its creator, or protestations that it's different. The initd-inspired community has resisted the push for declarative and component-based core system infrastructure for so long, and it's causing very strange distortions to the linux ecosystem as solutions get sought for the problems it introduces. System…

I think systemd critique is misguided. The real problem is Linux. A lot of things in Linux is either bad or ancient. People are building these solutions: PulseAudio, systemd, NetworkManager, libuv, Xorg, SELinux, OpenSSH because they are forced to do so. It not like Red Hat sponsor a systemd from pure goodwill and love to mankind.

Since it is politically incorrect to criticize Linux, people attack projects that try make a positive change...

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#54
post #45

Earlier quoted context omitted.

It's not a holy war, but it does have a lot of politics, which engineers like to pretend don't exist. Here is the only solid criticism of systemd I've read that focuses on design (as opposed to bugs that surface from the sprawling throw-it-over-the-wall approach to development): http://blog.darknedgy.net/technology/2015/10/11/0/ Notably, darknedgy hosted/hosts uselessd, which was a lightweight version of systemd. On…

To some of us, the "sprawling throw-it-over-the-wall approach to development" is the problem. Particularly when they decide to reimplement services instead of using battle-hardened code, and revive old bugs that haven't been seen in the wild in years. As has happened with their DNS resolver, which was initially shipped missing measures that everyone else had shipped years ago to deter cache poisoning, and had buffer…

> CVE-2017-1000082

This was discussed here: http://www.openwall.com/lists/oss-security/2017/07/02/1

> a rare example of a real problem that was assigned a CVE number by request of someone other than the developer

It's fairly common that the security researcher requests CVE. CVE request by an affected distro (which is what happened here) isn't anything unusual either.

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#55

I mean, it is kind of strange that with one apt-get install, one apt-get purge, one apt-get autoremove, and one pinfile in /etc/apt, you can replace systemd in Debian. You'd think Devuan could just do that and redistribute or something.

The people behind devuan.org had massive problems renewing their SSL certificates, taking months(!) to do so while people wrote on the mailing lists. You know, cron is hard for a self-proclaimed "veteran admin".

What makes you think they could "just" do anything in less than several years? :^)

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#56
post #41

Earlier quoted context omitted.

All that may be true. But I prefer today writing a little file that is a systemd service than fixing up someone else's init scripts. If it is as broken as you say why was it adopted?

Because Lennart has a lot of pull at Red Hat, and Red Hat has a lot of pull in the Linux community. The BSDs have really straightforward to maintain init scripts. Mainly because all the boilerplate junk is hidden in sourced-in files. Runit takes a more advanced approach, but its service files are still simple scripts a few lines long. We don't need a reinvent-the-world solution like systemd to address the most compla…

They're straightforward because they both do less and appeal to she'll scripting to get it done.

I specifically want Turing completeness out of my configuration languages.

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#57
post #33
post #3

Sure, it might be because System D integrates so tightly with the whole ecosystem that it is hard to replace it. Or: Those folks who write rants about system d are not very active in contributing to a distribution that runs without it. With some discussions, you have that feeling that there are "those who talk, and those who do".

Or maybe we just gave up on Debian, and decided to spend our efforts somewhere else? I've been fairly vocal against systemd, and not because of Poettering. I'm no fan of the man, and I strongly agree with a lot of the points he made in his initial blog posts when introducing systemd. I think he's probably very talented---I'm not in a position to judge that. I wouldn't be against systemd if it were just an init system…

> I wouldn't be against systemd if it were just an init system. The problem is that it's not. That's the end of my argument.

All of systemd's functionality, as far as I'm concerned, is rationally motivated by wanting to orchestrate and instrument system startup in a sensible way. What functionality do you think systemd should not have that it has today? What is a better way of achieving the result provided by that functionality?

If your perspective is that you don't care about that functionality or the related user experience, and so all of its complexity is dead weight to you, OK. That makes sense. But as a software engineer and system administrator, I find the features extremely useful, and I think many other people do too. That's why systemd has been adopted by major distributions.

I wrote a comment earlier [1] about systemd that reviews Russ Allbery's analysis of systemd [2], from when Debian was evaluating switching to systemd and upstart. Russ's comment reviews a number of different systemd functions, such as its integrated journal, and then explains the pros and cons of each. Russ even said:

    Integrated daemon status.  This one caught me by surprise, since the
    systemd journal was functionality that I expected to dislike.  But I was
    surprised at how well-implemented it is, and systemctl status blew me
    away. [lots more details in linked comment]
[1] https://news.ycombinator.com/item?id=13387989 [2] https://lists.debian.org/debian-ctte/2013/12/msg00234.html

Sure, you could argue an init system "shouldn't" have an integrated journal (for example), but then you'd lose the clear benefits that Russ outlines. You wouldn't achieve the same benefits or user experience. Similarly, systemd's configuration-driven approach to service definition makes it possible to employ a wide variety of standard configuration options across all services. From my previous comment:

> I can launch my service at the appropriate time during boot with configuration as simple as:

  [Unit]
  Description=Demo service

  [Service]
  Type=forking
  ExecStart=/usr/sbin/my-daemon
> Now let's say that I didn't author this daemon, but I'd like to run it with a private network, private temp folder, or a private /dev namespace. Or perhaps the daemon needs to run as root, but I want to drop all capabilities it doesn't need. It's as simple as adding these lines to the service's configuration:

  PrivateTmp=yes
  PrivateDevices=yes
  PrivateNetwork=yes
  CapabilityBoundingSet=CAP_NET_BIND_SERVICE
> The fact that systemd supports these configuration options means that there's a simple and standard way to employ them with any service. The service itself doesn't need to support them, and needn't complicate its own daemonization logic to do so correctly. Indeed, I don't need to trust the service to daemonize or drop capabilities, since I can tell the init system do that before launching the service.

> I can drop capabilities with CapabilityBoundingSet=, or limit resource usage with CPUSchedulingPriority=, IOSchedulingPriority=, etc. I could even tell systemd to open the listening socket for me so the service doesn't need CAP_NET_BIND_SERVICE! Moving these options into the init system makes a ton of sense, because it gives administrators the ability to employ these features from outside applications, not just by enabling them within applications that bother to explicitly support them via command line arguments. Systemd better encourages the principle of least privilege: if a system daemon does not need the ability to "ptrace" other processes, or bind to ports <1024, then as the administrator I can take those away with CapabilityBoundingSet= in the unit file. Chrooting the service is as easy as RootDirectory=. This is a huge step forward compared to the world where every service must be relied upon to expose these settings, and must be trusted to implement them correctly.

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#58
post #39
post #21

Earlier quoted context omitted.

Let's get something distinct: Linus is like Gordon Ramsey.. If you should know better and you do junk work then you will be shit on. I've seen Linus handle people numerous times who are learning or do not claim to be experts and he is always respectful, civil and a lot less blunt. Not to mention the fact that when Linus is shitting on people it's often because they broke something for the "user"[0]. Lennart is not th…

>If you should know better and you do junk work then you will be shit on. >times who are learning or do not claim to be experts That makes no sense. If _Linus_ thinks you should know better is not the same as "they claim to be experts". According to you, who has claimed to be an expert and demanded that Linus should listen to them? >and has a _huge_ ego. Sounds a lot like Linus Torvalds. >I have an ego the size of a…

It seems like Linus tends to be rude to the right people, while Lennart is rude and dismissive of anyone who disagrees with him, regardless of who they are.

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#59

Say I want to create an independent, 100% compatible implementation of systemd which can just drop-in to any systemd installation, no matter how it is configured and have it work? Where can I download the precise set of requirements for this, so that I don't have to peek at the systemd source code? What is systemd?

Say I want to create an independent, 100% compatible implementation of Linux which can just drop-in to any Linux installation, no matter how it is configured and have it work?

Where can I download the precise set of requirements for this, so that I don't have to peek at the Linux source code?

What is Linux?

Really, this doesn't make sense.

Re: Why Did It Take Devuan Two Years to Replace Systemd?

#60

Earlier quoted context omitted.

One of the main problems was the speed with which systemd was rolled out on all the major Linux distros, despite it being relatively immature and very controversial at that. The second major issue is it growing way out of the bounds of being just an init replacement, thereby violating the so-called Unix Philosophy of doing one-thing well. For a user app to do that is one thing, but for a core OS component to do that…

The second major issue is it growing way out of the bounds of being just an init replacement, thereby violating the so-called Unix Philosophy of doing one-thing well. I keep on hearing this overly worn "Unix Philosophy" argument against systemd, which in the absence of any non-religious technical justification, basically boils down to "its different". All of this adds up to a storm of controversy that the systemd peo…

> There are many distributions out there (including Devuan) which align with their particular vision of an OS should be.

None of which are used in many companies.

I'm pushing my company to go to FreeBSD, but there are many who are completely powerless.

"Oh you don't like systemd, better not work on any Linux systems in any company" is the basic gist of what this means.

Post reply on HN