Slashdot Mirror


Debian's Systemd Adoption Inspires Threat of Fork

New submitter Tsolias writes It appears that systemd is still a hot topic in the Debian community. As seen earlier today, there is a new movement shaping up against the adoption of systemd for the upcoming stable release [of Debian], Jessie. They claim that "systemd betrays the UNIX philosophy"; it makes things more complex, thus breaking the "do one thing and do it well" principle. Note that the linked Debian Fork page specifically says that the anonymous developers behind it support a proposal to preserve options in init systems, rather than demanding the removal of systemd, and are not opposed to change per se. They just don't want other parts of the system to be wholly dependent on systemd. "We contemplate adopting more recent alternatives to sysvinit, but not those undermining the basic design principles of "do one thing and do it well" with a complex collection of dozens of tightly coupled binaries and opaque logs."

17 of 555 comments (clear)

  1. Finally ... by Anonymous Coward · · Score: 5, Interesting

    ... I was already investigating into FreeBSD as option. I welcome a fork of debian. The developers are irreparable split anyways. Half of them are pro systemd, the other half are not. So why waste time into talks. There won't be an acceptable solution anyways. So better head off and fork the project. I want to see how debian will survive, once half of the develoeprs have rushed away to form a new project.

    1. Re:Finally ... by armanox · · Score: 3, Interesting

      I am entertaining FreeBSD and Slackware as viable options. The only thing in Slackware's favor is the games I play will run on it vs FreeBSD.

      --
      I'm starting to think GNU is the problem with "GNU/Linux" these days.
    2. Re:Finally ... by Anonymous Coward · · Score: 1, Interesting

      Well FreeBSD is a dependency hell to say at least. Once you install it from the netinstall (the 200mb) pulling in more packages requires a shitload of stuff.

      pkg install xorg
      pkg install xfce
      pkg install mc
      pkg install vim ... and you end up with nearly 2gb of wasted hd space (after removing /var/cache/pkg/*)

    3. Re:Finally ... by hairyfeet · · Score: 2, Interesting

      Well if the rumors are true then RH has been quietly stacking the deck by loading Debian with ex RH employees then a fork is the only possible chance of keeping from getting system'd.

      In case anybody wonders why they are trying to ram systemd so hard? Cloud computing, they want systemd to be a "one size fits all" for their cloud computing initiative. Great for RH, not so great for everybody else. In any case it will be interesting if the users can "take the OS back" from Red Hat and the corporate interests like Windows users did when they refused to take Win 8, it will be quite fascinating to see whether Linux users without the power of the wallet can change things simply by protest.

      I personally wish them nothing but luck, as it sucks to see an OS you have serious time and money invested in get a big old shit taken on it by the suits...good luck Debian users, may you tell the suits where they can stick their system'd crap.

      --
      ACs don't waste your time replying, your posts are never seen by me.
  2. Fedora fork too by kthreadd · · Score: 3, Interesting

    http://forkfedora.org/
    Not really, but well made.

  3. That's all we need ... by BarbaraHudson · · Score: 2, Interesting

    The solution to yet another init system is to support even more init systems?

    If systemd needs to die, then say so. Give the reasons why, then fork it if necessary. We've got enough problems supporting different not-invented-here stuff in too many distros already.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    1. Re:That's all we need ... by caseih · · Score: 4, Interesting

      So you know the majority of system administrators? That's an awful lot of people.

      I follow the RHEL mailing list and there are a lot of very smart sysadmins on that list, and none of them have expressed any concern or even comment about systemd. And it's certainly shipping, and it's been on the roadmap for some time. In short, for many people it's a non issue.

      This is, by all appearances, a tempest in a teacup, mostly existing here on on slashdot, where groupthink has moved against systemd without any real argument against it other than mumblings about philosophy, or theoretical problems that haven't been shown to even exist in systemd.

      If these "supervision" frameworks of which you speak were redundant, then why do they exist in the first place? Clearly system v has had some pretty big limitations. I've personally hacked many a cronjob to supervise processes started by sys v init scripts (some of the init scripts I wrote myself... yuck). Also as servers move into virtual space, and deal with hotplugging of various resources, it just wasn't enough. Took years to get consistent naming on network interfaces, for example, and even then I could never be sure which interface was which when I first brought them up (they usually followed motherboard numbering, but not always). To say nothing of adding other hotplug interfaces of different sorts. Even after the udev hacks brought some sanity, every time I'd change out a network card, or clone it to a new system with a new MAC address I'd have to either delete the udev config for it, or have it change to eth1, eth2, etc. And by the way, it's not even systemd that does all this now, it's systemd-udevd. So it's still modular and you could replace systemd with uselessd, and then run a separately-packaged udev.

      It's also telling that other major commerical Unix vendors (say, Solaris, for example) have abandoned sys v init as well, or at least abandoned shell scripts as part of the init system, for a more comprehensive and capable system and framework. I'm not sure if Apple ever used system v init, but they certainly abandoned the script system in general with 10.4 and LaunchDaemon. They had good reasons to do so.

    2. Re:That's all we need ... by Anonymous Coward · · Score: 2, Interesting

      So you know the majority of system administrators? That's an awful lot of people.

      I follow the RHEL mailing list and there are a lot of very smart sysadmins on that list, and none of them have expressed any concern or even comment about systemd. And it's certainly shipping, and it's been on the roadmap for some time. In short, for many people it's a non issue.

      That is because they pay for RHEL support, so they will get help in migrating servers if they fail. Also, they don't really have any choice in that regard, they will have to use what the RH gives them to use.

      Well, fuck, i got "autism" captcha. :(

  4. This could be really good for Debian by Bruce+Perens · · Score: 5, Interesting

    There is a certain contingent in Debian that is not good for the project, IMO. I would like to see which side of a fork they are on, and pick tthe other.

  5. Re:And this is why Linux will never win the deskto by Anonymous Coward · · Score: 5, Interesting

    Whoever installs your OS chooses for you. Might be your hardware vendor, maybe your nerdy cousin.
    My wife read about Vista when it was coming out, and she asked me to install "Linux" for her so she could get used it to it before Vista happened.
    I didn't ask her which distro; I chose one.
    Anybody who can install an OS can choose one.

  6. UNIX Philosophy by Art3x · · Score: 4, Interesting

    I like the UNIX philosophy and don't think it goes out of style just because it's a few decades old.

    I am against systemd, for now, mainly because of the binary log files and how it was railroaded through the community.

    However, do these programs follow the do-one-thing-and-do-it-well principle: web servers like Apache, database servers like PostgreSQL, the X Window system, the GIMP, OpenOffice? Is an init system more like one of these or more like sed and awk? That's not a rhetorical question. I'm a web programmer who loves Linux, but the kernal and start-up are still black magic to me.

    Maybe an init system can be simple. I don't understand why even shell scripts are needed. Seems like they should be the exception, not the rule. Seems like configuration should be a single file that lists the programs to start from top to bottom. If you wanted add some parallel start-ups, it seems like you could just make the config file format a little fancier, maybe with some braces or indentation to express dependency.

    Maybe instead of systemd we could come up with a start-up standard, sort of like the POSIX standard. Most programs seem already to be callable with the same arguments: start to start it, stop to stop it, restart to restart it. So the simple config file would call one or the other depending on which cycle we're in. Why the need for shell scripts? I've looked at them, and they mostly seem to be doing this anyway: call start on the shell script, and it calls start on the program. I see some checking, some setting of environmental variables maybe, but is this really needed? Can't programs be formalized to follow some init API? If the start, stop, and restart are not enough, maybe also an option, like --bg, that they'd all take, so the init system always calls $program --bg start, or $program --bg stop, or whatever; so that all we need is that simple config file. Those programs that don't yet follow the init API could keep using a shell script until they do.

    Please have mercy if this question is terribly naive. I've tried googling . . . a little. I was hoping a real live human being could either explain it all. Or feel free to reply with some links that explain why SysV init needs all those shell scripts and can't be just a simple list or somewhat-simple declarative configuration.

    1. Re:UNIX Philosophy by phantomfive · · Score: 4, Interesting

      Please have mercy if this question is terribly naive. I've tried googling . . . a little. I was hoping a real live human being could either explain it all. Or feel free to reply with some links that explain why SysV init needs all those shell scripts and can't be just a simple list or somewhat-simple declarative configuration.

      It's a political problem more than a programming problem. Someone has to get input from everyone involved, and come up with a solution that makes everyone reasonably happy (including BSD folks). Specifically, any solution has to have three things:

      1) Be easy for distro builders to work with
      2) Be easy for developers to implement
      3) Accommodate people who still want to do their own thing
      4) Be implemented in a diplomatic way, so people will be willing to compromise.

      SystemD tried to avoid the political problem by not caring what other people think.
      SystemD also made the mistake of making an implementation, NOT a standard (which is what you correctly suggested), so it is hard to replace with alternate implementations (competition is a good thing). Furthermore, it is not a stable interface, which makes replacing it even harder.

      --
      "First they came for the slanderers and i said nothing."
  7. Re:And this is why Linux will never win the deskto by sjames · · Score: 3, Interesting

    When my mom needed something for email and web I gave her a machine I had with Linux on it. It has worked just fine even though she had very little experience using a computer.

  8. An opportunity for Debian? by FridayBob · · Score: 3, Interesting

    Having used it almost exclusively since 2001, I've always regarded Debian as a distro for more tech-savvy and conservative types -- system administrators, for example. However, their recent move towards systemd seems very unlike them and, as a professional sysadmin, this worries me. Perhaps it's what we can expect, every once in a while at least, from a bunch of people who are not system administrators.

    Luckily, they seems to be having second thoughts about the matter and this could be an opportunity for them. Their main competitor, which IMO is Red Hat, have already committed to systemd, which I'm not happy about either and find just as surprising. Therefore, since so many people have expressed their misgivings about it, if Debian were to reverse their earlier decision and go back to sysvinit (or at least make systemd optional), then I think we could see many sysadmins converting their RHEL systems to Debian jessie.

  9. Boot/init is a critical stage by Todd+Knarr · · Score: 4, Interesting

    The init process is a critical stage: failure tends to leave you with no access to the system to diagnose the failure. I tend to break it into two parts, the first part being what's necessary to allow at least a single-user login on the console, and the stuff that happens after that point to bring up the full multi-user system and server processes.

    I don't like systemd for the first part. It's overly complex, and the more parts and interdependencies there are the more things there are to fail. To quote an engineer, "The more they overthink the plumbing, the easier it is to stop up the works.". Shell scripts and plaintext log files may be primitive, but they have the advantage of being easy to read with minimal access and not requiring complex stuff to run (mainly they just require that basic binaries be available in the path). Until I've got at least a basic system up and running enough to log in and work, I want the init process to be as simple and straightforward as possible with as few points of failure in the init process itself (as opposed to the things it's starting) as possible. I want this stage to be as hard to break and easy to debug/fix as possible. I don't want to depend on complex tools at a point where I'm working in the most primitive environment.

    I don't particularly like systemd for the second part, but it isn't quite as much of a problem here as in the first part. By this point I've got a basic system up, I can log in and work, and most of the tools are available. Obviously nothing graphical will work, but text-based tools will probably run to decipher binary logfiles and modify configurations. I still prefer not depending on such tools, because they're one more point where things can fail to work and leave me scratching my head trying to figure out what broke without access to basic diagnostic information, but at this stage I can likely fix any tool-related problems and get back on track.

    The one part I think systemd works for is in the later stages of the second part. There's a lot of server processes with interdependencies that typically start after the multi-user system's up and running. I think systemd's a good thing for getting those running, it can do a better job of parallelizing that process than shell scripts can. The only change I'd make is to make systemd use syslogd like everything else, so log files end up in the expected place and are plain text so basic tools like more and tail and grep work on them as-is. Binary logfiles offer no great advantage over plaintext, and going through syslogd means not depending on two sets of tools and having to manage two configurations to get logging directed where it needs to go.

    One last bit has me twitchy about systemd: history. SysV init scripts may be clunky and primitive, but they've been around a long time. People know how to manage them, and they've had the kinks worked out of them and best practices established. systemd doesn't have that. I do not want to make my servers (that have to run for anything to work right) dependent on something until I've had time to work with it and get familiar with it and, more importantly, it's been out there in use long enough for people to find and fix the problems, work out the oddities and figure out the best ways to use it without shooting yourself in the foot. I'd prefer to stick with SysV init on my production systems and only enable systemd on testbed systems at the start, and then enable systemd on a server-by-server basis so unexpected failures don't completely kill me (eg. if systemd blows up on my primary mailserver, the backup still on SysV can keep things under control until I either fix the problem or revert and restart the primary).

  10. Re:And this is why Linux will never win the deskto by davydagger · · Score: 5, Interesting

    Linux could work for the average user, at the end of the day there is no technical reason why not. After all Linux(in the form of android), dominates on the cell phone market, where the user base demands greater user friendlyness, has less patience, and wants even more bells and whistles, and is far less compitent with a computer. Linux has been shown to work marvelously with light meters, accellerometers, USB, touch screens(multi-touch even).

    The big issue is how consumers by technology. They don't care about specs really, they don't care about merit. They care about branding and imagine. They want their Apple(tm), search with google(tm). Advertising and public relations gurus over the last few decades have build reality distortion bubbles, where people actively identify with brand names. GNU/Linux has no such brand name. They really don't care about "just works". Face it, windows does *not just work*, but people do whatever it takes, because they think windows is what they are supposed to be using. Microsoft presents the image of normalicy and conformity that most people identify with.

    Apple on the other hand, presents an elitest artisan, fine craftsman, and intellectually supperior image, that marks the owner as part of an elite group.

    Linux cleans up serverside, because it rode the wave of start up culture of the 1990s. If you had a great idea for a new website, but didn't have much capital, you could run a proffesional website with Linux, Apache, Mysql, and PHP out of an old desktop for a fraction of the cost of what constituted a proffesional server, of the day

    As these companies grew, they continuted to use linux, and helped it transform into a proffesional class OS, that couldn't help but take notice.

    Linux will eventually take over the desktop, and the reason is because microsoft has no real friends, and they have an ever growing list of enemies. Many of those pimpleface teenage nerds they stepped on back in the 1990s are now grown developers and sys admins. Their day dreams are now multi-million dollar products. Linux has a lot of corporate backers, many of which are household names, and some of the largest most powerful corporations in the world.

    Whats eventually going to happen is that MS is going to piss off another giant like Google or Samsung to the point they want blood. You'll see a few large companies pour money, time, resouces, advertising into a distro with enough MS haters to accept them, and then use a Free as in beer product into the desktop market, to crush microsoft to prevent them from competing in other markets, by destroying their cash cow.

    There will not be a year of the desktop. It will be a decade of pure hell, and microsoft is going to fight tooth and nail, and use every dirty trick in the book to keep the desktop market. They will eventually loose, because the nature of FOSS allows many companies to quietly pool resources behind a single banner, especially a not-for-profit, and allows more to join later without any real effort or diplomacy. Eventually it will be taken from them, and from that point its another 10 years before they go out of business.

  11. Re:And this is why Linux will never win the deskto by Aighearach · · Score: 3, Interesting

    I'm still running the same timeseal binary for internet chess that I was running in the 90s. I'll bet the old *bsd builds still work, too.

    It is over 15 years old.

    I still sometimes run programs I wrote in 2001. I don't make any changes or upgrade anything, it all just still works.