Slashdot Mirror


You Got Your Windows In My Linux

snydeq writes: Ultimately, the schism over systemd could lead to a separation of desktop and server distros, or Linux server admins moving to FreeBSD, writes Deep End's Paul Venezia. "Although there are those who think the systemd debate has been decided in favor of systemd, the exceedingly loud protests on message boards, forums, and the posts I wrote over the past two weeks would indicate otherwise. I've seen many declarations of victory for systemd, now that Red Hat has forced it into the enterprise with the release of RHEL 7. I don't think it's that easy. ... Go ahead, kids, spackle over all of that unsightly runlevel stuff. Paint over init and cron, pam and login. Put all of that into PID1 along with dbus. Make it all pretty and whisper sweet nothings about how it's all taken care of and you won't have to read a manual or learn any silly command-line stuff. Tune your distribution for desktop workloads. Go reinvent Windows."

16 of 613 comments (clear)

  1. What's wrong with Windows Server? by recoiledsnake · · Score: 5, Insightful

    What's wrong with services.msc on a Windows Server machine? Any serious answers from people who actually used it?

    --
    This space for rent.
    1. Re:What's wrong with Windows Server? by gandhi_2 · · Score: 5, Insightful

      Not having to manage licensing... is a gift all its own. I'm not talking about not buying licenses, I mean not having to deal with ANY of that shit for servers... a blessing.

    2. Re:What's wrong with Windows Server? by whoever57 · · Score: 5, Insightful

      Rather than have an /etc/init.d/myservice restart all related services to ensure a "clean" environment, I can list dependencies and triggers and rely on the system to do what is appropriate.

      So it solves a problem that Gentoo solved years ago in its script-driven init system?

      --
      The real "Libtards" are the Libertarians!
    3. Re:What's wrong with Windows Server? by nabsltd · · Score: 5, Insightful

      Almost everyone I've asked that has expressed hatred of SystemD hasn't actually used it.

      I've used it. I hate it.

      Ignoring the very real problem that putting so damn much in PID 1 is dangerous for system stability and security, systemd is generally OK for all distribution-supplied packages. But, if you have anything at all that the packagers didn't think of, it's a pain in the ass. For example, getting sendmail to not start until the clamd server is ready to accept connections isn't easy using systemd, but trivial using a standard init script.

      Also, despite the fact that dependencies are baked-in to systemd, it's not at all uncommon for a service that depends on an something else (service, NFS mount, etc.) to still start up before the dependency is fully ready, simply because the default systemd is to assume the dependency is fulfilled as soon as whatever "starts" it returns.

      Next, there is no easy way to copy existing dependencies to another service (which would be the best way to start creating your own), mostly because the systemd docs and examples simply suck.

      Last, the dependency system absolutely screams for a GUI interface to be able to follow and configure it, but when one finally is created (if it hasn't been already), it'll be useless on servers, because nobody with brains installs a GUI on the server.

    4. Re:What's wrong with Windows Server? by Aboroth · · Score: 5, Insightful

      I'm really sick of reading that excuse. Whenever somebody doesn't like something new on computers, the people who do like the new thing immediately jump to "well it's just because you don't like changing."

      This was easily the loudest, most repeated response to somebody hating the Metro interface on their desktop, and it should be clear by now that sometimes, avoiding change isn't the primary reason why craploads of people hate something new. Sometimes the new thing just... sucks.

    5. Re: What's wrong with Windows Server? by elgatozorbas · · Score: 5, Insightful

      Even if I were to never even look at a single line of the source, the fact that it's availble to others adds value for me. I can go download a patch someone else wrote that fixes a bug MS hasn't bothered to fix. [...]

      I am also in favour of Open source myself and get your point. However, after the OpenSSL bug, my belief in this "someone else" has significantly lowered. If too many people rely on "someone else" fixing a problem in his/her spare time you are worse off than when people are paid to fix closed source software. If the problem is important ($$$) enough, it wil be fixed.

    6. Re:What's wrong with Windows Server? by Korgan · · Score: 5, Insightful

      By contrast, UNIX/LINUX servers are much more difficult to configure and generally require a lot more man-hours and a more experienced (and expensive) staff.

      This is a fallacy. There are numerous studies that have shown that a single Unix admin is able to manage more Unix/Linux/BSD servers than a single Windows Admin. It is far more cost effective, in larger environments, to run Unix servers than Windows servers when it comes to ongoing maintenance. It is also well documented that a Unix/Linux server build can be online and running significantly faster than a comparable Windows build.

      Simply put, how long does it take to get something like an Oracle DB up, running and usable on Windows vs Linux? What is the cost of that build, including the licensing and the time it takes to put together? I can image a Linux based server with only the stuff I need significantly faster than I can do the same in Windows Server 2012.

      The fact that Windows Server is still able to survive on expensive license fees when Linux and BSD are free is pretty telling. Companies are doing a cost-benefit comparison and finding that they are saving more money going with the paid solution than the free solution.

      No, generally cost has nothing to do with whether a company chooses Windows over Unix/Linux or not. Convenience plays a huge part in it. Most small and medium sized businesses probably don't even realise they have options. Windows is often picked as the default because that is what the kids from the past 20 years have been taught or all they've managed to pick up through school. Again, convenience and knowledge over cost.

      It also comes down to ease of management. Its a lot easier to implement Active Directory for user and device management than to do the same with OpenLDAP. Many companies pick Windows because they can do simple tasks like manage users themselves and not need to pay an admin to do that kind of thing for them.

      It is very similar to what you see happening on the desktop with the domination of easy-to-use and configure Mac and Windows over KDE or Gnome, except on the server-side it is mainly an issue of the ease of use for the system administrator, and the fact that a good Unix admin is much more expensive and harder to find than an MCSE certified admin.

      A good Unix admin can manage a larger pool of servers, off-setting the cost of having to hire multiple Windows admins. However, the cost of Unix admins is not significantly different from the cost of Windows admins. In fact, most Unix Admins are also very capable Windows Admins and so you get a two-for when they're hired.

      Easy-to-configure Windows and Mac are a strawman. Gnome and KDE are no more difficult to configure than Windows or Mac. The difference is in actually having taken the time to learn them. Arguably you have more control over the Gnome and KDE environments. What puts Windows up there is that through the 90s no one had a choice when buying from OEMs, so everyone learned the basics of Windows. That then bled into the 2000s where it was easier to stick with the devil you knew rather than learn everything over again.

      It has very little to do with the cost of the systems and far more to do with people being comfortable with what they know. Look at how badly Windows 8.x and Windows Server 2012 are doing at the moment. They are such major changes that require significant relearning of some major fundamentals, that people are simply not switching to them. Windows 7 and Windows Server 2008 R2 still dominate the corporate/business market. People aren't upgrading to Win8/2012 for the same reason they're not switching to Linux. They have to make a significant effort learn how to use the systems.

    7. Re:What's wrong with Windows Server? by Korgan · · Score: 5, Insightful

      LOL. Maybe with the command line based log reader? Or maybe you have never used the last command to parse the binary log file which is wtmp either.

      Have you ever had to monitor server logs remotely?

      Explain to me how to easily set up an alert to trigger on an event in a binary log? I can handle that easily in a syslog text log, but I'd love to know how *you* easily do that with a binary log. Could you give me the awk script for it? No? How about just a simple regexp for locating a single type of event that I can have running against the stream of log data as it gets logged into the file?

      Binary logs are basically useless to me. I cannot automate them in real time. I cannot filter them easily in a script. I essentially have to parse them manually, or dump them to text and then filter them. What a huge waste of time.

      I can leave a script running against a syslog text log, tracking everything as it gets streamed into the file, and I can instantly trigger an alert against an event. Very easily. Very simply.

      I cannot do that with systemd binary logs.

    8. Re:What's wrong with Windows Server? by ObsessiveMathsFreak · · Score: 5, Insightful

      Why replace pam.d, crond, init, and add complexities like dbus in a single package that runs at PID1 when it doesn't need to?

      Because confident young men in a hurry to make their own mark on the world have little time for learning the tools or the lessons of the past.

      --
      May the Maths Be with you!
    9. Re:What's wrong with Windows Server? by Zeio · · Score: 5, Insightful

      Closed source isnt even the bar anymore. GPL lunatics crib about CDDL and a whole host of other licenses. I'd rather have closed source that works than open half-bake.

      systemd is breaking UNIX tradition - which is things may suck, but they suck simply. Now its a horrible mess. We now have (1) scripts, (2) openrc, (3) upstart and (4) systemd. What a sick joke.

      And the best thing I've seen so far to replace startup scripts is Sun's SMF... NIH alert! We couldnt have copied that - something that actually worked - no we need to have yet another method of starting things.

      Worse thing is eth0 is now en0p1FuK0001, drivers are modprobbed in random order, stuff gets renamed and moved around, and NetworkMangler aka NetworkManager is shoved down our throats.

      Its horrible. And its very desktop-ish.

      What do you expect from a guy whose magnum opus was a sound framework for linux. Yeah, thats the guy you want re-writing how everything starts and stops. Dont copy the guys who invented NFS or ZFS or stuff like that, copy the junk the sound guy comes up with.

      --
      Legalize the constitution. Think for yourself question authority.
    10. Re:What's wrong with Windows Server? by Endymion · · Score: 5, Insightful

      I've used it and could list SystemD's various technical issues, but that isn't and never has been the point.

      The complaints we have about SystemD - and the Poettering cabal in geneal - is not about any technical issues. Bugs can be fixed; bad design, antisocial not-invented-here attitudes, and disregard/blindness to any use case outside their experience are what we have been complaining about. After about 2 years of arguing the topic, we've had to add rudeness, blatant propaganda, and attempts to bully opposing views to the list of complaints.

      Typically, SystemD defenders - such as yourself - spend a lot of time and effort disrupting forums and discussion threads by posting strawmen, non-sequiters, or simply praising SystemD as it applies to very narrow use-cases. Recently, the tactic has bene what you are doing right now: accuse the opposition of being "old" or "luddite" or "hating change". It is quite telling, actually: a big complaint against SystemD's development style (as mentioned in this article if you bothered to RTFA) is that they don't bother to understand how people outside their immediate group actually use their computers, or what their needs are. Comments like this are exactly what we're talking about.

      Nobody has been saying systemd should be banned or that you wanting to use it is bad. Nobody has said OpenRC or sysvinit should be the only option. If some tool solves problems for you or make your life easier - or even if you just like the tool's style/asthetics - then use it. What we're complaining about, more than anything else, is the tight coupling that SystemD has been doing, as it prevents everbody else from having that same freedom of choice.

      Once, a very long time ago (internet years) when an image of a certain borg-ified CEO was common, there was a phrase that was commonly used to describe Microsoft's monopolistic actions against competing technologies: embrace, extend and extinguish. Many discussions on slashdot warned about how Microsoft was trying to "embrace and extend" various standards such as Kerberos.

      So instult us if you like - it makes our arguments against SystemD's attitude for us. You can even sit in ignorance, if you desire, while Poettering embraces and extends linux so he can remove all the useful parts form it. The rest of us that have watched this happen before will continue using Free Software that preserves freedoms such as the freedom to choose your init system. We have been marginalized and a social outcast in the past and are used to crap like this. Just remember that it was that same freedom of choice that provided a place for SystemD to be developed in the first place.

      --
      Ce n'est pas une signature automatique.
  2. The Future! by elysiuan · · Score: 5, Insightful

    Oh day of days! Now it needs to statically link in gconf and we'll all have a registry too!

    Is anyone really concerned about this? Let me put on my prophetic wizard hat and predict how this is going to go from here:

    1. Systemd isn't going anywhere. The distros that use it will largely continue to use it.
    2. Enough people hate Systemd enough the motivation to create some distros that absolutely do not use it will be very high.
    3. Such distros will be created (Maybe use nixos/nix/guix as the base for extra change-it-up-ability.).
    4. Much like Mate/Cinnamon vs Gnome 3: people will use both the systemd distros and the systemd-less distros.
    5. Much gnashing of teeth will ensue for years to come. A la emacs vs vim, kde vs gnome, gnome 3 vs gnome 2, etc ad nausem

    I'm really not trying to be flip but this is just the FOSS process at work here. It's messy sometimes but so is anything that involves people. Embrace the ecosystem that makes this whole argument possible! If Apple or Microsoft decided they want some polorizing system like Systemd to be the new hotness in their OS offerings there's literally fuck all we could do about it. At least with the FOSS environment we have the freedom to make our own decisions

    1. Re:The Future! by Kjella · · Score: 5, Insightful

      If Apple or Microsoft decided they want some polorizing system like Systemd to be the new hotness in their OS offerings there's literally fuck all we could do about it.

      Would that be "fuck all" as in "buy something else", "don't buy at all" or "insist on the old version"? Tanking sales tend to have a very correcting effect on for-profit companies, assuming there's competition to speak of. Sure, I can't decide what that company will do but I can't decide what that OSS project will do either and while I can theoretically fork and maintain my own version it's not really a practical possibility 99.9% of the time. If there happens to be enough people dissatisfied with the direction it's taking to make a fork that's fortunate for me but really outside my control too.

      I've been watching Gnome/KDE trying to battle Windows now for the last 15 years or so and making so little progress YotLD has become the running joke around here ever since Duke Nuke'm Forever shipped. Then I look at Android which is more cathedral than bazaar and it's gone from nothing to 85% world wide market share in 6 years. And the absolutely greatest success the Linux kernel is run like anything but a bazaar, lieutenants are from military hierarchy and it has one general on top - or benevolent dictator for life if that sounds better. Sometimes picking one direction - even if it's not the absolutely best one - beats taking no direction or pulling in ten different directions. Heresy, I know.

      --
      Live today, because you never know what tomorrow brings
  3. Re:Troll much? by Junta · · Score: 5, Insightful

    What I don't understand is why systemd advocates continue to not understand the perspective of those against it. Critics tend to recognize what systemd brings to the table and debate from that point. Advocates just call those people idiots, curmudgeons, and so on rather than understanding the perspective of the opposing viewpoint. It's quite maddening.

    Init runs as PID 1. Systemd runs as PID 1.

    Most init systems have a negligible amount of code running as pid 1, meaning init itself is unlikely to ever cause a blip at runtime. The complaint is what the implication for the complexity and volume of code in systemd approach. A better counter argument would be that the kernel itself has even more complex needs and runs in an equally critical context. That's a bit more defensible, though adding more complexity under that excuse is still a weak one.

    Claiming that "lots of people don't like systemd equates to anything other than lots of people don't understand systemd, but will complain anyway is just stupid

    No, lot's of people who know well enough how systemd works and still don't like it for valid reasons. No one claims it is not capable of things that classic init could not really do, but the question is the relative value of those features and what is given up in the pursuit of those capabilities. systemd is more monolithic in design, involves more compiled code beyond the reach of the typical shell capabilities of a sysadmin, and is more complex in its underpinnings in general. If your boot went off the rails in a classic init system, you can work through it using shell debug because it is comprised of a tiny bit of c code that hasn't changed in an eternity jumping into a sea of plain old shell scripts.. You can chroot and play around a non-booting image if needed. If systemd goes off the rails, it requires a much more complicated debug effort. You pretty much have to start up a container rather than just chroot (admittedly systemd provides a facility to mitigate the complexity of that task, but it is more complex than just chroot). It has a high likelihood of landing in some code a sysadmin is helpless in the face of compared to the same task in classic init scripts. A local mistake can escalate to systemd debug assistance more quickly. This is very much like Windows (which has it's qualities as well) where if things go off the rails very far, it's nearly a lost cause to sort out what happened and how to come back from it unless you have Microsoft developers ready to answer the call to debug it (and they almost never are).

    Some people don't like them new fangled fuel injectors and still think a carburetor is the way to go as well.

    And there are tons of carburetor platforms in the wild for brand new products. Try finding a leaf blower with fuel injection. The cost and complexity of a fuel injection system is too high in many applications. If cost and complexity were equal, then *everything* would be fuel injected, but cost and complexity are not equal. This is actually a very good analogy for systemd, capable of inarguably fancier tricks but the universe of mechanics who can repair it when broken versus throwing the whole thing out is much different. The relative merit though is more questionable (everyone benefits from lower fuel consumption and reduced uncombusted gasoline in the atmosphere, not everyone really benefits meaningfully from the advances in systemd).

    What systemd advocates fail to recognize is that not everyone should have to be an application developer to administer systems. They assume minor configuration mistakes are all sysadmins have to contend with and thus they don't understand why a sysadmin might need to follow the flow of the init system in more detail and yet not have the ability to easily cope with systemd code. The 'DevOps' buzzword may embolden assumptions in some circles, but it does not mean that good sys admins have magically changed, just th

    --
    XML is like violence. If it doesn't solve the problem, use more.
  4. Re:Troll much? by Anonymous Coward · · Score: 5, Insightful

    I must fess up. I've used Unix since 1978. I cut my teeth on System V and I just fell in love with it's init.d system, where I could control an entire 80 port modem bank enable/disable with a simple change of the init state. telinit 5 - multiuser, telinit 6 - multiuser and modem banks. Heck you could even put that in a cron job. The init system of SYSV was simple, easy, powerful and logical. It is the UNIX WAY.

    Fast forward to this labor day weekend, and I had to go into work for a 'Webserver Down' call. Sure enough a hardware failure, so I rebuilt a new system using the *Latest and Greatest* linux distro that was systemD. I needed Apache to fire up with an init.d script, when run-level 5 was hit. Oh wait, how do you do that? Well this is clearly explained so clearly and idiot could do it. It's in /etc/systemd in systemd.conf? Nope! Is it in /etc/systemd/system? Nope! Which one is it? I find a softline from system.default to /lib/systemd/system/runlevel5.target. I 'cat' and it says:

    ---
    [Unit]
    Description=Graphical Interface
    Documentation=man:systemd.special(7)
    Requires=multi-user.target
    After=multi-user.target
    Conflicts=rescue.target
    Wants=display-manager.service
    AllowIsolate=yes

    ----
    In other words this is a damn maze of BS! Some windows wanker wrote this puzzle to destroy Linux I'm convinced. I'm tempted to switch to BSD just to enjoy the /etc/rc initialization method. At least it's readable and understandable. All I want is add is Apache_special_ctl start in the initialization to multiuser mode. Were are the readable BASH scripts at? I'll try to emulate IRQBalance, When I drill down soft-link after soft-link I finally find this;
    -----
    [Unit]
    Description=irqbalance daemon
    After=syslog.target

    [Service]
    EnvironmentFile=/etc/sysconfig/irqbalance
    ExecStart=/usr/sbin/irqbalance --foreground $IRQBALANCE_ARGS

    [Install]
    WantedBy=multi-user.target
    ----
    Hang on, where did the variable $IRQBALANCE_ARGS come from? Grep? nope, more grep? nope! More google searches? Nope.

    This is BS. I don't care if you can do a parallel start up (fundamentally you can't anyway, but in init you could use '&' idiots). The complexity added to the system start up and the 'telinit' process is inexcusable and is the worst computer science or computer engineering I have ever seen! It should be tossed into a dumpster! Seriously! Even young programmers will never figure systemd out. It's an undocumented programming maze of gotcha's.

    Needless to say my efforts failed and I tossed the machine across the room for the fun of it.

    Systemd developers deserves the finger for such an programmer unfriendly pile of trash that replaced elegance and simplicity.

     

  5. Re:Lennart Poetterings rebuttal by grcumb · · Score: 5, Insightful

    I would be interested in the anyone's response to Lennart Poetterings rebuttal to the common complaints about systemd.

    I'm too n00b to know who's right.

    Full disclosure: I do not like systemd, although that judgment is based on its merits as I see them relative to my needs.

    There seemed to be a pretty concerted determination not to get the point in Lennart's long spiel defending the system. As someone who has been using Unices in anger since the early '90s, I've pretty much seen Linux grow from its infancy. I've seen this kind of attitude before in technology — in Windows, Linux and elsewhere. The article is clearly written (and written clearly) by someone who's clever, articulate and... far too concerned with being right. It's not a healthy perspective.

    Being technically correct is not generally optional. It's just not ever nearly as conclusive as some people think it is.

    Having the humility to accept an imperfect universe — and to admit that it's imperfect in a particular way for a large number of particular reasons — is a virtue that fewer and fewer people seem to possess these days.

    (It's the lack of this virtue that makes people say, for example, 'less and less' where I used 'fewer and fewer' and when someone corrects them, they trot out the grammar nazi epithet and say, 'Everybody knows what I mean. Deal with it.' And the lack of this virtue as well that will make people pick on the triviality of this example to discard my entire post. The temerity of such an approach cannot be explained to those who suffer from it.)

    Systemd is clearly not change for change's sake. Lennart and the dozen and a half others who have commit rights are clearly scratching an itch. But regardless of the technical merits of the system, it is horribly, horribly wrong to impose this new system —any new system— on Linux wholesale without a significant maturing process. And by significant, I mean years.

    And this is where Lennart's most completely mistaken. He thinks that the technical arguments are the decisive ones, in spite of the fact that technical merit is not why systemd is going to become prevalent. He therefore tries to write a technical opus in defence of the indefensible, which requires more than a few straw men (binary config files? shyeah....), several big ommissions (binary log files) and a clearly unwilled but nonetheless unforgivable ignorance of the fact that he's winning because he's RedHat, not because he's better. (Yeah yeah yeah, it's not all RH; it's others too, you're technically awesome - I read that part and remain utterly unconvinced by the argument.)

    Paul Venezia's screed, on the other hand, is just plain substance-free. He's not arguing either technical merit or political power. He's simply looking at a looming mess and saying, well, that it's going to be messy. And to that extent, he's right. Systemd is going to make a mess, and that's precisely because its proponents think that they're perfectly within their rights to claim, 'Well, nobody's forcing anything on anyone.'

    What they don't realise is that that is not how cooperation works. And believing you're better or righter than others is an absolutely shit way of improving your own software.

    --
    Crumb's Corollary: Never bring a knife to a bun fight.