Slashdot Mirror


Is Modern Linux Becoming Too Complex?

An anonymous reader writes: Debian developer John Goerzen asks whether Linux has become so complex that it has lost some of its defining characteristics. "I used to be able to say Linux was clean, logical, well put-together, and organized. I can’t really say this anymore. Users and groups are not really determinitive for permissions, now that we have things like polkit running around. (Yes, by the way, I am a member of plugdev.) Error messages are unhelpful (WHY was I not authorized?) and logs are nowhere to be found. Traditionally, one could twiddle who could mount devices via /etc/fstab lines and perhaps some sudo rules. Granted, you had to know where to look, but when you did, it was simple; only two pieces to fit together. I've even spent time figuring out where to look and STILL have no idea what to do."

16 of 716 comments (clear)

  1. Yes by drinkypoo · · Score: 5, Insightful

    Yes, yes it is. We have too many redundant frameworks. Sadly, systemd is the only effort to unify them that seems to have traction.

    There should be one facility for each function on the system. I don't need my network interfaces being diddled by bizarre and obscure programs. Example, libvirt doesn't use /etc/network/interfaces, this is stupid and complicates firewalling scripts and so on. And it insists on running its own copies of dnsmasq, rather than just dropping some files in /etc/dnsmasq.d. What a PITA. Use the goddamned operating system, that's what it's there for.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:Yes by GrumpySteen · · Score: 5, Funny

      We have too many redundant frameworks. Sadly, systemd is the only effort to unify them that seems to have traction.

      Because lots of different redundant efforts to unify lots of redundant frameworks is clearly be the best way to solve the problem of lots of different redundant frameworks!

      Redundancy is awesome!

    2. Re:Yes by rastos1 · · Score: 5, Insightful

      Sadly, systemd is the only effort to unify them

      I don't know about "unify them". As far as I can see, it is trying hard to hide the complexity under one umbrella. And if the complexity is hidden completely, then there is little you can do to fix a problem that happens to be complex. Without this unifying effort I can easily plug in myself somewhere in the middle, track down what's going on and fix it. Or at least work around it. Ah, yes, I'm a Slackware user. Is that relevant?

    3. Re:Yes by Ol+Olsoc · · Score: 5, Informative

      My question is whether it is really warranted to overburden and complicate scripts and even the functionality of some tools to pander to the quirks of hardware hardly anyone uses. My approach would be to leave it out and offer patches for the 3 people who actually want to use them.

      Yet what really sold me on Linux is what you don't like. The nasty years of Windows Vista when perfectly good contemporary hardware had to be replaced. The present day situation where support for a product just goes away.

      Linux now has the best support for devices of any OS.

      My favorite example is when I was setting up a Dual boot system that used a USB to RS-232 adapter on both sides of the boot. I set it up first on the Linux end. No problem, Just enable the serial port (Linux looks at serial ports as a security issue) in bash, and it just worked. Now I start to set up on the Windows side. No worky. It sees the adapter, but no driver install. Nor help.

      After a websearch I found out that the Adapter I had used was an old Staples adapter used for an ancient Palm Pilot my wife used maybe a decade ago. No Windows support, and none is forthcoming.

      Its happily working on a Linux only system now, saved someone 50 bucks. It's also marked "do not use on Windows". Problem is, there really are a lot more than 3 of us who are using hardware other than the really common stuff. And your negative is our positive.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    4. Re:Yes by morgauxo · · Score: 5, Insightful

      How about an example?

      One of the things I love about Linux is all the old and esoteric hardware it supports. I don't want to throw away something that suites me just fine only because it isn't popular anymore.

      I do agree that costs and benefits shoudl be weighed. But where is all this old hardware support complicating scripts that you speak of? The place I am used to seeing hardware support is in the kernel. It's a dropdown... build it in, make it a module or don't support it. I'm guessing that 90% or so of users don't even see that anyway! They are probably running kernels that came with their distros.

      I don't even mind if distros chose not to build in modules for ancient hardware. So long as I am free to compile my own kernel who cares? But.. where are these scripts that will be oh so better if only we flipped the bird to the few people still using some hardware and told them they can't have their toy anymore?

      Also.. even if removing support for one piece of hardware only alienates a few people... If you really clean house then that's a few people per each device you condemn to obsolesence. Don't you think they might add up?

  2. Slackware by Vyse+of+Arcadia · · Score: 5, Informative

    No problems here. Slackware seems to keep things simple. Granted, I haven't tried to mount a camera with DigiKam in a couple of years.

  3. Why does John shut down all systemd talk? by Anonymous Coward · · Score: 5, Interesting

    I was reading through the article's comments and saw this thread of discussion. Well, it's hard to call it a thread of discussion because John apparently put an end to it right away. The first comment in that thread is totally right though. It is systemd and Gnome 3 that are causing so many of these problems with Linux today. I don't use Debian, but I do use another distro that switched to systemd, and it is in fact the problem here. My workstation doesn't work anywhere as well as it did a couple of years ago, before systemd got installed. So when somebody blames systemd for these kinds of problems, that person is totally correct. I don't get why John would censor the discussion like that. I also don't get why he'd label somebody who points out the real problem as being a 'troll'. John needs to admit that the real problem here is not the people who are against systemd. These people are actually the ones who are right, and who have the solution to John's problems! The comment I linked to says 'Systemd needs to be removed from Debian immediately.', and that's totally right. But I think we need to expand it to 'Systemd needs to be removed from all Linux distros immediately.' If we want Linux to be usable again, systemd does need to go. It's just as simple as that. Censoring any and all discussion of the real problem here, systemd, sure isn't going to get these problems resolved any quicker!

  4. That's all user space. by tlambert · · Score: 5, Insightful

    That's all user space.

    Honestly, I thought this was going to be a kernel rant, and I came loaded for bear: there's a lot that needs fixed about the Linux kernel and the processes and relationships between stakeholders.

    But let's address the subject of the blog post instead, because there's a lot of fodder there too.

    Everything complained about in the blog post is not a Linux problem, it's a Linux distribution problem, since the distributions are what add the user space components that are doing things like automatically mounting his phone so that something else in user space can't talk to the second control channel on the USB interface (because the phone uses the primary command channel to switch to the second command channel, and it's in use by the mount).

    This is basically the problem you are going to face on a distribution without an overall architectural design for the user/kernel interaction, and interaction between user space components that allow for layered access.

    For the "It's a camera! It's a phone! It's a mass storage device!" problem, I don't have a specific answer; I'll note that uugetty solved the contention for typed use of a resource problem for modems ("It's an inbound modem! It's an outbound modem!") in the 1980's in HoneyDanBer UUCP. And they did it by having an integrated model that all the consumers used. IT's called a layered approach to software development.

    I think the big driver for user space problems is that a lot of Open Source people believe that *their* program is the most important thing your computer can possibly be running, and if it interferes with someone else's use of something, so what? The computer is still performing it's *most* important function, which is to run *their* work product.

    Even Apple is not immune from these problems; there are third party phone tools that can do nifty things with pretty much any cell phone and come with all sorts of USB cable ends that plug into this USB cable adapter, but the OS grabs the phones out from under the software, and you have to hack the device ID list in a plist to get it to work like it's supposed to (then iPhoto, etc., can no longer see the phone). But at least on Apple systems, there's one place to go to to fix it, the fix is well known, and when Apple is informed of the problem, they generally fix their software to "get out of the way" (or tell the third party how to do it temporarily so their software will work).

    What's really missing for Linux distributions, honestly is...

    (1) An architect with a holistic vision
    (2) A project manager for the components
    (3) Productization - people in Open Source only want to work on fun stuff, not on boring stuff that makes stuff actually usable
    (4) Usability engineering
    (5) Interface contracts which don't change over time
    (6) A way to shunt third party installed software (i.e. "apt get", etc. stuff) off into an isolated hierarchy so it doesn't screw with normal operation
    (7) Documentation that doesn't have to change over time ...in other words, if you want it to look like a commercial OS distribution, you have to approach it as one. And that's not happening.

  5. Re:Oblig. XKCD by DuckDodgers · · Score: 5, Insightful

    I know that post, but while I think he has a point, I also think it's too defeatist. If everyone took that attitude, nothing would ever get done.

  6. Re:What do you mean, modern? by bouldin · · Score: 5, Insightful

    This.

    I would personally like to see three flavors of Linux:

    Server - lean, NO systemd or plug-and-play crap, focus on security

    Desktop - includes whatever bells and whistles people need for a modern, useable desktop; focus on productivity

    Mobile - similar to desktop, but with a focus on low power consumption and small screens

    I don't need a tablet GUI on my desktop, and I don't need hotplug support for webcams and printers on my server.

  7. Re:So roll your own. by Nate+B. · · Score: 5, Insightful

    Actually, there are some that are intent on doing just that despite being labeled "haters" even though their motivations have nothing to do with "hate". Disagreement does not mean hatred. So long as the Linux kernel does not require specific user space software or versions, those of us who prefer a more traditional approach will be fine.

    --

    "Insanity is doing the same thing over again expecting a different result."
  8. Re:So roll your own. by morgauxo · · Score: 5, Insightful

    Rolling your own 'Just like Linus did' may be a little extreme. I don't think you need a whole new kernel!

    Just install Linux from scratch and don't put all that *kit, etc.. crap in it. I would imagine you could even get rid of udev and all that stuff if you are willing to run mknode yourself. Roll it like it's 1995.

    You will lose out on some convenience if you are using a portable device such as a laptop but on a desktop with fairly static hardware everything should work just fine.

    If having your own custom simple Linux isn't good enough for you then take it to the next step and start your own distro that leaves all that stuff out.

  9. Re:Just one step closer to becoming Windows by jfbilodeau · · Score: 5, Funny

    I LOVE the Windows' event log. Messages are short and precise. Messages such as: The operation failed: HRESULT 0xFF0SUX2BU

    --
    Goodbye Slashdot. You've changed.
  10. Re:So roll your own. by Lodragandraoidh · · Score: 5, Insightful

    I think you're missing the point. Linux is the kernel - and it is very stable, and while it has modern extensions, it still keeps the POSIX interfaces consistent to allow inter-operation as desired. The issue here is not that forks and new versions of Linux distros are an aberration, but how the major distributions have changed and the article is a symptom of those changes towards homogeneity.

    The Linux kernel is by definition identically complex on any distro using a given version of the kernel (the variances created by compilation switches notwithstanding). The real variance is in the distros - and I don't think variety is a bad thing, particularly in this day and age when we are having to focus more and more on security, and small applications on different types of devices - from small ARM processor systems, to virtual cluster systems in data centers.

    Variety creates a strong ecosystem that is more resilient to security exploitation as a whole; variety is needed now more than ever given the security threats we are seeing. If you look at the history of Linux distributions over time - you'll see that from the very beginning it was a vibrant field with many distros - some that bombed out - some that were forked and then died, and forks and forks of forks that continued on - keeping the parts that seemed to work for those users. Today - I think people perceive what is happening with the major distros as a reduction in choice (if Redhat is essentially identical to Debian, Ubuntu, et al - why bother having different distros?) - a bottleneck in variability; from a security perspective, I think people are worried that a monoculture is emerging that will present a very large and crystallized attack surface after the honeymoon period is over.

    If people don't like what is available, if they are concerned about the security implications, then they or their friends need to do something about it. Fork an existing distro, roll your own distro, or if you are really clever - build your own operating system from scratch to provide an answer, and hopefully something better/different in the long run. Progress isn't a bad thing; sitting around doing nothing and complaining about it is.

    --

    Lodragan Draoidh
    The more you explain it, the more I don't understand it. - Mark Twain
  11. Re:So roll your own. by NotDrWho · · Score: 5, Funny

    One man's variety is another man's hopelessly confusing goddamn mess.

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
  12. Whatever you're used to seems simple by nine-times · · Score: 5, Insightful

    I used to be able to say Linux was clean, logical, well put-together, and organized.

    You would only say that because you were used to the previous organization. It has always been a mess of "catering to old UNIX paradigms" while also "trying to squeeze in the latest new thing." Old UNIX guys have always complained whenever the GNU tools had a different behavior from what they were used to, including changes that you take for granted. Bash was once new, and some people still don't like it.

    Do you remember the first time you saw a UNIX filesystem? Think back. You have directories like etc, usr, and var. "usr" doesn't really contain user information. "etc" doesn't include miscellaneous files. "var"? WTF is "var"?

    None of that shit ever made sense. It's what you were used to. If we set out today to make a sensible, orderly, logical, clean system, it would not look like modern Linux, and it would not look like old Linux.