Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 17 submissions in the queue.
posted by janrinok on Tuesday August 19 2014, @12:04PM   Printer-friendly
from the you-either-love-it-or-hate-it dept.

The good people over at Infoworld have published a story outlining why they feel systemd is a disaster.

Excerpt from Infoworld:

While systemd has succeeded in its original goals, it's not stopping there. systemd is becoming the Svchost of Linux—which I don't think most Linux folks want. You see, systemd is growing, like wildfire, well outside the bounds of enhancing the Linux boot experience. systemd wants to control most, if not all, of the fundamental functional aspects of a Linux system—from authentication to mounting shares to network configuration to syslog to cron. It wants to do so as essentially a monolithic entity that obscures what's happening behind the scenes.

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Insightful) by NCommander on Tuesday August 19 2014, @02:10PM

    by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Tuesday August 19 2014, @02:10PM (#83078) Homepage Journal

    There are legitimate design issues with the X11 protocol that makes things much more difficult than they should be. THe reason screen flicker is such a problem on Linux is due to this in part. With Wayland, the problem is the improvements can only been seen by those familiar with X11 and its "pitfalls", a pretty good explination is available on Phoronix [phoronix.com]

    My problem with systemd is its upstream is an ass in the sense of "the my way or the highway". Unlike most folks, I actually find PulseAudio tends to improve life vs. make it more painful (but I use bluetooth headphones a lot; try making those without Pulse (aka, raw ALSA) and not ripping your hair out), but I accept the initial implementations were half-baked, and there are still a lot of issues though I see this more a fact that sound on Linux is braindamaged more than anything else (ALSA's APIs are horrorifying to say the least; given OSS is now GPLv2 licensed, I *really* wish the kernel folks would at least consider a move back).

    Personally, I never understood the obsession with cold boot time; in Ubuntu, before we had several dev cycles focused on it, our boot time was ~30-45 seconds. I *kinda* get the point of it, but I feel that if a user has to reboot more than once a month (for kernel upgrades/etc), then we've done something wrong. In the server space, you usually have 5-10 minutes of firmware time dealing with RAIDs/SCSI/etc on a cold reboot before the OS even gets a crack at starting up. Now, I do agree sysvinit was getting long in the tooth; it was far too easy to hang a system due to dependency loops and such; I love when a system failed to boot because the network was down, and Canonical took up the challenge with upstart, written primarily Scott James Remnant, which was fully sysvinit compatible, a drop in replacement for init (something launchd, the other candidate wasn't), and it does one job and does it well.

    I don't think I've ever seen anyone complain about upstart at any significant length. I was truly sad that Debian chose to adopt systemd, but I don't think they had much choice int he matter; they don't have the resources to patch GNOME and other userspace stuff that wants to depend on systemd. I accept a lot of things systemd is trying to fix, like logging, is stuff that could be improved, but you improve it by patching rsyslogd, not putting it all in PID 1. Honestly, at this point, I think the only thing that's going to kill this brain damage is if Linus does something insane to replace it, but systemd has RH backing it all the way, and doing everything to entrench it as much as possible.

    --
    Still always moving
    Starting Score:    1  point
    Moderation   +1  
       Insightful=1, Total=1
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 0) by Anonymous Coward on Tuesday August 19 2014, @02:23PM

    by Anonymous Coward on Tuesday August 19 2014, @02:23PM (#83084)

    I wonder: X11 was a successor of X10. So why not simply make an X12 which fixes the main problems of X11 while keeping the good parts of X?

    • (Score: 3, Informative) by forsythe on Tuesday August 19 2014, @02:37PM

      by forsythe (831) on Tuesday August 19 2014, @02:37PM (#83093)

      That thought [x.org] has been tossed around a bit. I would be heavily in favor of it. Unfortunately for me, it looks like most recent effort is going into Wayland.

    • (Score: 2) by tangomargarine on Tuesday August 19 2014, @04:31PM

      by tangomargarine (667) on Tuesday August 19 2014, @04:31PM (#83154)

      For those not wanting to Google it themselves, X11 was released in September 1987. X11 actually refers to the protocol it uses to get stuff done so if we were to follow the naming terminology X12 would be a protocol that may not be backwards-compatible (?).

      Doesn't sound like a bad idea to me.

      --
      "Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
    • (Score: 2) by No.Limit on Wednesday August 20 2014, @11:33AM

      by No.Limit (1965) on Wednesday August 20 2014, @11:33AM (#83487)

      From NCommander's link (1st page bottom) [phoronix.com]:

      XI) “But Eric, if X11 is so terrible why not just make X12 rather than a whole new protocol?” They did, technically anyway: http://www.x.org/wiki/Development/X12 [x.org]

      One big problem with keeping it under the “X” umbrella: Anyone who cares about X would have a say in a future version of it. By calling it “Wayland” they avoid that issue. No one cares. Its an unrelated project, they (the developers) can do what THEY want with their future display server, the people who care about X can go to make X12.

      Really good article, very recommendable.

  • (Score: 1) by cesarb on Tuesday August 19 2014, @02:56PM

    by cesarb (1224) on Tuesday August 19 2014, @02:56PM (#83101) Journal

    I *kinda* get the point of it, but I feel that if a user has to reboot more than once a month (for kernel upgrades/etc), then we've done something wrong.

    Think desktops.

    Arrive at work at morning, turn desktop on. Leave work at night, turn desktop off.

    Also for laptops, if you're not going to use it for more than a few hours, it's better for the battery to turn it off completely.

    I accept a lot of things systemd is trying to fix, like logging, is stuff that could be improved, but you improve it by patching rsyslogd, not putting it all in PID 1.

    The logging (systemd-journald) lives on a different PID, not PID 1.

    • (Score: 1) by cout on Tuesday August 19 2014, @03:08PM

      by cout (4526) on Tuesday August 19 2014, @03:08PM (#83110)

      And what do you do when you need to log something before the logger daemon has been started?

      I have as strong a distaste for the systemd monolith as the next guy, but I kinda see why the devs are wanting to move in that direction. It's wrong, but natural.

    • (Score: 3, Informative) by NCommander on Tuesday August 19 2014, @03:30PM

      by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Tuesday August 19 2014, @03:30PM (#83121) Homepage Journal

      Thanks for the correction on what goes in PID 1, systemd isn't QUITE as abraindead as I thought it is, but I've recently had my first RL experiences with it on Fedora (helping a friend managle postfix into working), and it managed to cause nothing but frustration in detecting new service files, and then confirming they run. I don't understand how it can be hard to do any of this; half the time, I was fighting systemd to get shit to properly enable (not knowing I had to tell it to rebuild its internal index), and then getting misleading messages from status.

      What a mess.

      --
      Still always moving
    • (Score: 0) by Anonymous Coward on Tuesday August 19 2014, @03:49PM

      by Anonymous Coward on Tuesday August 19 2014, @03:49PM (#83129)

      Arrive at work at morning, turn desktop on. Leave work at night, turn desktop off.

      Solved by a working hibernate to disk. Arrive at work, hit "on" button, unhibernate, work.

      Leave at night, hibernate back to disk, power down, wait for morning.

      Also for laptops, if you're not going to use it for more than a few hours, it's better for the battery to turn it off completely.

      Also solved by a working hibernate and working suspend.

      Am I going away from it for 60 minutes - hibernate to disk.

      Am I powering it off to take it through TSA's body cavity search? Hibernate to disk.

      The solution is not to "cold boot faster". The solution is "never need to cold boot, ever".

      If all this effort spent on rewriting an init had been spent on fixing issues with suspend/hibernate, image where Linux's suspend/hibernate would be now.

      • (Score: 5, Funny) by forsythe on Tuesday August 19 2014, @05:07PM

        by forsythe (831) on Tuesday August 19 2014, @05:07PM (#83169)

        If all this effort spent on rewriting an init had been spent on fixing issues with suspend/hibernate, image where Linux's suspend/hibernate would be now.

        Tongue in cheek, I can imagine. We'd have ``hibernated'' running on PID 1 and it would be slowly engulfing cron, video drivers, input devices, udev, network management, and a host of other things. I don't think I want ``all this effort'' to be spent on anything close to what I use, actually. Effort is good, but not this effort.

      • (Score: 0) by Anonymous Coward on Tuesday August 19 2014, @05:37PM

        by Anonymous Coward on Tuesday August 19 2014, @05:37PM (#83179)

        That's YOUR solution(*). Not everone elses.

        *) and currently mine as well. this thing wakes up from suspend under a second. if hibernate was an option i'd rather reboot since 16 gigabytes is a whole lot of shit to read from disk.

        • (Score: 0) by Anonymous Coward on Tuesday August 19 2014, @11:34PM

          by Anonymous Coward on Tuesday August 19 2014, @11:34PM (#83289)

          if hibernate was an option i'd rather reboot since 16 gigabytes is a whole lot of shit to read from disk.

          Except that, unless you are doing something really weird, most of that 16gigabytes is cached filesystem data. So step one in a hibernate is: sync dirty disk caches out to their backing files. After syncing all the cached filesystem data, what's left to actually write to disk is often far less data than 16G (on the order of 2-4G). That's a lot faster than a reboot, which entails restarting your "desktop" (in whatever form it is) as well as restarting any running programs and getting back to where you were in those running programs.

          • (Score: 0) by Anonymous Coward on Saturday August 23 2014, @07:18AM

            by Anonymous Coward on Saturday August 23 2014, @07:18AM (#84618)

            Even 2-4GB is a gargantuan amount of data. Not only the actual working set of whatever you are doing is way less than that but most of it is also redundant. If we didn't have as braindamaged systems as we do, the computer could very well boot "instantly" to the point where you could continue doing whatever you were when you shut it down. You've just learned to accept that it doesn't.

            Heck, even PCs used to do that pretty fast at some point. The slowest part might have very well been turning on the CRT since it needed some physical warm-up time to be usable.

  • (Score: 2) by VLM on Tuesday August 19 2014, @03:00PM

    by VLM (445) on Tuesday August 19 2014, @03:00PM (#83106)

    No coincidence the two lines below are found in the same post about upstart. They should have just stolen the name and started calling themselves "sysvinit 2.0"

    "it does one job and does it well."

    "I don't think I've ever seen anyone complain about upstart at any significant length."

    There are some architectural issues with upstart. The vulnerability and reliability surface of "lets run us some bash scripts" is immensely smaller and better debugged and better reviewed than a big ole event driven state machine, so its inherently always going to be worse than sysvinit for all tasks other than rebooting quickly which isn't an issue anyway. Then again the bash scripts have their own interesting surface of vulnerability and NIH and repeated (sometimes buggy) implementation of the same tasks so the net result is probably about as bad. Or the TLDR is the security problems with upstart are not likely to be worse overall than bash scripts, but would be somewhat different.

    The systemd guys need to read this line from the upstart docs

    "This design is sensible and clean: the init system itself must not be compromised since if it fails, the kernel panics. Therefore, any functionality which is not considered "core" functionality is farmed out to other daemons."

    And realize the only thing worse than a kernel panic is getting owned. Trying to shove more eggs in one basket, systemd style, is just dumb from a security perspective. And now they want to wedge logging in there to make it harder to trust the logs when you get owned. Thats great. Just great. I'm sure the KGB wants all IDS and firewall stuff in there too. Its almost like the NSA or the .ru people or microsoft are paying the systemd people to screw security up.

    Fundamentally init of whatever system is just a batch operations queueing system where some jobs run forever, others are restarted, others run after other jobs successfully complete, etc. This is not exactly new tech in IT land. Someone should unify that experience between system and user (preferably without including emacsd and syslog and probably a mp3 player like the systemd guys would do) and make a really good universal batch system. A really good batch system in all machines would be quite helpful in my line of work because I just end up installing "torque" or something anyway on my data-processor-nodes. I am pretty sure torque would not be the ideal /bin/init replacement, given how well it jams itself and how poorly it recovers from problems, but the general idea stands. Or rephrased upstart could be hacked into a weirdly usable batch processing system in userspace. Every time I swear at torque I'll think of how I'd rather be using some userspace variant of upstart. Likely because upstart hasn't crashed and jammed and pissed me off (although in production with random user submitted jobs maybe it would)

    • (Score: 2) by WillR on Tuesday August 19 2014, @03:15PM

      by WillR (2012) on Tuesday August 19 2014, @03:15PM (#83114)
      Really? From where I sit (admittedly not a developer or a packager), a hundred bash scripts that persist in a given distro for years (maybe decades) with only minor revisions, that are all run with root privileges at every boot, and that only one or two maintainers really understand looks like an absolutely huge attack surface...
      • (Score: 4, Insightful) by VLM on Tuesday August 19 2014, @05:18PM

        by VLM (445) on Tuesday August 19 2014, @05:18PM (#83173)

        LOL thats kind of the point, if bash has a priv esc hole, its going to be found probably well before it becomes an "init system" issue. Also if it has a hole it was probably found in December of 1995 which is great seeing as I've kept up with patches since them. Systemd, probably none of the above. You'll find your bugs the hard way.

        "that only one or two maintainers really understand" No they're not that hard. And fairly well standardized. Much simpler to learn and understand than the internals of the replacements. Which is scary.

      • (Score: 4, Funny) by mrider on Tuesday August 19 2014, @07:31PM

        by mrider (3252) on Tuesday August 19 2014, @07:31PM (#83211)

        a hundred bash scripts that persist in a given distro for years (maybe decades)

        Because all-new code is bug free, while old code accumulates bugs like barnacles.

        --

        Doctor: "Do you hear voices?"

        Me: "Only when my bluetooth is charged."

    • (Score: 2) by NCommander on Tuesday August 19 2014, @03:23PM

      by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Tuesday August 19 2014, @03:23PM (#83118) Homepage Journal

      There are legitimate problems with sysvinit, specifically, dependency tracking is a hack and fragile at best, requiring ordering by hand to make sure things come up right. A dependency based system like launchd/upstart is worth it in my opinion since it drastically reduces boot fragility. Upstart DOES have some issues (try using Ubuntu in a chroot without replacing initctl with /bin/true), but all things considered, it was the "right" approach. Debian experimented with replacing sysvinit with upstart, and nearly did so right about the time systemd started becoming a thing.

      Once I'm free and clear of professional obligations, I'm going to take to running FreeBSD for awhile, and try to get some perspective on things.

      --
      Still always moving
  • (Score: 1) by cout on Tuesday August 19 2014, @03:05PM

    by cout (4526) on Tuesday August 19 2014, @03:05PM (#83108)

    I agree that the big benefit of pulseaudio is bluetooth support. But I'm yet to use any bluetooth device under desktop linux in A2DP mode that doesn't drop out due to overflow. And while that's likely the fault of bluez or blueman or whatever and not pulseaudio, it means that bluetooth support isn't a particularly convincing argument for me to have all the additional latency imposed by pulseaudio.

    • (Score: 2) by NCommander on Tuesday August 19 2014, @03:28PM

      by NCommander (2) Subscriber Badge <michael@casadevall.pro> on Tuesday August 19 2014, @03:28PM (#83119) Homepage Journal

      A lot of the experience is just being able to sanely reroute audio from point to point; on my desktop, sending some streams to headphones while other to HDMI is a breeze with pulse. The fact though is we shouldn't need pulse to do this, almost everything pulse does with the exception of network audio routing can be done directly by ALSA; the problem is the API is poorly documented, and what few tools are even worse. In my little bubble of the world though, pulse has been relatively trouble free, and it does solve some actual problems.

      --
      Still always moving
      • (Score: 2) by Nerdfest on Tuesday August 19 2014, @04:04PM

        by Nerdfest (80) on Tuesday August 19 2014, @04:04PM (#83138)

        Likewise. I use PA heavily, including its BlueTooth support. I use BlueTooth headphones and a BlueTooth receiver on my stereo and it works very well other than dropping the signal when I walk between the machine and the receiver sometimes. Apparently I'm very radio opaque.