Forgot your password?
typodupeerror
Debian Open Source Operating Systems Software Linux

Ask Slashdot: Practical Alternatives To Systemd? 533

Posted by timothy
from the going-forward dept.
First time accepted submitter systemDead (3645325) writes "I looked mostly with disinterest at Debian's decision last February to switch to systemd as the default init system for their future operating system releases. The Debian GNU/Linux distribution is, after all, famous for allowing users greater freedom to choose what system components they want to install. This appeared to be the case with the init system, given the presence of packages such as sysvinit-core, upstart, and even openrc as alternatives to systemd.

Unfortunately, while still theoretically possible, installing an alternative init system means doing without a number of useful, even essential system programs. By design, systemd appears to be a full-blown everything-including-the-kitchen-sink solution to the relatively simple problem of starting up a Unix-like system. Systemd, for example, is a hard-coded dependency for installing Network Manager, probably the most user-friendly way for a desktop Linux system to connect to a wireless or wired network. Just this week, I woke up to find out that systemd had become a dependency for running PolicyKit, the suite of programs responsible for user privileges and permissions in a typical Linux desktop.

I was able to replace Network Manager with connman, a lightweight program originally developed for mobile devices. But with systemd infecting even the PolicyKit framework, I find myself faced with a dilemma. Should I just let systemd take over my entire system, or should I retreat to my old terminal-based computing in the hope that the horde of the systemDead don't take over the Linux kernel itself?

What are your plans for working with or working around systemd? Are there any mainstream GNU/Linux distros that haven't adopted and have no plans of migrating to systemd? Or is migrating to one of the bigger BSD systems the better and more future-proof solution?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Practical Alternatives To Systemd?

Comments Filter:
  • by Bryan Ischo (893) * on Thursday May 08, 2014 @02:36PM (#46951871) Homepage

    Whether you love, hate, or are ambivalent about systemd, I think you have to accept it at this point. If there are things you don't like about it, trying to use an alternate init mechanism is only going to cause you personal grief that will likely only increase in severity over time as it gets harder and harder to retrofit software packages to use other init systems as systemd further embeds itself into the Linux software world.

    If there are things you don't understand about systemd, you should read as much as you can to try to figure it out for yourself, and if you can't, you should write up coherent questions and post them in the appropriate forum for help (what is the appropriate forum? I don't know - someone jump in here and help me out. I personally often have no idea where the best place is to ask questions about things like systemd).

    If there are things you don't like about systemd, you should write up coherent bug reports or feature requests, and get them in front of the right people (once gain, someone jump in here and say who these people are and how to get these types of requests out there, I actually don't know). Or better yet, make the improvements to systemd yourself if you are capable of doing so.

    Your goal should be to improve both systemd itself and your knowledge of how to use it to the point where it is something you are happy to use, not work around it. By hook and by crook, systemd has become the standard way of doing many things in a typical Linux system and it's time for all of us to just accept that and to make forward progress. It's too late to try to work against systemd; it's time to "embrace and extend".

    If systemd is so onerous to you that you can't use Linux anymore, then I guess BSD is a possible solution for you. But who knows, maybe BSD will eventually adopt systemd as well?

  • Hmm (Score:5, Insightful)

    by Anrego (830717) * on Thursday May 08, 2014 @02:38PM (#46951889)

    PolicyKit specifically can be compiled to use consolekit instead of systemd for session tracking (this is actually the default, you have to explicitly compile policykit with systemd support).

    Unfortunately this is kind of the downside to binary based package management. Either PolicyKit has to be modified to support both as configurable options, probably involving a maze of symlinks and wrapper scripts, or separate policykit-systemd and policykit-consolekit packages have to be provided.

    If Debian has decided to to go with systemd, this is probably going to be a common issue on that distro, as when given the option of compiling something with it, they probably will.

    Aside from joining us over on the gentoo side (open-rc is life but using something else is easier as it's just a use flag for most packages), or maintaining your own sizable collection of custom-built packages, don't know what to tell you!

  • by Anonymous Coward on Thursday May 08, 2014 @02:52PM (#46952081)

    I wish people who wanted windows would just stick to windows instead of infecting linux

  • by Anonymous Coward on Thursday May 08, 2014 @02:52PM (#46952093)

    It isn't just the boot. Lennart now calls it "Core OS" and he means it. NetworkManager was crap, admit it. After years it still couldn't do everything the software it replaced did but it no longer matters. Latest systemd now even nukes it and replaces it with a all new Core OS replacement that won't work. Which is part of the pattern of destruction that defines Pottering's way of working. PulseAudio is still mostly broken and that was his first project that got any widespread attention. Guy is leaving a trail of destruction wherever he goes and for some strage reason he being allowed to go everywhere.

  • by armanox (826486) <asherewindknight@yahoo.com> on Thursday May 08, 2014 @02:54PM (#46952113) Homepage Journal

    Wow....someone asks what they can do about having a software package shoved down there throat and your response is just open wide and swallow? I thought this was supposed to be about freedom. Wait, GNU/Linux is about freedom, as long as it's what they want you to do....

    On a more serious note, any software that wants UNIX compatibility will keep supporting SystemV/BSD init. I get the distinct feeling that Oracle and especially the BSD guys don't want anything to do with systemD.

  • by Anonymous Coward on Thursday May 08, 2014 @03:00PM (#46952181)

    Your immediate recourse is, indeed, to try and sample the *BSD offerings. Their rc.conf approach I find a lot simpler to deal with than sysv's kludgy linkfarming ever was. It works very well without imposing all sorts of requirements on the rest of the system.

    But the problem is political, and so the solution isn't technical. On the political side, I'm highly annoyed by the approach that resulted in this damage, but it's actually endemic in the linux world: Identify problem, then go berserk on the over-re-design-engineering like you're deliberately aiming for a strong case of second-system effect. One (and my pet-) example is the "better replacements" to their broken ifconfig, incompatible with everyone else (and three mutually incompatible attempts down the road there's no end in sight), but there are many more. The latest batch just have taken the previous failures to new heights of technically working incompetence.

    What is new-ish is that the damage is spreading, in the sense that by design systemd is linux-only yet now various programs that previously worked on Unix in general are starting to depend on it. Apparently a certain bunch of influential people in the linux-sphere want to become their own vendor-lock-in-enabled bubble, to be the next redmond. This is... not good.

    There really is very little recourse other than starting your own lobby war to stop the bunch. Because the problem is mostly politican, the technical side is but a symptom, almost a sideshow.

    Without political pressure, soon linux will be akin to macosx, except with poorer code quality and less unified design: Technically some Unix-heritage, in practice it's its own thing, incompatible with the world. So if you'd like a Unix, your route is to *BSD. If not, you can stay and put up with the slowly mounting pile of crap of which systemd is but one thing, if possibly a tipping point-inducing thing. The *BSD people will still have to find some sort of answer, and soon, or they'll have to decide that everything depending on systemd+friends will be a lost cause anyhow and find alternative software with similar functionality, for the current crop no longer works outside of this brave new linux.

  • Slackware (Score:5, Insightful)

    by Anonymous Coward on Thursday May 08, 2014 @03:01PM (#46952189)

    If you really must avoid systemd, then Slackware is probably the way to go. Alternatively, FreeBSD/PC-BSD are prettly much safe from ever getting systemd. For now you could stick with Debian Stable or Ubuntu LTS, both of them will run for years on the older init systems. So, really, you are pretty safe from systemd for at least three to five years, even in the Debian/Ubuntu corner of the Linux ecosystem.

    But, really, you might ask yourself why go to all the trouble? Is it a philosophy issue? Is it just hating change? Is there something technical causing problems with your computer that is caused by systemd? A lot of people claim to hate it, but rarely give any practical reasons. Sure, there are plenty of philosophical issues with systemd (and lots of personal issues where its developers are concerned), but take a good long look at why you don't like systemd before you try to avoid it.

  • Re:Emacs (Score:4, Insightful)

    by Unknown Lamer (78415) Works for Slashdot <clinton AT unknownlamer DOT org> on Thursday May 08, 2014 @03:06PM (#46952255) Homepage Journal

    Not yet, but eventually [gnu.org]. Systemd has all of the bloat of emacs, without any of the benefits.

  • by Anonymous Coward on Thursday May 08, 2014 @03:10PM (#46952297)

    Whether you love, hate, or are ambivalent about systemd, I think you have to accept it at this point.

    Why hello Mr. Chamberlain, I wondered when you'd show up.

    If there are things you don't understand about systemd, you should read as much as you can to try to figure it out for yourself, and if you can't, you should write up coherent questions and post them in the appropriate forum for help (what is the appropriate forum? I don't know - someone jump in here and help me out.

    For such an influential piece of software driven by such high-falutin' names to be so poorly understandable is a bit of a poor show, wouldn't you agree?

    By hook and by crook, systemd has become the standard way of doing many things in a typical Linux system and it's time for all of us to just accept that and to make forward progress. It's too late to try to work against systemd; it's time to "embrace and extend".

    How... interesting that you're basically declaring systemd to be gospel and everyone's saviour, when it is but the latest take by people who, let's face it, aren't that great with systems design, and aren't all that responsive to critique. Is that why you are advocating no longer offering critique? They won't listen anyway?

    If systemd is so onerous to you that you can't use Linux anymore, then I guess BSD is a possible solution for you.

    Too onerous to use, the new standard.

    But who knows, maybe BSD will eventually adopt systemd as well?

    Then *BSD will cease to be a Unix.

  • by rahvin112 (446269) on Thursday May 08, 2014 @03:10PM (#46952305)

    And I wish people that want Linux to stay frozen would just stop upgrading or move to a system that sure to stay in 1970.

  • Re:Hmm (Score:3, Insightful)

    by Anonymous Coward on Thursday May 08, 2014 @03:20PM (#46952407)

    It being "better" is still open to debate no matter how good your knowledge of openrc is. Extra complexity is extra complexity, and making arbitrary choices just because you feel they are superior doesn't actually make them superior or any less arbitrary. If everyone chose systemd, we wouldn't be regularly having these debates.

  • by Cramer (69040) on Thursday May 08, 2014 @03:20PM (#46952413) Homepage

    To be fair, LILO is very primitive and sensitive. It doesn't read filesystems; it has an installed map (the result of running lilo) that lists the exact blocks to load for a given entry. You cannot load anything that's not in its map. Touch any of those blocks and it can fall apart. GRUB was a vast improvement, but also adds a great deal of complexity. (GRUB2 even more so.)

  • Re:OpenBSD (Score:4, Insightful)

    by Noryungi (70322) on Thursday May 08, 2014 @03:26PM (#46952487) Homepage Journal

    How right you are: https://www.google-melange.com... [google-melange.com]

    I would trust OpenBSD systemd replacement over the original any day.

  • Re:Hmm (Score:4, Insightful)

    by serviscope_minor (664417) on Thursday May 08, 2014 @03:29PM (#46952517) Journal

    And as a former Gentoo dev with a good knowledge of openrc, systemd is one or two levels above.

    How? I'm ont being snide. I have an arch system that went through the upgrade. I don't see much difference. Basically none at all. What is, in practice, actually better about it for dat-to day use and administration?

  • Re:I wrote OpenRC (Score:5, Insightful)

    by crow (16139) on Thursday May 08, 2014 @03:41PM (#46952649) Homepage Journal

    Thanks for OpenRC. I *love* how it works on my Gentoo system. The ability to load custom variables for any script with /etc/conf.d files is wonderful.

    I've gone a bit crazy with my /etc/conf.d/net, automatically setting up a ssh tunnel home if it sees that it's on an outside network (and trying several methods to get the tunnel working). If it's on ethernet, it switches the WiFi to being an access point. Lots of fun. I just wish the preup()/postup() functions were part of all the init scripts, not just the net script.

    I also make use of /lib/dhcpcd-hooks to clean things up if the local network is unfriendly. If the provided DNS server mangles entries for non-existent domains, and if it doesn't block Google, it switches over transparently in my local script.

    The paradigm of letting the user modify the behavior through regular shell scripts is extremely powerful. Thanks for keeping it alive.

  • by Rutulian (171771) on Thursday May 08, 2014 @03:42PM (#46952665)

    Hate to break it to you, but when you install a distribution, you have a lot of software "shoved down your throat." It is what a distribution is, after all, and has been the case since forever. The maintainers decide what functionality is in the base system, what packages are installed in meta packages, what versions, what optional features to compile in. The only way around it is to use a source distribution like gentoo.

  • by Anonymous Coward on Thursday May 08, 2014 @03:43PM (#46952671)

    To the point where they aggressively refuse to support anything but glibc - too bad if you want to use uClibc.

  • by Bryan Ischo (893) * on Thursday May 08, 2014 @04:04PM (#46952941) Homepage

    Specious argument. Nobody said you *have* to accept systemd. I said you *should* accept systemd, and I gave reasons why you should. You still have the freedom to disagree and do your own thing regardless of what I say.

    I would have thought that were so obvious that it didn't even necessitate your reply, but since you've been modded "+5 Interesting" I guess lots of people also completely missed the point.

  • by allo (1728082) on Thursday May 08, 2014 @04:10PM (#46953007)

    the systemd init may be brilliant, if it would be isolated. But its mixed up with udev, syslog and even gnome to some extent. This cannot be an good idea, because stuff like init needs to KISS.

    http://wizardofbits.tumblr.com... [tumblr.com]

  • by Bryan Ischo (893) * on Thursday May 08, 2014 @04:13PM (#46953027) Homepage

    OK fine then, don't accept it. Waste your time and money fighting the inevitable, just so that you can be "right", when you could have spent less time and money cooperating on fixing the thing so that you can be "right" *AND* have more time and money in the end, and a better outcome all the way around.

    Look, I don't love systemd; I quite dislike it in fact. But it should be pretty clear to any moron that it's already become entrenched and it's not going anywhere. So you can cry and try to take your ball and go play in your own ever shrinking room, or you can try to improve the bed that you are inevitably going to have to sleep in.

    My advice was to wake up, wise up, and try to positively affect the ecosystem that you live in, instead of crying and living some kind of pipe dream that you'll be able to use Linux and not have to use systemd.

    Also, all you anonymous cowards can kiss my ass.

  • Re:Hmm (Score:2, Insightful)

    by Anonymous Coward on Thursday May 08, 2014 @04:28PM (#46953229)

    What is, in practice, actually better about it for dat-to day use and administration?

    Well for one, if your system won't boot from disk anymore, you can no longer boot from alternate media and simply cat or tail the log files to see why.
    The log files are binary now, so just like on Windows, your only option is to send the logs elsewhere to be read and interpreted. But there is no option for you to know what is going on anymore no matter if you would be capable of fixing it or not.

    Another improvement is legacy services which will all be disabled in the near future, as Lennart stated he will be doing.
    Hope all of your software is still being maintained and was compiled in the past couple months!

    Personally if I wanted my system to fight me to keep it running, I would make all the servers Windows. I see no need to take Linux down the closed source "no one but The One maintainer can read your logs" path like the other commercial unixes

  • Re:No... (Score:3, Insightful)

    by Arker (91948) on Thursday May 08, 2014 @04:39PM (#46953345) Homepage
    ""If you do not like it, fix it" is still valid."

    How about if it isnt broken, dont fix it? Isnt that still valid?

    BSD init works great. First you want me to replace it with an overengineered monstrosity that offers me no benefit, and then when I refuse, you think *I* should fix it? Why? Why would I bother fixing it when I dont want or need it?

    OK, fine, for the sake of argument let's say I should fix it. Easily done. Delete the whole damn tree, and replace it with init. Job done, let's get a beer.

    Sheesh.
  • by Bacon Bits (926911) on Thursday May 08, 2014 @05:04PM (#46953641)

    I would have thought that were so obvious that it didn't even necessitate your reply, but since you've been modded "+5 Interesting" I guess lots of people also completely missed the point.

    It's a theme on the Internet. If you don't qualify every minor nuance of your statement, or carve out an exception for every conceivable corner case, someone calls you out on it. Nothing can be left as an excercise for the reader, because too many readers are pedantic or intellectually dishonest.

    Usually it's intentional equivocation masked as an attempt to sound intelligent or continue the argument when they no longer have a real point. Often they boil down to syntactic or semantic arguments, belaboring point after point until those with solid points are swarmed by nits. Unfortunately, that makes it very difficult to tell when someone is being obtuse versus when they are being curious or have a legitimate point.

  • Re:No... (Score:5, Insightful)

    by Arker (91948) on Thursday May 08, 2014 @05:09PM (#46953691) Homepage
    "The author is basically saying: we shouldn't take the risk of writing complex software."

    No, he's saying you shouldnt write software that is more complex than it needs to be *for a critical system component* - and he's right. Get as complex as you want to be in your application, but things like init systems need to be taken more seriously.

  • Re:No... (Score:5, Insightful)

    by t_hunger (449259) on Thursday May 08, 2014 @05:19PM (#46953773)

    If you think sysv init is not broken, then you must not have been using unix systems in earnest.

    It is only simple till you want to have a reliable boot without races... BSD init is way simpler, true, but then that was deemed to be too inflexible already in the golden times of Unix. You really want to go back to that? Seriously?

    You are aware that udev is part of that tree you are proposing to delete? With eSATA harddrives coming and going, projectors that get attached at random times, all kinds of gadgets with USB connectors? No thanks, I want something that I do not need to change a the boot script and then reboot when I plug in a mouse.

    Let me keep systemd and go straight for a beer instead of bombing my system back into the 60s.

    That way I can also update all the software I care about (much of it already depends on systemd or will do so soon), I get
    * the journal instead of a set of randomly formatted text-dumps all over /var/log,
    * a convenient way to kill apache with all the crap that it started,
    * a more robust boot process that is not sprinkled with sleep 5 statements to give daemons enough time to be fully up before bringing up services that depend on them being there.
    * a more secure system by being able to isolate daemons from one another and the rest of the system.
    * a lot of convenient system config tools that work on (almost) all modern Linux distributions and do so even better that the "do one thing and do it well" tools that got replaced by them

    Sheesh:-)

  • by ultranova (717540) on Thursday May 08, 2014 @05:23PM (#46953817)

    Why hello Mr. Chamberlain, I wondered when you'd show up.

    Someone Godwins a discussion about the merits of Linux bootup mechanisms. Someone else mods that Insightful. All that's missing is for someone to compare tmpfs to a death camp... Oops, too late.

    And 4chan gets called the Goatse of the Internet.

  • by Arker (91948) on Thursday May 08, 2014 @05:29PM (#46953857) Homepage
    "First, I have to ask, what is wrong with systemd?"

    It's a massive, complicated, and very poorly behaved substitute for a simple, robust, and well behaved program. And it's not just a regular program, it is (if used as intended) a critical system component that will take your entire system down when it goes wrong.

    If it were just a bad program, that's no big deal in and of itself, there are plenty, you just avoid them. But these people are not hackers, they have a marketing engine and are aggressively attempting to push themselves into a position where it WILL become impossible to avoid them and still use many new programs. That's beyond offensive. That's an attack on the Free Software ecosystem itself.
  • by sjames (1099) on Thursday May 08, 2014 @05:34PM (#46953907) Homepage

    Again, I can see how it is annoying, but if you have an /etc/fstab entry that wants to steamroll a systemd entry, it is understandable that systemd will try to stop that from happening.

    Or it could just honor fstab since that has always been the correct way to specify mounting a filesystem.

    So, systemd doesn't just start/stop services, it also monitors them and can be configured to take certain actions depending on what happens to a particular process.

    I see no reason that should need to touch system logging at all other than adding a log entry if it has to take action.

  • by sjames (1099) on Thursday May 08, 2014 @05:44PM (#46953991) Homepage

    Yes, there was. For a long time, they existed in parallel. Nobody minded because neither tried to make everything under the sun depend on it rather than the other.

    In fact, there's no technical reason systemd couldn't peacefully co-exist.

  • by steelfood (895457) on Thursday May 08, 2014 @05:59PM (#46954107)

    I like how people automatically assume change == good. Maybe I'm getting old, but it seems to be a young person thing (as is the rewrite everything from scratch mentality).

    Change is change. It can be good, it can be bad. I'm not an expert on such things, but from everything I've read, the change to systemd is bad. And it seems to be a bad change in much the same ways the examples of change you gave (Metro, Unity, etc.) have turned out to be bad.

    The Unix philosophy has always been to do big things by using little pieces. To violate this philosophy is not necessarily bad, but it would seem like trying to fit a round peg into a square hole. Sure, if you hammer it in hard enough, the thing will fit. But your square hole might have trouble fitting square pegs through afterwards, and your wooden board might crack after you fit more things through the hole irrespective of shape.

    I'd have used a car analogy, but the best I could come up with is using the wrong kind of motor oil, which when put that way, doesn't seem quite as severe as the systemd problem.

  • Re:No... (Score:5, Insightful)

    by rev0lt (1950662) on Thursday May 08, 2014 @06:10PM (#46954169)

    BSD init is way simpler, true, but then that was deemed to be too inflexible already in the golden times of Unix

    These are the golden times of Unix.

    You really want to go back to that? Seriously?

    You sound like its a bad thing. Its not.

    the journal instead of a set of randomly formatted text-dumps all over /var/log,

    I'll take the text-dumps any day, thanks. And since they're usually created via *syslog*, they may not even be stored locally. And they are easy to manipulate with the available shell tools (grep; cat; awk; etc). If you want a database-driven syslog, there are plenty around.

    a convenient way to kill apache with all the crap that it started,

    It seems you're getting closer to the real problem. Apparently you don't know how to operate a vaguely modern unix system.

    a more robust boot process that is not sprinkled with sleep 5 statements to give daemons enough time to be fully up before bringing up services that depend on them being there.

    Usually the sleeps are for hardware settling, not for script startup. Eg. when you plug a USB device that may take a couple of seconds to be available after powering on. This will be needed *regardless* of what script is running the show. And dependency management on start scripts is a solved problem. Have a look at FreeBSD/NetBSD rc.d system, or Solaris SMF.

    a more secure system by being able to isolate daemons from one another and the rest of the system.

    So, its a startup daemon AND a kernel, huh?

    a lot of convenient system config tools that work on (almost) all modern Linux distributions and do so even better that the "do one thing and do it well" tools that got replaced by them

    Convenient for who? For you, because you cannot be bothered into using the existing tools? You may have some unusual requirements, it doesn't mean everyone else has the same needs. And while I'd applause a sort-of-standard way of bootstrapping Linux distros, adding complexity seems to be a pretty stupid approach.

  • by sjames (1099) on Thursday May 08, 2014 @06:12PM (#46954189) Homepage

    Systemd COULD be a good thing if it would stick to starting up the system. It should START udevd, not BE udevd. It should START dbus, not BE dbus. It should be trivially easy to do any of:

    Switch from systemd to SysV, switch from SysV to systemd, use systemd but honor the SysV init scripts. With a bit of work fron the systemd folks, it should even be fairly easy to use SysV and have it start systemd to monitor select daemons.

    Do that and every single objection would go away immediately.

  • Re:No... (Score:4, Insightful)

    by Arker (91948) on Thursday May 08, 2014 @06:19PM (#46954247) Homepage

    "If you think sysv init is not broken, then you must not have been using unix systems in earnest."

    SysV is broken, yes, and systemd is worse. I do not use or want either of them.

    "BSD init is way simpler, true, but then that was deemed to be too inflexible already in the golden times of Unix. You really want to go back to that? Seriously?"

    What go back? Never left. [slackware.com]

    "the journal instead of a set of randomly formatted text-dumps all over /var/log,"

    A huge regression. Replacing a simple, robust, well supported system with something overly complicated is NOT a gain for me.

    "a convenient way to kill apache with all the crap that it started,"

    Something wrong with apachectl stop?

    "a more robust boot process that is not sprinkled with sleep 5 statements to give daemons enough time to be fully up before bringing up services that depend on them being there."

    You're confused, you actually getting a less robust boot process here. But it will be faster!

    Well, ok. My computer boots fast enough without it, thanks.

    "a more secure system by being able to isolate daemons from one another and the rest of the system."

    A far less secure system actually. Without it, the only real attack front is sshd. With it, we suddenly have another front to worry about - and an attack here is likely to be much more damaging.

    "a lot of convenient system config tools that work on (almost) all modern Linux distributions and do so even better that the "do one thing and do it well" tools that got replaced by them"

    You REALLY seem confused now. You have the players backwards.

    "Sheesh:-)"

    Exactly.

  • Re:No... (Score:5, Insightful)

    by segedunum (883035) on Thursday May 08, 2014 @06:31PM (#46954323)

    the journal instead of a set of randomly formatted text-dumps all over /var/log,

    Yes, those would be called, errr, yes, LOGS.......

    As a sys admin I want something I can read when my system goes wrong and I don't want to have to get a retarded web server up and running to read them.

    Seriously, people suggesting this kind of retarded shit don't know Unix, don't know Linux and don't have the faintest idea whatsoever. Go and read a Windows registry file, have fun and knock yourself out but don't bring that retarded crap so an operating system that actually works.

  • Re:No... (Score:5, Insightful)

    by t_hunger (449259) on Thursday May 08, 2014 @07:15PM (#46954637)

    the journal instead of a set of randomly formatted text-dumps all over /var/log,

    I'll take the text-dumps any day, thanks. And since they're usually created via *syslog*, they may not even be stored locally. And they are easy to manipulate with the available shell tools (grep; cat; awk; etc). If you want a database-driven syslog, there are plenty around.

    You can wire up syslog to the journal. Why would you want to convert rich information into a string and shove it down a pipe before you make use of it? Let's start with a useful format and use lossy conversion methods on that when needed, not the other way around.

    You are not ripping your CDs to mp3s either so that you can burn other CDs by converting those mp3 files to WAVs either, do you?

    a convenient way to kill apache with all the crap that it started,

    It seems you're getting closer to the real problem. Apparently you don't know how to operate a vaguely modern unix system.

    So please enlighten me: How do you kill apache with all the php/ruby/whatnot crap it directly or indirectly spawned? With systemd it is just one convenient systemctl stop apache

    Please do not assume that I am too young or too stupid to know the good old ways. I have been around for a while, even though I still have not managed to learn not to get into discussions at slashdot that are bound to end up in namecalling.

    a more robust boot process that is not sprinkled with sleep 5 statements to give daemons enough time to be fully up before bringing up services that depend on them being there.

    Usually the sleeps are for hardware settling, not for script startup. Eg. when you plug a USB device that may take a couple of seconds to be available after powering on. This will be needed *regardless* of what script is running the show. And dependency management on start scripts is a solved problem. Have a look at FreeBSD/NetBSD rc.d system, or Solaris SMF.

    I was more thinking about starting postgres before the server that uses that DB to store its stuff. Grep for "sleep" in the init scripts of the sysv-init distribution of your choice: You will be surprised.

    a more secure system by being able to isolate daemons from one another and the rest of the system.

    So, its a startup daemon AND a kernel, huh?

    Check out http://www.freedesktop.org/sof... [freedesktop.org] , especially all the options starting with "Private" there.

    a lot of convenient system config tools that work on (almost) all modern Linux distributions and do so even better that the "do one thing and do it well" tools that got replaced by them

    Convenient for who? For you, because you cannot be bothered into using the existing tools? You may have some unusual requirements, it doesn't mean everyone else has the same needs. And while I'd applause a sort-of-standard way of bootstrapping Linux distros, adding complexity seems to be a pretty stupid approach.

    Convenient for everybody. Just try the things that come with systemd. Most are a real improvement over the existing tools to manage hostname/date/time/timezone/locale/service/network/efi boot loader/virtual machine/whatnot. At the very least they are way more consistent in how they work and they work on all modern Linux distros in the same way. That was never possible before.

    Yes, I know: Just suggesting to look into systemd is sacrelegious:-) Sorry, I won't do that again.

    Let's just wait a year or two. By then all the hotheads that are running for the BSDs now will be back, everybody will be using systemd (including gentoo and slackware) since it clearly is the best approach available right now. When somebody finally comes along in 10 or 15 years with a good idea to replace systemd she will be yelled at for breaking away from the tried and true systemd that has been good enough for everybody this past decade.

  • Re:No... (Score:5, Insightful)

    by RabidReindeer (2625839) on Thursday May 08, 2014 @07:16PM (#46954647)

    I just spent a merry 45 minutes trying to get Fedora 20 back up and running after a reboot. Systemd kept knocking it into Emergency Mode with no indication as to why. I'm still not certain whether it was a failing mount or a video card acting up. Or something else I don't know about yet.

    SysV init is unquestionably feeble when it comes to controlling systems with complex daemon interdependencies. But putting stuff into sealed packages with No User Serviceable Parts Inside is not the way to go. I had to deal with that under OS/2 and it's one of the things I hated most about OS/2.

    There is a tendency these days to offer a "complete solution" and to sneer at the ungrateful unwashed masses. But complete solutions never turn out to be complete enough. And these "Complete Solutions" are infamous for eliminating popular features that were in their predecessors. The systemctl facility admits that there are certain things that it cannot at present do that the cruder, but more flexible scripts of SystemV supported, and it's far from the worst offender.

    Unix was developed on the philosophy that you didn't attempt to make one program do everything, you strung together simpler tools. Likewise, it logged to plain text files, which makes them accessible to a whole raft of text utilities, instead of a handful of specialized log utilities a la IBM. Besides which, a text file has to be seriously mangled before it's totally useless when everything's shot to Hell. Most binary files break far more easily and are far harder to repair.

    If we forget where we came from, we're going to end up acquiring many of the same faults as Windows.

  • Re:No... (Score:2, Insightful)

    by brantondaveperson (1023687) on Thursday May 08, 2014 @07:57PM (#46954879) Homepage

    Can you help me out here? I would love to know what the crux of this little flamewar that's going on around here actually is. Near as I can tell:

    1) init is pretty much just a bunch of shell scripts that are used to start & stop services. It, IMHO, qualifies as an unmitigated hack
    2) systemd is... what? Something sensible that at least attempts to start & stop services in a standard way?

    I mean, forgive me, but it seems that this is a vast improvement. Who wants a system that's basically a collection of scripts? That just seems so fragile and un-documentable.

    And then, into this, comments such as yours are thrown:

    No it hasn't. Process ID 1 should do very little. That has always been the premise of init systems. When you've got something that does the exact opposite then you've got a problem.

    When I see a statement like that I think to myself - why. What is sacred about PID 1? Why should it do very little? How is this a premise of an init system? And would you be happier if PID1 launched systemd as, I don't know, PID2, and then did very little?

    I really seems to me that getting rid of that horrible kludge of shellscripts and moving towards a standardised and sensible startup process is a big step forwards in Linux land.

  • Re:No... (Score:4, Insightful)

    by Arker (91948) on Thursday May 08, 2014 @09:24PM (#46955449) Homepage
    "That kill apache, not the crap it started and that forked itself away."

    I cant be completely sure here, but there is a funny pattern I have noticed over the years that may explain your experience. Over and over again, I hear about problems that require these over-engineered solutions from people running over-engineered distros that I just cannot reproduce using my (cleaner) system. So I suspect somewhere in your excessively complex system you have managed to break apache in a way that I cannot reproduce using a simpler system.

    And yet this is an argument for introducing yet more excessive complexity to remedy? Doesnt make sense to me.

    "Systemd can set up filesystems without racing, something that is not possible with sysv init. No more races makes for a more robust boot. In fact systemd does address most of the race issues found in the debian init system. Go and check their bug tracker if you do not believe me."

    Why would I care? I dont use that system and am not affected by their bugs.

    "That you were unable to configure your system to make it boot with systemd is anecdotal evidence at best."

    It's not anecdotal evidence it's an invention on your part. WTF? You lost the thread man.

  • Re:No... (Score:2, Insightful)

    by Anonymous Coward on Thursday May 08, 2014 @10:35PM (#46955857)

    I guess you didn't notice
      - the journal doesn't support remote loggings - so you can't get logs anymore that are not spoofed.
    - the inconsistant startup of apache that fails.... sometimes.
    - an inconsistent boot process that doesn't let you change your swap configuration... and hangs sometimes
    - a less secure system because you can't get logs, and lose log information, and can't debug problems due to timing failures caused by the rest of the system
    - a lot of inconvenient system config tools that don't always work, or do the wrong thing sometimes. The "do one thing and do it well" tools got replaced by tools that try to do everything, none of them done very well.

    Not to mention that a network analysis tool that cannot solve the NP problem that is part of network analysis...

    And the constant patching of services because systemd can't properly schedule services...

    Just adding a new service to a startup can spawn all kinds of failures due to the inability to handle a specified order...

    You people that think systemd is wonderful have never had to debug a complex system. systemd sucks big time - it can't be secured (it does too many things poorly).

  • Re:No... (Score:4, Insightful)

    by Arker (91948) on Thursday May 08, 2014 @10:41PM (#46955877) Homepage

    In my first message I was chatty but I cited some. Anyway: cgroups, reliable mount handling (boot time barrier and during system uptime), socket and filesystem based activation. These features alone remove plenty of race conditions in services life cycle."

    I dont see anything there that Slackware has ever given me a problem with. I know it supports cgroups, mount handling? You mean automounting removable drives on insertion? That was working for years before anyone ever heard of systemd.

    On the other hand socket activation [0pointer.de] is not to the best of my knowledge supported, but I think that's a good thing. What a horrible hack! They took something very simple, logical, and robust (serial activation of services) and made it orders of magnitude more complicated, doubtless creating bugs that we will be discovering for many years to come in the process, and for what? To shave 5 seconds off a task that that you might need to do once a year? In what twisted alternate reality would this possibly seem like a good idea to anyone?

    These features alone remove plenty of race conditions in services life cycle.

    You know what is even more effective at removing race conditions? Serial activation. And all it costs is a few extra seconds in the rare event of a reboot.

  • by sjames (1099) on Thursday May 08, 2014 @11:34PM (#46956121) Homepage

    Do one thing well. Build more complex actions by putting smaller parts together. Swiss army knife system utilities need not apply. That is the Unix way.

    Mount -a is the perfect way to mount filesystems needed to init the machine. The rest can be mounted by a daemon as they become available. My / filesystem resides on an HDD that is bolted in to the system, if it's not there, there is nothing to boot, so why does it need to be 'monitored'?

  • by BadDreamer (196188) on Friday May 09, 2014 @01:35PM (#46960927) Homepage

    "First of all, each script is code."

    That is a feature, not a bug. I *want* my scripts to be code. That is why they are scripts-

    "Second, no script is aware of any other scripts presence"

    That is a feature, not a bug. The UNIX way is to do one thing, and do it well. That is how the init scripts should be constructed. Anything else is a failure in design.

    "Third, a typical shell script is >100 lines of block logic to implement the equivalent of "service start"."

    Which is perfectly fine, as the parameters (if any are needed) are gathered at the top, easy to find and commented. But usually none are needed as they are in the config file for the service.

    Thus, these arguments are either neutral or work against systemd. None show systemd to be in any way better. It's a monolithic lump which has no place in a UNIX style system.

Our business in life is not to succeed but to continue to fail in high spirits. -- Robert Louis Stevenson

Working...