Slashdot Mirror


Debate Over Systemd Exposes the Two Factions Tugging At Modern-day Linux

walterbyrd (182728) sends this article about systemd from Paul Venezia, who writes: In discussions around the Web in the past few months, I've seen an overwhelming level of support of systemd from Linux users who run Linux on their laptops and maybe a VPS or home server. I've also seen a large backlash against systemd from Linux system administrators who are responsible for dozens, hundreds, or thousands of Linux servers, physical and virtual. ... The release of RHEL 7 has brought the reality of systemd to a significant number of admins whose mantra is stability over all else and who perhaps had not waded into the choppier waters of Fedora or Debian unstable to work with systemd before it arrived in RHEL.

25 of 863 comments (clear)

  1. How about we hackers? by Anonymous Coward · · Score: 5, Insightful

    I know quite a few of us in hacker culture who hate the fact tha systemd does not feel UNIXy at all. It breaks practically every principle of the UNIX philosophy. Reminds me of working with windows, and that is never fun.

    1. Re: How about we hackers? by Anonymous Coward · · Score: 4, Insightful

      FYI the Linux kernel does not follow the unix philosophy either, the GNU Hurd does!

    2. Re:How about we hackers? by phantomfive · · Score: 4, Insightful

      init systems pre-systemd hardly did just one thing and hardly did it well.

      Someone else doing something wrong isn't a justification to also do something wrong.

      Uh, I guess that's a messed up way to say "two wrongs don't make a right?"

      --
      "First they came for the slanderers and i said nothing."
    3. Re:How about we hackers? by 0123456 · · Score: 5, Insightful

      365 days without a security patch. Does uptime make you more money than protecting your customer data?

      Most of my servers are behind firewalls with no incoming connections through the Internet. And, yes, uptime matters when we're doing something more critical than serving funny cat videos.

    4. Re:How about we hackers? by arfonrg · · Score: 4, Insightful

      "As for the unix philosophy, init systems pre-systemd hardly did just one thing and hardly did it well."
      What are you talking about!?! my rc.httpd starts/stops apache, period... my rc.ntpd starts/stops ntpd, period... I could go on.

      "How does systemd remind you of windows? Have you actually *used* either in a system administration capacity?'
      YES, yes I have. Windows with it's registry and svchost reminds me ALOT of systemd.

      --
      Your thin skin doesn't make me a troll
    5. Re:How about we hackers? by MrKaos · · Score: 5, Insightful

      As for the unix philosophy, init systems pre-systemd hardly did just one thing and hardly did it well.

      Are you sure you are using it correctly. Whilst fussy, init is hardly complicated - perhaps you are thinking of rc?

      How does systemd remind you of windows?

      I think the binary log files is a good start.

      Have you actually *used* either in a system administration capacity?

      Yes, we've been testing systemd in-house extensively. It has compelling feature that I like (unit files are a big improvement) however the monolithic approach is a turn off. If it was a replacement for rc, I'd back it, however as a replacement for initd it is not.

      Whilst there is much pontificating about systemd, I think it is great for desktop systems however I can't see many enterprise deployments using it, it's just not ready for prime time. risk==downtime==2am working==no way

      I don't care if you call me a holdout. I know how to make systemd do what I want because I use it. Init is still simpler and more robust because while you see the blocking/slow startup as a problem, most experienced admins see it as init advertising what is wrong.

      systemd solves a problem that isn't really there.

      --
      My ism, it's full of beliefs.
    6. Re:How about we hackers? by Darinbob · · Score: 4, Insightful

      I haven't used it, but the whole thing feels like it's being adopted en-masse by a large number of distributions when it is still essentially a new program and new way of doing things. Sure, experimental stuff is nice, but it should be experimental. Try it out for a few years before rolling it out to everyone. It feels like "boots fast" is being used to nullify all objections to it.

    7. Re:How about we hackers? by TheRaven64 · · Score: 5, Insightful

      I don't know why you've been modded troll. The problem isn't binary files, it's complex files. All of your log files are binary, the difference is that you have a load of small tools that can work with the ASCII / UTF-8 text ones easily. As long as there's a small program that can be statically linked and run from a recovery medium to turn the log files into something that other tools can handle (or, ideally, can search them faster) then there's no issue. The problem is systems where you need the entire GUI and a big chunk of the userland applications stack working to be able to read logs.

      --
      I am TheRaven on Soylent News
    8. Re:How about we hackers? by TheRaven64 · · Score: 4, Insightful

      If your system uptime relies on individual nodes having high uptime, then you're doing it wrong.

      --
      I am TheRaven on Soylent News
    9. Re: How about we hackers? by Anonymous Coward · · Score: 5, Insightful

      That's right, Linux is monolithic, but on the other hand--and this is a crucial difference--Linus is hugely concerned about preventing breakage. Of all the large packages I use, the kernel is the one that gives me the least worry when it comes to upgrade time.

      L. Poettering, on the other hand, seems to relish in breaking things. He sure isn't big on commiserating with people whose systems his code has broken.

    10. Re:How about we hackers? by nabsltd · · Score: 4, Insightful

      If systemd is so very very wrong then people wouldn't use it right? Certainly no major distro will go out of their way to adopt something wrong.

      systemd solves problems that are mostly associated with systems that have users who log in directly using a GUI. Most major distros have a strong "desktop" following, and as such, are interested in systemd.

      Unfortunately, for the vast majority of systems that run just fine without the need to notify logged in users that a USB device has been hot-plugged, systemd doesn't offer much compared to the learning curve required to figure it out without documentation. In addition, the systemd environment (since it's not just one program) has bugs, and unlike older programs where the bugs and failures are known and can generally be worked around, this is not the case for systemd.

    11. Re:How about we hackers? by jedidiah · · Score: 4, Insightful

      I shouldn't be forced to suggest improvements on systemd. I shouldn't be forced to deal with it at all. It's a wannabe core system service. IT needs to prove itself first.

      The champions of mindless change are the ones that need to prove their point. They have perverted the normal rules of rhetoric when they demand that it's the conservative voices that need to justify themselves.

      It's those that demand change that need to justify themselves. This is basic, standard change control doctrine. So it's not surprising that you see an alleged rift between those that manage other people's expensive systems and "everyone else".

      Although I am skeptical of the notion that "laptop users" even care.

      As a desktop user, I am certainly not clamouring for an init replacement.

      It's about the single least of my worries.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    12. Re: How about we hackers? by rgbatduke · · Score: 4, Insightful

      Yeah, I've done a fair bit of time as sysadmin of several networks AND enjoy the cool stuff that comes with change and improvement in hardware and software over time.

      Systemd no doubt will have growing pains associated with it, but I still remember the "growing pains" associated with kernel 2.0 (the first multiprocessor kernel) and issues with resource locking and ever so much more. Anybody want to assert that this wasn't worth it, that "single core/single processor systems were good enough for my granddad, so they are good enough for me"? Server environment or not?

      Decisions like this are always about cost/benefit, risk, long term ROI. And the risks are highly exaggerated. I'm pretty certain that one will be able to squeeze system down to a slowly varying or unvarying configuration that is very conservative and stable as a rock, even with systemd. I -- mostly -- managed it with kernels that "could" decide to deadlock on some resource, and when the few mission critical exceptions to this appeared, they were aggressively resolved on the kernel lists and rapidly appeared in the community. The main thing is the locking down of the server configurations to avoid the higher risk stuff, and aggressive pursuit of problems that arise anyway, which is really no different than with init, or with Microsoft, or with Apple, or with BSD, or...

      But look at the far-side benefits! Never having to give up a favorite app as long as some stable version of it once existed? That is awesome. Dynamical provisioning, possibly even across completely different operating systems? The death of the virtual machine as a standalone, resource-wasteful appliance? Sure, there may well be a world of pain between here and there, although I doubt it -- humans will almost certainly keep the pain within "tolerable" thresholds as the idea is developed, just as they did with all of the other major advances in all of the other major releases of all of the major operating systems. Change is pain, but changes that "wreck everything" are actually rare. That's what alpha/beta/early implementation are for, and we know how to use them to confine this level of pain to a select group of hacker masochists who thrive on it.

      On that day, maybe just maybe, systemd will save their ass, keep them from having to replace some treasured piece of software and still be able to run on the latest hardware with up to date kernels and so on.

      I've been doing Unix (with init) for a very long time at this point. I have multiple books on the Unix architecture and how to use systems commands to write fully complex software, and have written a fair pile of software using this interface. It had the advantage of simplicity and scalability. It had the disadvantage of simplicity and scalability, as the systems it runs on grew ever more complex.

      Everybody is worried about "too much complexity", but Unix in general and linux in particular long, long ago passed the threshold of "insanely complex". Linux (collectively) is arguably one of the most complex things ever build by the human species. The real question is whether the integrated intelligence of the linux community is up to the task of taming the idea of systemd to where it is a benefit, not a cost, to where it enables (eventually) the transparent execution of any binary from any system on a systemd-based system, with fully automated provisioning of the libraries as needed in real time as long as they are not encumbered legally and are available securely from the net.

      We deal with that now, of course, and it is so bloody complex and limiting that it totally sucks. People are constantly forced to choose between upgrading the OS/release/whatever and losing a favorite app or (shudder) figuring out how to rebuild it, in place, on the new release -- if that is even possible.

      I'll suffer a bit -- differently, of course -- now in the mere hope that in five years I can run "anything" on whatever system I happen to be using and have it -- just work.

      rgb

      --
      Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
    13. Re:How about we hackers? by nabsltd · · Score: 4, Insightful

      I manage several hundred servers and I would love faster boot times. Nothing worse than wasting my time waiting for a machine to come back online.

      It's these kinds of statements that show no knowledge of what part of the boot is the OS and what part is the hardware that make me cry about the current state of system administrators. If a significant time of your wait is for the OS to load, then you've configured your server wrong or are using toy hardware.

      By far the largest amount of time taken in boot for servers is the hardware checks. For VMs, boot times are already less than 15 seconds, even including the "hardware check", so that's no big deal.

      And, for systems that get rebooted once ever 3 months or so, even a minute isn't really a big deal. The only time I really care about boot times are when I'm running through a lot of reboots on the same system, which is usually only when it is first installed and I'm doing hardware config.

  2. Re:Are you sure? by ruir · · Score: 4, Insightful

    indeed, we server people will migrate to other pastures if the systemd insanity goes ahead. I am just awaiting for FreeBSD 10.1 to start doing more serious testing. And I think many agree with me the strength of Debian is not exactly desktop support.

  3. Re:It's about control by caseih · · Score: 5, Insightful

    Today, the competent administrator can control startup, dependencies, etc on a granular basis. With systemd, that control has gone - somewhere else.

    How so? Systemd has removed my ability to start and stop services?

    How would a package mess with systemd's configuration? It's readily apparently no clue about systemd. Hint, it's no different than it was before. A package drops its own service definition file in a directory (sound familiar?). That's it. It's no different in this area than any other init system. If the file is bad, the service just won't start. Just as it was before. Runlevels or targets are defined the same way: with simple symlinks. Really in this aspect, systemd is no different than upstart or plain old system v init.

    This post is one example why the debate gets so heated. People like you post stuff that's only nearly half true, without knowing anything about systemd, except the name of one of the authors. FUD plain and simple. A technical debate is fine, but you've got to actually know what you're talking about before you start debating. So far I've seen zero technical debate on this site regarding systemd. Certainly no one is willing to own up to the flaws in traditional init that have led to systemd's development. It's extremely disheartening to see this kind of irrational fear instead of technical discussion.

  4. And apps while we're at it by knorthern+knight · · Score: 5, Insightful

    It's not just the init, it's also the applications that are being infected with Lennart-ware, e.g. gnumeric. It's a great spreadsheet, but recently it's been picking up various egregious hard-coded dependancies that simply don't make sense. This occurs mostly via GTK, which seems to pull in a significant chunk of GNOME.

    I run a minimalist Gentoo desktop, and I notice when additional dependancies are dragged in. The past year or 2 has seen goffice, ghostscript, harfbuzz, dbus, and various other crap become hard-coded dependancies for gnumeric. It was not necessary a couple of years ago. If I had several million dollars, I'd hire a bunch of progragrammers to port gnumeric from being dependant on GTK to being dependant on FLTK (Fast Light ToolKit) http://www.fltk.org/ Some of the money would go to ongoing maintenance.

    Another few million dollars, and I'd like to hire a team to hack and slash away at Firefox. I was around when "Phoenix" was forked as a lightweight alternative to the Mozilla web-browser. I savoured that promise. That promise has been dashed into the ground, with a Firefox that's bigger, heavier, and slower than the original Mozilla ever was. Time for a new fork.

    I want GNU-Linu-x, not GNOME-Lenna-x

    --

    I'm not repeating myself
    I'm an X window user; I'm an ex-Windows user
  5. Re:Misplaced by Z00L00K · · Score: 4, Insightful

    I wouldn't say that it's wrong - a system administrator expects a system to be up and running for maybe a decade with little effort. Major changes in how the system platform is designed causes headache because it costs time, both to re-learn and to re-document a large number of procedures.

    As long as you use the standard services on a server it's no problem with Systemd, but when you use a number of tailor-made suites on that server you are getting more and more headache when you introduce a new structure of managing the startup.

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  6. Re: Administrators dislike constraint based system by beaverdownunder · · Score: 4, Insightful

    Whether one dislikes systemd or not isn't necessarily because of what it does or doesn't do. The issue for many people (myself included) is simply that it's a monolith that keeps trying to grow larger in an "open" world that was meant to stand for a certain amount of platform agnosticism and component independence.

    I realise that systemd can make life easier for some more novice users but to be true to the spirit of the open source community I would expect it to be optional where it can be so. When it starts to intrude into critical areas and make itself mandatory in some releases, that bothers me. It makes me think that the whole business is a sneaky attempt to subvert the Linux kernel and eventually take control of Linux as a whole.

  7. Re:Not true. There's a different division by Endymion · · Score: 5, Insightful

    Your'e close - the split is indeed between the older Unix types and people that just want to be "users", but you need to recalibrate where their relative positions. Those of us that are against being forced to use[1] systemd see this in a different light. As computers became inexpensive over the last decade, a new generation of younger people joined the Linux community. They were young an inexperience, and often made well-known mistakes in their software. Thats was ok - we were all n00bs at first, and many of us tried to gently nudge the inexperience developeers in useful directions. Very few listened, and have now decided that anything "old" is bad.

    Listening to those that came before you is important, if you want to avoid making the same mistakes. A lot of those lessons are collected under what many refer to as the "Unix Philosophy". Mostly, that "philosophy" is jsut a handful of tricks that make maintainance saner. A lot of the stuff that people claim is "overcomplicated", "messy" or an "archaic design" is such an "ugly" state for a reason, and those messy bits are bugfixes. The nice ideal design we all starty with rarely fits exactly when we introduce it to the problems and unforseen circumstances in the real world. That ugly spaghetti-code-style hack that seems to ignore and bypass the "correct" way? That is probably a bug fix, and by removing it you probably reintroduce the bug.

    You call us luddites, but heed our warning at your own peril. Some bugs and bad designs have happened before, and a key reason why we don't like systemd is that it makes one of the worst mistakes you can ever make when designing software: it throws out the supposedly "old" or "ugly" parts. I suggest readoing Joel Spolsky's famous essay on this topic:

    you can ask almost any programmer today about the code they are working on. "It's a big hairy mess," they will tell you. "I'd like nothing better than to throw it out and start over."

    Why is it a mess?

    "Well," they say, "look at this function. It is two pages long! None of this stuff belongs in there! I don't know what half of these API calls are for."
    [...]
    The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they've been fixed. There's nothing wrong with it. It doesn't acquire bugs just by sitting around on your hard drive. Au contraire, baby! Is software supposed to be like an old Dodge Dart, that rusts just sitting in the garage? Is software like a teddy bear that's kind of gross if it's not made out of all new material?

    Back to that two page function. Yes, I know, it's just a simple function to display a window, but it has grown little hairs and stuff on it and nobody knows why. Well, I'll tell you why: those are bug fixes.

    Each of these bugs took weeks of real-world usage before they were found. The programmer might have spent a couple of days reproducing the bug in the lab and fixing it. If it's like a lot of bugs, the fix might be one line of code, or it might even be a couple of characters, but a lot of work and time went into those two characters.
    [...]
    When you throw away code and start from scratch, you are throwing away all that knowledge. All those collected bug fixes. Years of programming work.

    Systemd is still at the early stage, where it can get away with this kind of bad design, but as more and more people start to use it and the never-ending list of Real World Problems starts to creep in, the systemd developers - and the distros that joined them - are goign to have one nasty mess on their ihands. It is going to be a nightmare to all of the bugfixes and real-world mess that was thrown away because it was "old".

    We tried to warn them, and were labeled luddites.

    Well, as B5's Londo Mollari put it:

    "Ah, arrogance and stupidity a

    --
    Ce n'est pas une signature automatique.
  8. Re:Are you sure? by devent · · Score: 4, Insightful

    Debian, Ubuntu, Redhat, Fedora, Suse, all switching to systemd. Those distributions together represent the vast majority of Linux users. To say that systemd does not have an overwhelming support, is just idiotic.

    --
    http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
  9. Re:Are you sure? by serviscope_minor · · Score: 5, Insightful

    I think the reality is that SystemD makes life easier for distro builders, not for users, and that is why it has won.

    I think this is the underlying cause as to why the old guard are upset, and what a lot of the lawn-invaders don't really understand. It's not really about systemd.

    Linux used to be our system. It was unashamedly by hackers for hackers. The user was king because the user was a hacker and Linux built by like minded users. If there was something that sucked to set up or sucked to use it wouldn't win out because why would anyone want to make a system worse for themselves. Furthermore the builders were derived from all walks of hackerdom. Some were distro builders, some web developers, some kernel hackers and so on and so forth.

    For systemd, I don't even know if there's much wrong with it. But it is indicative of a deeper rift. Linux systems are now primarily build by professional distro builders and they don't do much on Linux except build distros day to day. And the vast influx of corporate money means that it's getting harder and harder (though not impossible yet) to avoid its effects.

    The end result is that Linux is no longer the ultimate hacker system, made by techies for techies. It used to be uncompromisingly awesome by the standards of the time for such people.

    Now compromises have had to be made, and the old guard are feeling the effects of the change. This amazing system which once you could bend to your will in any way imaginable is beginning to approach the type of opaque black box that they fought so hard to escape.

    That's the problem. Systemd is just yet another instance where it bubbles to the surface.

    --
    SJW n. One who posts facts.
  10. Re:Are you sure? by Darinbob · · Score: 4, Insightful

    So an overwhelming level of support by linux users, or an overwhelming level of support by the distribution developers? Was there a vote taken that I missed?

  11. Re:Misplaced by gweihir · · Score: 4, Insightful

    IMO you have no clue what you are talking about. There is no way to make "managing a cluster of servers a breeze", it will always be difficult. You can make debugging problems almost impossibly by too much automation though.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  12. Re:Are you sure? by Raumkraut · · Score: 4, Insightful

    Number of executables which can parse systemd journal log files: 1
    Number of executables which can parse traditional log files: >10000

    Single points of failure are rarely a good idea.