This is, in my mind, orthogonal to the systemd question. 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.
systemd may help with some of this, and may hurt with some of it; but I see the problem more of an attitude of desktop environments to add features fast without really thinking of the implications. There is something to be said for slower progress if the result is higher quality.
To answer the question in the title: no, it hasn’t.
More like it hasn’t found its way yet or maybe people who develop it just cannot stop toying with it.
More on this here: https://bitly.com/gBOiz6
Thanks for the link TL;DR.
Well, I tried. When I read the following paragraph (inserted in the beginning) I stopped. I’ve itemized it with my answers, but it runs all along.
> firstly, Android is not Linux
It is, you like it or not.
> (besides have you seen anyone running Android on their desktop or laptop?).
I did, once. In my laptop, which doesn’t have a touch screen, hence it sucked and wiped it out.
> Android contains the only Linux component – the kernel
Wrong, again. Linux IS the kernel. Another thing is if he tries to say *any linux-specific tool*, which, is false also: you have a bunch of GNU tools.
> (moreover, it’s a fixed old version (3.0.x, 3.4.x or 3.10.x as for 2015)
Wrong, again. There are a myriad of kernels ones more up-to-date than those referred. Also, there are hybrids with backported improvements from 3.18.x and other branches.
> which is maintained and supported solely by Google).
Wrong, again. There are other kernels, ie. CAF, not maintained by Google at all.
> Secondly, Android is not a desktop OS, it’s an OS for mobile phones, tablets and other touch screen devices.
Wrong, again. Android is an OS. Full dot. If you install it in a mobile, is a mobile OS. If you install it in a tablet, is a tablet OS. And if you install in *other touch screen* devices, like some laptops which have touchscreens, then… it’s a desktop OS!
Thanks for not making me waste my time reading the rest of the link.
Cool.
You’re arguing that Android is indeed Linux even though Google itself doesn’t do that. But you know better. Surely.
Also, this article is about Linux distros’ problems. And yeah the piece OSnews links to is also about Android. Or not. Oops, actually it’s about Debian.
What a relevant response. Way to go. Bravo! You’re not upvoted enough, sir.
Google doesn’t do that because it’s not in their interests to do so, not because it isn’t.
If you must add a question mark to the title of an article, it’s because the article isn’t stating anything.
http://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines
The full answer is: No, you are just getting old, and now everything is confusing and infuriating.
The full answer is yes, no one can understand what the hell is going on in a Linux distribution any more – even the developers.
Are the various BSDs in a similar boat? I only work with OpenBSD on occasion, and it seems a lot tighter overall. I liked Slackware best of the Linuxes because it was least incoherent mess. Maybe it’s because Slackware is a one-man distribution?
Edited 2015-02-10 19:20 UTC
BSDs are much more stable in terms of components of operating system. I am using OpenBSD full-time on my primary laptop for a while now, and the most dramatic change I suffered from was removal of lynx from the base system (it is now in ports).
On the other hand, I set up an Archlinux-based NAS and multimedia player on retired office PC, and it is actually more stable then the article implies. That said, the amount of time I had to invest into configuration to have everything working as needed was much more then I had to invest into configuring my OpenBSD laptop, which is actually used for much wider set of tasks. And even then I still have some minor issues like wrong mount options, wrong device owner/group asignments, etc.
A lot of those complex and incomprehensible subsystems that he mentions that work together to make a USB device automount have been around long before systemd appeared. I agree that’s it a complex mess, but that’s very much a separate issue from systemd.
In my case, I think that systemd will bring some very much needed unification to the hodgepog of different Linux distros. They can still work very differently and pursue very different goals, while at the same time not having to differ in such common core functionality as enabling/disabling a service, putting an interface up/down, or setting the clock.
Sure, a Linux system can still get messed up, and at least theoretically systemd can also be a (major) point of failure. But that’s not exactly news, I’ve been running Linux almost exclusively on the desktop for well over a decade, previously with SysVinit, later with Upstart, and now with systemd, and major crashes / freezes / loss of work always have and still do occur. It would be nice if everyone would contribute their energies to reporting and squashing specific bugs instead of wallowing in digital despair over their init system.
You know that the article is not about systemd?
Inevitably it ends up being so. At one time being authorised was a question of file permissions and being a member of a particular group. Not so any longer.
Don’t say you weren’t warned.
I think the real problem here is the lack of documentation. I find a lot of command line utils that don’t even have a manpage. And don’t even ask for other kind of documentation.
I don’t think systemd has made anything worse, if anything it has gone in the opposite direction. My boot feels under control with systemd. Basic features such as detailed reporting how much time does it take to start a service is something that I didn’t have years ago (I had to _guess_ which services were slower if I wanted to speed up my boot!)
Edited 2015-02-10 20:35 UTC
Read the source code ?
Source code does not substitute documentation, and it normally takes longer to grasp then manual. Of course, poor manual may be worse then no manual at all, but code readability (and overall quality) is not always good as well.
My response to such things used to be mildly irritated, but reasonable.
Now, I don’t bother.
In response to your suggestion, I offer one:
Set yourself on fire?
Have you ever suggested to someone that in order to determine how to set the clock on their car stereo, they should read the schematic? Have you ever suggested someone find the blueprints for their house to change a faucet? Do I really need a telecommunications background to use a cell phone?
“read the source code” is the response of people who were too busy coding to bother writing any flaming documentation.
You want people to use your software? DOCUMENT IT.
I read articles on this site, about “New release of thing Foo! Now with better blipp and frazzbot and shbang!” with no explanation of ANY OF IT.
I enjoy learning, so I’m willing to go to a project home page to find out, but these days, the “home page” is a README.md that assumes I know exactly what the software package is, what it does, and why I would want to use it.
“Not Invented Here” is why Linux will never do much more than serve applications on the internet. Microsoft and Apple may not be terribly innovative, but at least they pay attention to their users.
I see that you’ve evolved more quickly than I…I’m still at the “mildly irritated” stage And those analogies — although entirely vallid — would likely (and unfortunately) fall flat on the higher priesthood of the GNU.
I’m just starting out on openSUSE myself, mostly because it seemed reasonably coherent and I have no more sanity left to lose and especially on an OS!
Well, at first it was a joke, I never believed you would take it personal Why ? Because, fuck, I *DO* document my code : http://www.codeproject.com/Articles/4204/CSkinProgress
I was often answered to use ‘man’ using Linux, yet rarely the ‘man’ was up to date, if present. The usual fallback is to read the source code.
Having looked at your link, I’m genuinely impressed– that’s how things *should* be documented. I note however, that the date on the code predates the current craze of git-as-a-website that I was specifically ranting about.
I did actually consider the possibility that it was a joke– But so often, it isn’t, along with “well, fork the code!”, and both obscure what might be truly good software.
Rereading my response, perhaps the literal use of inflammatory language was a touch over-the-top. My apologies.
🙂
Big fat YES.
I’m a senior unix admin and I’ve been working with Red Hat, Solaris, SuSE, AIX and BSDs every frikin day during the last 10 years or more. I see OSes as a bussiness solution, I don’t care about fanboy wars and/or love/hate discussions. I have a “best tool for the work” approach.
The truth is: I do not recommend Linux anymore and I don’t use it unless you PAY ME to do that (as I have to do at work). Big Linux distros are a mess without focus or quality just like Windows or any other crappy commercial OS. It sucks.
If I have to recommend an open source OS, It’s very clear for me: FreeBSD all the way.
That being said, I don’t think the problem is “Linux” (the kernel) per se, I think Linux kernel is great. The problem are the big distributions, their completly lack of focus and any design philosophy or “ideal” (aka good taste).
Mostly agreed. Distros like void linux (runs runit, not systemd) and arch really aren’t that great for running in a controlled environment. They’re okay for dev though.
Interesting as mobile seems to be forcing everything smaller, linux seems to have gotten bigger. I don’t really see how the freebsd’s are going to steer clear of this since they still are “unix”.
Maybe something new based on plan9? (yeah, right).
Well said. The BSDs have far less of a problem here and, like others here, I tend to prefer OpenBSD. It’s the most clean, logical, well put-together and organized OS I’ve used.
FreeBSD is several years behind Linux as a desktop OS, though.
Yeah, pretty much. The problem is that outside of the kernel, there’s really nobody steering the ship in a cohesive direction, so it’s kind of all over the place. This is why desktop Linux has floundered, and will continue to do so. On the server side, there’s at least people competent enough to deal with all the bullshit.
Of course, even if somebody IS steering the ship, it’s still possible to end up a disorganized mess. Think Microsoft for instance; they seem to ‘bet the company’ on some new thing every 5 years or so, and developers and users alike are left scratching their heads. Google is the same way, albeit to a lesser degree. That’s why they had 4-5 chat/sms apps at one time, and when they finally standardized on one (Hangouts), they introduced yet another one in Lollipop.
So not only do you need a ‘captain’, you need a GOOD one.
What you are describing is exactly why i see Linux as having lost its way. The strength of Linux was the loose coupling between components, and what you is prescribing is a tighter coupling.
A tight coupling through opaque mechanisms like dbus and systemd which cannot be examined without reading *all* the source code.
What happened is that Linux used to be easy to comprehend, but it’s going in a direction where you’ll *need* a support contract to go under the hood. Assuming the support people are actually competent enough to help.
No one early adopted Linux because they wanted to have a support contract.
I know it’s the devil, but I think the most focused industrial ready Linux is Amazons Linux AMI. Of course it’s tailormade for EC2 so not very useful outside of this context.
I started running Linux in college in 93′ I believe. It was SLS (now defunct but similar to Slackware) and the kernel was 0.98. I’ve run nearly every distro known to God and man and rolled my own when I’ve had to. I’ve maintained MIPS distros for embedded boards, written proprietary device drivers for Linux in C, etc. etc… I have what anyone but perhaps Linus and the LKML folks would consider Linux street cred. I’m old now, and yeah, I’m a bit cranky about “The New Linux” (you kids weren’t around for New Coke, but it’s got the same feel). Sysadmin gigs are what I do for a living (mostly), as well.
I don’t see Linux as evil or destructive, and hey at least it’s open source (the GPL has it’s ups and downs, though). However, as a 20 year professional sysadmin and current RHCE-holder I can’t say I like it anymore, either. It’s devolved quite a bit on some key fronts, in my opinion. I’ve worked my adult life in god-awful huge corporations. In the current one we run multiple distros (forced to) but mostly RHEL and OEL with a sprinkling of SuSE and other one-offs. When I say large company think hundreds of thousands of employees and tens of thousands of hosts. I lead a group of professional sysadmins, RHCEs every one. None of us are really thrilled with the the following:
* Slamming in systemd with too little time, thought, alternatives, or tact.
* Scammy RHCE “education” services for certs.
* Attitudes & style issues about “devops” or “cloud” tools overriding good sense about KISS principles.
* The Unix philosophy is punked whenever it suits Redhat. Contrary to silly conformity trends in our industry, text configuration files and human-readable logs still rock. What happened to simplicity and clarity being top principles? Oh yeah, when Pottering and Android showed up, but I digress….
* Ask yourself, are there any larger endowment of great lego-like tools than those that deal with files and text? Then don’t XML me, bro! (and yes I know systemd doesn’t use XML. this isn’t just about systemd or journald suckage).
I’ve been a paid sysadmin for Irix, Tru64/OSF1, OpenVMS, HP-UX, AIX, and others. Redhat Enterprise Linux is definitely NOT what myself or my peers hold in the highest esteem as an illustration of the beautiful simplicity of the Unix ideal as Dennis, Ken, and the BSD crowd have seen it.
What you learn when you do it for a living for decades is that they all have their ways of sucking. You are looking for least suck. Yes, I’m another enthusiastic and excited BSD user (thank goodness for BSD! Faith in Unix ++). It’s NetBSD and FreeBSD for me (mostly) on my personal hardware. They can suck also, but they just tend to do it less.
With BSD, I get less pretentious names, less abstraction, no XML, no Java, and no insulting captive interface hand holding. I get slack, though. I’d like more simple human readable text config files (what do you want at 3AM when you are on call and the pager goes off?). I don’t care that it’s harder to parse them vs XML in your java program. I LIKE “everything is a file”. LOTS of tools work on files. BSD gives me excellent man pages, a complete OS (not just a kernel and a bag of stuff), a comprehensive manual, a bad attitude toward binary blobbery, a friendly BSD license and a great community with fewerchildren wanting to turn my treasured Unix OS into a tablet/phone/”cloud-os” while feeding me some trendy hype.
Some of us have the privilege to work with HPC or huge OLTP environments (we are talking NUMA SSI super computers here, folks). In large clusters or highly scaled out systems, you want things as simple as possible in these environments because there is less to break and it simplifies your job as well as most automation tasks. You might think these huge systems are hyper-complex, but the really good ones are repeatable and intuitively simple to support, not complicated. I raise an eyebrow toward Linux and the Pottering crowd and release a tired sigh of loss as I watch my old friend Linux turn into something I don’t believe is really Unixy enough for me anymore.
Some folks will celebrate that drift from core principles and call it progress (and perhaps for them it might be). I feel it’s just a repeating cycle, I’ve seen play out in one form or another over and over.
Listen to the man: “Those who do not learn from Unix are doomed to re-invent it…. poorly.” (or something like that).
Isn’t this all just normal evolution? Any popular system becomes more complex over time. It applies to anything from cars to toasters, from refrigerators to mobiles.
You can’t and I think shouldn’t expect a product, appliance, computer system to remain the same. People want more features. That’s why we don’t use MS-DOS anymore or MacOS 9.
People want faster boot times, and systemd seems better suited to solve that problem than sticking with the old architecture. Yes, this means your skills you learned 10 years, knowing all your runlevels and init scripts might not be applicable anymore but how many people these days fix their own car engines.
Now, systemd might not be the best init system but it sure seems better than the older ones. Nobody liked pulseaudio when it was adopted but does anyone really want to go back to ALSA? Everyone complained about KDE 4 and look how it has blossomed.
One needs to break eggs to make (even better) omelets!
yes and yes…pulseaudio is off my systems and systemd is getting off my systems. My void linux system boots much faster with runit than it ever did with arch linux and systemd. xfce runs quite well and isn’t the wierd beast kde has always been.
What’s necessary for the next generation of OS to take off is a stable hardware driver platform (for open source type stuff). Intel is getting there faster than anyone else. ARM should have been there 5 years ago and they blew it.
Edited 2015-02-10 22:58 UTC
Sure, XFCE is fast and feature rich enough for me too (default GUI for me). But is your audio working properly without Pulse audio? What is the reason you are not using Pulse audio? It might have been a nightmare 8 years ago but it works pretty well these days?
In general though, it seems people are just not susceptible to change. No matter what component is changed: Wayland vs X, Libc vs anything other, Init systems, Gui managers, you name it.
Agree with you on the “stable hardware platform” front. I saw what SGI did with IRIX in the 90’s and it’s the reason why I still have 5 SGI’s sitting around 🙂
Once the devs know they are going to have to target they spend less time dorking with drivers and HW futzery and more time writing software users want.
The sore spot IMHO is lack of transparency on framebuffer/GPU drivers followed by wireless driver vendor intransigence.
Yes, but things like systemd are breaking the pans, the stovetop and the mixing bowl at the same time. systemd is the RonCo of the init community.
Also? What comes out isn’t an omelette. It’s scrambled eggs with hash. Which isn’t necessarily bad, but it’s not the omelette I ordered.
Try kwort… http://www.kwort.org
I created it for that same reason… It’s clean, fast and it works like the old school Unix…
sysvinit, no polkit, no hald, no udiskd, or any of those things, want devices to be mounted? Ok, fstab or root and manual mount.
That’s really neat! For a distribution that’s so old I’m surprised I haven’t heard of it before.
Can you please explain why a person would choose to use Kwort instead of CRUX? (Instead of answering here, consider posting your response on kwort.org)
Thank you!
Python Zen says:
There should be one– and preferably only one –obvious way to do it.
That could be translated here as:
There should be one –and necessarily only one– point of origin of any error.
And it should not be silent unless it sends Dutch speaking messages.
Edited 2015-02-11 00:03 UTC
There’s essencially the only one point of origin of every error – humanity.
Yes it has, because RH is trying to sell their stuff to the military-industrial complex, and the M-I seems to have a massive hard-on for overly detailed access control structures.
Thus you have a pileup of consolekit/logind, pol(icy)kit and whatsnot so that the computer can go “i can’t let you do that, Dave” over and over.
What before was done via files and pipes now happen via opaque dbus calls. And from personal experience i find dbus anything but reliable.
This is how things go. Linux will get to a state where some think it to easy/to compromising and so on then someone or group will come along with another OS that is at first difficult to use but it to will gain a following and become easy to use; then another OS will be built because that second OS is now to easy to use and some will think it to has lost it’s way and the cycle goes on and on.
As a famous TV show says “all this happened before and will happen again”
Edited 2015-02-11 02:47 UTC
…If the result is higher quality.
Took the words right out my mouth. This not only applies to user interfaces and systemd, but to kernel and core libs as well. Change for change’s sake is the order of the day in the wacky world of Linux, where fragmentation and inconsistencies (even across different versions of a single distro) all lead to a sloppy, confused mess for the end-user. And judging by how buggy certain distros have become it’s obvious the programmers are reaping what they’ve sowed and just won’t admit it. Upgrade my distro just to be able to run a newer version of one program?? C’mon!!
But while Linux currently is running very nicely on my server (Debian) and allows me to be productive on my laptop/desktop, I am not complaining.
(In reality I am just waiting/wanting for Haiku to fulfill my desktop needs )
Like many others on here, i am a senior freelance unix admin / systems architect.
I do have some concerns with the changing landscape in the GNU/Linux community. More specifically, the rate at which this landscape is changing. We’re no longer thinking it through, we’re calling in the bulldozers …
Now … to be fair … most commercial variants of unix have similar situations. Let’s take systemd as an example, because it is a current hot topic.
Solaris has svc.
AIX has the system resource controller and init scripts.
HP-UX has init scripts.
When you take look at the different approaches, you will come to the conclusion they all work well for 90% of anyone’s needs.
One could argue that Solaris has the cleverer way of doing it.
One could also argue that hp-ux has the simpler and more robust way of doing it.
I can’t say what’s right or wrong. I know where my preference lies. I like good old SYS-V or BSD style scripts. But …
That’s just because i’m lazy, and i’m used to them. I can’t speak for others. I don’t know what the best solution is, only what i like.
There have also been some remarks about documentation. I believe these remarks are justified.
In any of those commercial unices, documentation is abundant. With GNU/Linux, documentation can be harder to find on some of the more obscure topics. For most things, though, it’s not bad.
Reading the source code is not an option for many people. Suggesting that people do so, merely as a conversational doorstop is bad form.
Very honorable mention to FreeBSD here, the handbook is truly excellent, and something of immeasurable value!
I worry about the direction gnu/linux is going sometimes, but then i remind myself that i can still download the source for everything and build it myself the way i want it.
Many decisions have been taken lately that i, personally, consider to be mistakes. Polkit, systemd, the whole mir/wayland scandal, hans reiser kil^H^H^H^H, …
People mention arch, but arch has it’s own set of problems. Who removes ifconfig?! seriously?! why?!
(just google arch ifconfig)
TL;DR: Many commercial unix variants have long had their own little quirks. Try configuring MPIO under AIX … then do it in solaris … then do it in linux … yeah … three whole different worlds of pain.
When there is some sort of need, people will come up with a solution …
As a former somewhat vocal Linux supporter and advocate, I am getting increasingly tired of dealing with these problems that were brought by the “progress” of things like *kit, u*, Network-Manager, PulseAudio, logind and still am somewhat concerned with the way how Systemd is taking over the entire Linux ecosystem when the bloody thing cannot even be trusted to provide logs reliably!
Someone mentioned earlier and I fully agree: Linux used to be an easy to understand operating system where the layout of everything was clear, it was a matter of adding a few lines into some script to control how your machine booted, you knew where to look for information when things went wrong and the loose coupling of components allowed you to change things as you saw fit and the biggest drawback was the somewhat lacking documentation. None of these traits with the exception of the last one applies for current Linux anymore.
Some of you may say that it is just transitional pain or that I should suck it up and get with the program or that I am getting old and/or lazy and unwilling to put the time to learn the new things – even though they might be gone within 06 months or so making the effort seem pointless anyway – but at some point you have to draw the line: enough is enough!
I still use it as I vastly prefer Linux desktop environments and userland to Windows and Apple gear remains forever priced out of range outside the US but the possibility of me migrating to FreeBSD on my desktops soon gets more and more likely as time passes by.
Edited 2015-02-12 12:39 UTC