Slashdot Mirror


Busybox Deletes Systemd Support

ewhac writes: On 22 October, in a very terse commit message, Busybox removed its support for the controversial 'systemd' system management framework. The commit was made by Denys Vlasenko, and passed unremarked on the Busybox mailing lists. Judging from the diffs, system log integration is the most obvious consequence of the change.

34 of 572 comments (clear)

  1. Commit Message Missing for Me by Kunedog · · Score: 4, Informative
    Found it quoted elsewhere:

    remove systemd support

    systemd people are not willing to play nice with the rest of the world. Therefore there is no reason for the rest of the world to cooperate with them.

  2. The Commit Message by Kunedog · · Score: 5, Informative
    Found it quoted elsewhere:

    remove systemd support

    systemd people are not willing to play nice with the rest of the world. Therefore there is no reason for the rest of the world to cooperate with them.

    1. Re:The Commit Message by ArmoredDragon · · Score: 3, Insightful

      I'm not aware of the politics in this, are they saying the systemd people are rude, or that they just refuse to make their code compatible?

      Also with regard to systemd, I really do like distros that have it in my virtual machines because I can do a full reboot in seconds, whereas other distros take much longer. This is just flat out awesome for reducing lost time during maintenance when something doesn't go as planned.

      Is there a particular reason we can't have something like that AND comply with the "do one thing and do it well" rule? I'm not familiar enough with the low level stuff.

    2. Re:The Commit Message by Anonymous Coward · · Score: 5, Informative

      I'm not aware of the politics in this, are they saying the systemd people are rude, or that they just refuse to make their code compatible?

      Both.

      People have found bugs that make systemd incompatible with existing programs, and rather than fix the bugs in systemd, the systemd people responded that the people who found the bugs should work around systemd and systemd didn't need to be compatible with existing code.

      Basically systemd completely wrecks the UNIX way and makes the distros that use it absolutely unmaintainable if you're a sysadmin.

    3. Re:The Commit Message by SlashdotOgre · · Score: 4, Informative

      Systemd has taken an all or nothing approach for its components, and it has enveloped several significant components such as udev/upower/udisks. What this means in practice is you either have to take all of systemd (i.e. replace your init system, syslog, etc.) to use any of the components it has absorbed or you need to fork and maintain what you need yourself.

      Here's a personal example: I use Gentoo an MATE as a desktop which in turn uses upower for suspend & hibernate. The latest version of MATE requires the latest upower (now dependent on systemd) to support those functions. So now if I upgrade MATE, I have to either replace my init system (OpenRC) with systemd or not have those upower features on my laptop.

      Forcing their users(or distros) hand like that is not playing well with other software and I applaud Busybox for standing up.

      --
      Sadly, PS/2 was yet another victim of USB, which doesn't care what you plug into it, the electrical slut.
    4. Re:The Commit Message by ArmoredDragon · · Score: 4, Informative

      I keep the systems configured so that in the event of a complete power outage, EVERYTHING must come back up without any intervention required. This is saves a lot of explaining when it's time to put out a fire and -- oh shit, the admin forgot to document how to get everything back up and running when somebody crashed their car into a nearby transformer and the UPS failed to signal the diesel generator to start, and now we're spending 3 days trying to get shit working again because the guy who set it all up quit about 5 months earlier. (Yes, I've seen exactly this happen before.)

      The reboots are only necessary when testing changes to make sure that everything comes up the way it's supposed to in the event of a total loss of power. Sometimes this doesn't happen (for example, a new kernel image breaks ZoL, so after the reboot the array doesn't get mounted) and it might take multiple reboots before you've got it all set.

    5. Re:The Commit Message by arglebargle_xiv · · Score: 4, Funny

      I'm not aware of the politics in this, are they saying the systemd people are rude, or that they just refuse to make their code compatible?

      They indent using four spaces, and also apply this indentation to the braces at the start of a function. Spaces! Four of them! Not tabs, spaces! And they indent their braces!

      Removal from Busybox is too good for them, they should be exiled from the planet!

    6. Re: The Commit Message by Anonymous Coward · · Score: 5, Informative

      There was a problem involving systemd, networking, and aiccu.

      The aiccu maintainer demonstrated how systemd wasn't properly making sure that networking was up before attempting to start aiccu, something pretty much any other init system managed to do.

      The systemd folk, by way of Red Hat basically told those using aiccu the same thing others were told: 'too bad, systemd isn't betting "fixed" because we don't see this as our problem.'

      My opinion? Systemd is useless and makes more problems than it's worth. It has its mitts in far more than any init system should. It is a blight on system administration.

    7. Re:The Commit Message by bytesex · · Score: 4, Insightful

      Your answer is problematic in the same way that the behaviour of the systemd people is problematic: you're essentially saying to the GP: you shouldn't have that problem. I get that a lot in newsgroups: I have a certain problem, I ask a newsgroup, and one of the first responses one gets is: 'you shouldn't want to do that.' No, *I* decide to do that!

      Irritating doesn't even begin to describe it. So, the guy wants to reboot often. Maybe he has a very valid use case that you haven't thought of. You can't imagine every possible conceivable use case. But anyway, this is technology - we can make it work - with or without systemd.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    8. Re:The Commit Message by someone1234 · · Score: 3, Insightful

      I understand that your life is easier, but this topic is about Busybox. Their life was made harder, just like many other people who are not satisfied with systemd. Obviously, you are a sysadmin with some own development, not a distro maker who tried to integrate 10+ applications where one of them doesn't want to cooperate with the rest.

      --
      Patents Drive Free Software as Hurricanes Drive Construction Industry
    9. Re: The Commit Message by Sesostris+III · · Score: 3, Informative

      I think the issue isn't that MATE depends on upower, rather that the latest version of upower depends on systemd. Perhaps MATE should not have required the latest version of upower, but that passes the problem to the MATE team rather than placing the problem where it belongs, which is with the systemd team.

      As another poster has identifies, the problem seems to be that the systemd people aren't coding to interfaces. If they were, then dependencies wouldn't be on specific code, i.e. the implementations.

      Upgrading software shouldn't require a change to the init system.

      --
      You never know what is enough unless you know what is more than enough. - Blake
    10. Re:The Commit Message by Anonymous Coward · · Score: 4, Insightful

      I think it is telling that poettering (note he has his hands in the design/state of systemd/dbus/pulse audio/XDG/PAM/...) when seeing a complaint that su - does not pass/or instantiate XDG under systemd came to the conclusion that su is broken and reimplemented it in systemd. The reality is that his designs for these systems disregard unix/posix and the issue in the bug report was directly related to how he designed XDG/dbus/systemd and pam -- not an issue with su.

      He has also gone on record stating that he does not care about linux and unix compatibility, that he is building things that he wants to. Given that systemd is now up to 100+ bins and is wrapping everything from init to logging to virtual machine management to auth privilege tightly coupled to dbus it really sticks like most of the crappy design decisions that made windows lose in the server market. One of the core reasons unix is so powerful is that even on a full upgrade of a system you can pull out software and migrate easily and that is because there is loose coupling on all of these parts.

    11. Re:The Commit Message by AmiMoJo · · Score: 3, Insightful

      The latest version of MATE requires the latest upower (now dependent on systemd)

      That's what you get when you use open source software. If the developer decides they want to become dependent on systemd then it's their project and they can do what they like, and you have no control over it. If you don't like it your only option is to fork.

      That's not a criticism, it's just a statement of the way it is. No point getting upset about systemd and other software that now relies on it, because it's not like the developer owes you anything. That's the price of freedom - other people are free to do things you don't like.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    12. Re:The Commit Message by drinkypoo · · Score: 3, Informative

      That's what you get when you use open source software. If the developer decides they want to become dependent on systemd then it's their project and they can do what they like, and you have no control over it. If you don't like it your only option is to fork.

      As opposed to what you get when you use closed source software. If the developer decides they want to become dependent on systemd (or whatever) then it's their project and they can do what they like, and you have no control over it. If you don't like it your only option is to go fuck yourself, because you don't get the source. You're going to have to move to a competing project, if you can even manage that because that closed-source program is actually standards-based (often it is not) and you're not locked in.

      That's not a criticism, it's just a statement of the way it is. No point getting upset about systemd and other software that now relies on it, because it's not like the developer owes you anything.

      The developer of a closed piece of software doesn't owe you anything, either. You paid for a piece of software, and aside from being fit for the stated purpose, they don't have to do anything for you. If they make architectural changes with which you disagree, you simply have no recourse, unlike OSS, where at least a fork is possible.

      OSS is clearly superior to closed software in this regard. There's not even a counterargument to be made.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    13. Re:The Commit Message by thegarbz · · Score: 4, Informative

      The logical follow up question is why does upower depend on systemd?

      The team decided they didn't want to duplicate support for suspend/hibernate when there's already a tool which does so. At the same time they released a solution for those people without systemd:

      UPower discontinued hibernate and suspend support in favor of systemd.
      Because of this, we have created a compability package at
      sys-power/upower-pm-utils which will give you the old UPower with
      sys-power/pm-utils support back.
      Some desktops have integrated the sys-power/pm-utils support directly
      to their code, like Xfce, and as a result, they work also with the new
      UPower as expected.

      All non-systemd users are recommended to choose between:
      # emerge --oneshot --noreplace 'sys-power/upower-pm-utils'
      or
      # emerge --oneshot --noreplace '>=sys-power/upower-0.99.0'
      However, all systemd users are recommended to stay with sys-power/upower.

      So what exactly is the problem? Why exactly is systemd so evil because someone else doesn't want to maintain a certain effort they are doing and instead hand off to another package, while even providing a compatibility option for the anti-systemd crowd?

    14. Re:The Commit Message by Antique+Geekmeister · · Score: 4, Informative

      > Both.

      It's not all the systtemd people. But the problem starts right with the technical leadership, Leonart Pottering. systemd is attempting to do _too many_ things. Daemon management, _and_ logging, _and_ network management, _and_ automounting, _and_ privilege management, _and_ Leonart has stated that the gola is a "stateless Linux" where no system specific configurations are stored in "/etc": they're all migrated to systemd configuration tools.

      The result is not only much too large, it's not cross-platform, because systemd _cannot_ run anywhere but Linux due to the kernel changes required. It thus creates a Linux lock-in, breaking broad availability and usability of services oriiginally compiled for Linux.

    15. Re: The Commit Message by multi+io · · Score: 5, Insightful

      There was a problem involving systemd, networking, and aiccu.

      The aiccu maintainer demonstrated how systemd wasn't properly making sure that networking was up before attempting to start aiccu

      No they didn't demonstrate that. The relevant thread is this one, and the short version is that the aiccu author failed to understand that the network being unavailable temporarily is quite a different failure mode than, say, the configuration file having a syntax error. In the latter case, it's OK to terminate and require user intervention, whereas in the former case, if you're a long-running daemon that's supposed to keep a tunnel open, you keep running, backing off exponentially and waiting until the network becomes available again. Or at the very least, you exit with a specific exit code so that somebody can write a wrapper script that handles this particular error correctly and implements the backing-off thing in the wrapper script, and still terminates permanently for any other error condition (at which point it's fair to ask again why you wouldn't implement the exponential backoff in the daemon itself).

      This whole thing is quite independent of the init system; sysvinit will expose just the same set of issues. What's broken is the daemon, not the init system.

    16. Re:The Commit Message by Cassini2 · · Score: 5, Insightful

      systemd does things like auto-detect all of the tty devices, and automatically associate them with login prompts when the device becomes active. This sounds good, until you hit an application where the tty device should not have a login prompt. After two days of trying to work around the issue (there is a work around), I now understand what everyone was complaining about ...

      The biggest issue is that everything is wrapped in layers of configuration scripts, and this makes it is difficult to do something specific. The distros in an effort to "make everything easier" then have their own distro-specific scripts, and this makes the problems even worse.

      The old way had one configuration script per activity, and this had the advantage that you only had to worry about one script.

    17. Re:The Commit Message by gweihir · · Score: 4, Insightful

      Indeed. And that is another reason to not have any dependencies on systemd, as you are then bound to one platform and are at the mercy of one company. Not smart.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  3. Well, at least someone is willing to say it! by cfalcon · · Score: 3, Insightful

    With the major distros all moving to systemd, it's nice to see someone burn that bridge. I think if at least one top level distro was anti-systemd, then the drama would all go away, because the group that distrusts systemd could just go there. Someone quick spend your life forking fedora to a non-systemd thing. Pls?

    1. Re:Well, at least someone is willing to say it! by drinkypoo · · Score: 3, Informative

      i bet you didn't like init scripts until you learnt how to code them by looking up and learning from a bash manual.

      Some of us learned shell scripting before bash existed. We're perfectly comfortable with shell scripts, thanks. They are a central feature of the Unix operating system, and claiming that they are something to be avoided is only done by people who don't understand Unix.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  4. Awesome news by Anonymous Coward · · Score: 5, Interesting

    Great work BusyBox!

    Now if some of the desktop distros would listen to their core base and drop systemd as the default things would really be looking up for 2015 and next year.

    That's not to say some of the ideas in systemd are entirely without merit. But the execution is entirely and utterly wrong. Maybe not for a version of Windows, but totally wrong for UNIX.

  5. Re: Dropping stderr and syslog messages... by cfalcon · · Score: 5, Insightful

    > If you're depending on stderr for troubleshooting, you're doing it wrong.

    And so many people are doing it wrong that you need to post AC or have your account go negative karma from all of us wrongbies.

    Or maybe a nonmodular approach to something that was well documented and understood, that got glommed into every distro of note, has backlash. Maybe that.

  6. Re: Dropping stderr and syslog messages... by greenwow · · Score: 3, Informative

    No. Being able to use less, grep, egrep, awk, cut, etc. is very important.

  7. Re:The message in question: by phantomfive · · Score: 5, Insightful

    Systemd is funded by Redhat, isn't it?

    Mostly, yes.

    How does it make server administration easier?

    I've never heard a server administrator say systemd makes things easier for them. There are probably some server administrators somewhere who will claim that.

    Systemd makes things easier for people who write init scripts. Init script writers are the people who have primarily been responsible for its adoption in various distros.

    --
    "First they came for the slanderers and i said nothing."
  8. Re:So who wants to... by 0123456 · · Score: 3, Insightful

    System boot time is only important if the system is booting frequently.

    And pretty much irrelevant when my servers take about five minutes to get out of the BIOS and start running the operating system.

  9. Re: Dropping stderr and syslog messages... by TechyImmigrant · · Score: 5, Insightful

    If you're depending on stderr for troubleshooting, you're doing it wrong.

    What's your better idea?
    What do you thing stderr is for?

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  10. Re: Dropping stderr and syslog messages... by Barsteward · · Score: 3, Informative

    journalctl "pipe" [current tool of your choice]

    configure system to forward all logs to syslog or rsyslog for the status quo

    Journalctl is well worth getting to know http://www.freedesktop.org/sof...

    --
    "The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
  11. Re: Dropping stderr and syslog messages... by kthreadd · · Score: 3, Informative

    The decision to drop stderr has made my life hell. I wish systemd guys understood how important it is to those of us that run servers.

    Maybe I'm missing the point here, but there has not been any "decision to drop stderr". It's clearly possible to set where it should go:

    StandardError=

    Controls where file descriptor 2 (STDERR) of the executed processes is connected to. The available options are identical to those of StandardOutput=, with one exception: if set to inherit the file descriptor used for standard output is duplicated for standard error. This setting defaults to the value set with DefaultStandardError= in systemd-system.conf(5), which defaults to inherit.

  12. As I said before... by QuietLagoon · · Score: 3, Interesting

    I doubt if everyone who jumped aboard the systemd cargo ship really knew the journey they were in for. Some of those travelers started to regret their ticket purchase when sudo was eaten up by systemd. And others... well it will take a bit longer to realize their fate.

  13. Re:Let him have Czechoslovakia if it keeps him qui by smittyoneeach · · Score: 4, Funny

    Oh, a framework.

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  14. Re: The message in question: by Anonymous Coward · · Score: 3, Insightful

    ffs, init was 20k LOC systemd is now 100+ bins and 430k LOC. Before systemd you had a log file that was text and parsable using the commands that are core to unix (or specialized applications/services to injest them later), after systemd you have a binary log that mind you has code controlling it that can choose to destroy that log if it finds it is unreadable or corrupted. Init was special purpose and streamlined to do one task well, systemd is coupled to auth, dbus, vm startup and shutdown, vm management, privilege escalation, ....

    No one is complaining about the features of systemd, everyone is complaining about the design of those features that is reminiscent of MS architecture and design (that even MS has started to run away from). Poettering has stood in front of rooms full of people and flatly said he does not care about posix or unix he wants to build something new. He is -- hes building a monolithic userspace kernel and RH is using the init functionality to shoehorn itself into a controlling position.

    Because of the way systemd/XDG/pam/dbus are designed, the more he extends it the more other core bins on the system will need to integrate with it or rebuild functionality that has been displaced by it for no reason. It is a loss lead development and it will me Linux's loss in the long term.

  15. The systemd way by medoc · · Score: 5, Interesting

    Just an anecdote: during a recent upgrade from Debian Wheezy to Jessie, the first boot into the new system failed with a message from systemd about mtab not being a link into /proc/something (a trivial problem as far as I can see).

    Can't remember the exact message from systemd, but it was something about being "frozen"

    No going into single user, nothing, just F... you and go reboot on the CD image. Happy enough that the machine was on my desk...

    And they wonder why many people don't like systemd....

  16. Re:The Commit Message [Citation begged for] by Bengie · · Score: 5, Insightful

    What SystemD is doing is a good idea, it's how they're doing it and their attitude. They seem to have the mindset of Devs and not sysadmins. Windows is an example of an OS by Devs. It's death by a thousand cuts. You can't quite pout you finger on exactly what is wrong, but there's a whole lot of small issues that amass into some real annoying rare cases that don't affect most users, but should never happen in the first place.

    LaunchD has existed for a long time and is fully opensource and well tested. It has gotten the run-through with iOS which needs to be easy to use and work reliably in some very complicated environments, like cell phones. Of course there is the very strong "not invented here" mindset that a lot of GPL people have. Comparing SystemD to LaunchD is like comparing btrfs to ZFS. The most annoying mind-set that I've seen from the SystemD people is the whole "if everything is working as expected, this situation should never happen, so we may as well not handle this situation". How I hate that. If you know about a failure case, handle it! I hate that "limp along and some time later, fail in some unrelated way that gives the wrong impression". Works great when it works, but the failure cases are a mess.

    Did you know that both LaunchD and ZFS had numerous old-school Unix people working on them in all stages of development? These are people who grew up using and managing mainframes and many now make a living managing datacenters. Who would you rather having designing the critical infrastructure of your OS. A sysadmin dev hybrid programmer who grew up learning exactly why things are designed the way they are, or some wide-eyed dev who likes flashy things and assumes the wisdom of a sysadmin is just the rantings of some old person?

    Mind you, I'm a fairly young person that loves flashy things, plays AAA video games, and watches anime, not some neck-beard.