What's Been the Best Linux Distro of 2014?
An anonymous reader writes With 23% of the year remaining, Linux Voice has donned flameproof clothing to subjectively examine what it feels have been the best distros of the year so far, including choices for beginners, desktop fashionistas and performance fetishists, before revealing a surprising overall winner.
Mint has become the leader for home/desktop users. The Ubuntu base lends stability compatibility, while the more complete out-of-the-box experience and homegrown tools Mint offers make it a no-brainer (although I personally use Mint's Debian-based distro). For enterprise use I'd probably stick with RHEL, and perhaps CentOS for in between needs, but Mint just works so well that it has become a truly viable Windows replacement for many tinkerers and average, average people, and those who prefer not to support MS for whatever reason.
This is a hacked account, for which the owner can not be held responsible.
FreeBSD is not Linux though.
This is a hacked account, for which the owner can not be held responsible.
Enough said in the subject.
While Slackware has stood the test of time as a distro favored by many developers and admins, it is still not exactly "user friendly" for the average person. It is the first distro I ever installed, so it holds a place in my heart. However, I've tried it a few more times over the years and it has not been the best fit for my non-guru abilities.
This is a hacked account, for which the owner can not be held responsible.
1. Gentoo....... As a software developer the ability to freeze certain packages without giving up critical updates is a game changer! Nobody else seems to let me do this without some binary C/C++ incompatibility. For that I love Gentoo. I also do weird things like rebuild the linux kernel using my ICC enterprise license along with firefox/chromium/ffmpeg. ICC compared to GCC is just blazing fast. Nearly 360% speed increases in some areas. No other distro makes something that crazy as easy as Gentoo does. It's a real hackers delight. (not the new-age incorrect interpretation of hacker)
Runners up
2. Slackware
3. Debian
I used Gentoo a little over a decade ago, and it was awesome for exposing me to how Linux worked.
Arch today reminds me of that. Problem is, I don't have the time or patience to sit around fixing my Linux machine and playing Mr. Package Manager like I did when I was 17. Now I need something that just works.
I tried Arch about a year ago and was quickly turned off: the ISO that I downloaded wouldn't boot. Turns out they were shipping a broken kernel that week. No big deal, just hunt down the flag I needed to pass to the kernel, got it booted and installed. Configured, usable, a week later, do some updates, breaks something minor. OK, I can fix that. Wash, rinse repeat. I gave up, went back to Ubuntu.
Arch does have great documentation and good forums. Both the documentation and the forms for Ubuntu are worse than useless.
Yeah, I know, Ubuntu is too popular to be cool. But it has the right mix of recent packages (I used CentOS 6 at work for a while and was frustrated by how old everything was; installing package foo requires bar-2.4, but CentOS ships with bar-1.9.8 with 18 dependencies on that particular bar, so if you want foo you're stuck playing Mr. Package Manager) and support (I only go for the LTS releases). If a package I need isn't in Ubuntu's repositories (or the one that is there is too old), it's a good bet that there's a legitimate Ubuntu builds provided by the author.
Anyone using Arch in production? What's your rationale? How do you keep it from breaking?
If you're serious and doing serious business, RHEL is the only acronym you will ever need.
If you believe you're serious, but happen to be poor, you've got CentOS.
If you're one of those neurotic Linux on the Desktop folks, Mint is where it's at.
If you're completely insane and are sexually aroused by compiler flags, you want Gentoo.
If you're a crochety old bastard who writes out config files via echo and redirection, Slackware is your drug of choice.
You are doing it wrong. Slackware isn't for gurus, it makes them.
See that "Preview" button?
FreeBSD is not Linux though.
Which isn't really much of a problem. Many, if not most, Linux users just want Unix functionality and don't care about the Linux brand itself, don't care about the GPL and its politics, etc. Hence the popularity of Mac OS X for many *nix users. It just so happens that for commodity PC hardware Linux is one of the more convenient *nix offerings.
Linux distribution? I'd go with Cyanogenmod.
Debian
Climate Progress - Hell and High Water
systemd is the wave of the future. Or at least something similar to systemd that they'll probably hate just as much.
I haven't seen this much hate since OOP started getting popular and old school devs were dragged into it kicking and screaming. But guess what, OOP was the wave of the future.
Considering where the OOP-For-Everything crowd got us, and how long it took us to recover from the fact that it was the hammer for every nail for far too long, considering that we're finally emerging into a sane world where OOP has its place, as one approach among many....
... I'd say you're right about systemd:
It's being touted as The One True Way. Its detractors are ridiculed as hidebound old neckbeards[*] who don't know any way of doing things but their own. Its adherents are clever, antisocial alphas whose faith in their own intelligence is far too complete, and who don't know the difference between an argument and a quarrel.
Yep, it is OOP vs The World all over again. Dog help us all.
--------
[*] Seriously: I will punch the first person who uses that term in my presence.
Crumb's Corollary: Never bring a knife to a bun fight.
And Debian is for when those gurus get tired of manually maintaining hundreds of boxes.
This is literally the *only* reason we use Debian or derivatives for work. We're just too small to have that kind of time, which is depressing. Especially with this SystemD crap... One of these days soon, when my Copious Free Time makes another appearance, I need to re-evaluate FreeBSD. Hopefully, the upgrade process has improved since "make buildworld." :) Otherwise, I dunno what we're going to do...
The Systemd distribution (or GNU/Systemd/Linux as it is now called) deserves the Man of the Year award this year, because it has unified so many stand alone Unix style components into one unified quality program. By unifying everything into one program, we have eliminated redundant code, bugs, and rallied all of the Linux community behind the one user-space kernel. We can continue this trend of streamlining and eliminating waste, by merging in a compositor, a browser engine. We believe that molecularity will only allow the user to be confused with choices and that good incremental development is like making good stew. Throw everything in.
Minimal footprint? The recommended installation method of Slackware is still to install "everything". From the installation guide:
If this is your first time installing Slackware, the "full" method is highly recommended. Even if this isn't your first time, you'll probably want to use it anyway.
This gives you a much bigger footprint than what Mint, Ubuntu or Arch give you by default.
Mind you, I love Slackware for its straightforwardness and simplicity in configuration, but footprint is not really a reason to recommend it.
Finally, I don't think that footprint matters a lot these days. What do I care if my distro takes up 5GB or 10GB... Sure I may not need all of the packages that are installed, but the convenience of having most commonly used libraries and programs at hand and not having to track things down as-needed is worth more to me than a few measly gigs of disk space.
Few random exemple where systemd helps:
- if you look at it probably 99% of all service on linux are just about starting an executable, with a few parameters. /etc/init.d.
-- with systemd, you do exactly that: write a service file that gives the name of the executable to run. and that's it. done. much more easy to maintain
-- with sysvinit, each distro has it's own local variant of boiler code that need to be copy-pasted around, and each service needs a whole script in
Whole script with duplicated lines vs simple text file.
- become a daemon requires some work.
-- either the developper must do a whole dance inside the code (double fork, sanitizing environment like closing descriptors, etc.)
-- or you need to take care of it from the outside (startproc, etc.)
systemd (like also daemontools and several other such "successors of sysvinit") can automatically take care of that. just run the soft in immediate mode, systemd takes care of the daemonisation/sanitization. In fact you can easily run as a service things like scripts.
So you want to have a daemon that is basically just a gawk 1 liner ? feel free.
automatic handling of modern kernel features. Cgroups, brokering capabilities, etc. Classical sysvinit has no concept of these (of course, they didn't exist back then).
- You would need either more kludge in you init.d scripts
- or use a modern system that can take care of that. systemd is one of them.
very light-weight container creation: other parts of systemd take care of state-less systems (basically you only need /usr for a system to work, /etc and /var can be automatically rebuilt with default settings from /usr if they are empty), various daemons under the systemd project can take care of the basic initialisation step (you don't need a full fledged dhcp server and client/pair compatible with every possible corner situation and supporting every option under the sun when all you need is just quickly hand out an IP to a LXC container - similarily to how one would use dnsmasq, systemd has its own micro dhcp implementation).
that makes possible to use LXC-style container (and thus much higher level of isolation) for anything that you don't trust and would like to run in its own container.
You don't trust skype, specially since microsoft did take it over? LXC container combined with SELinux and AppArmor (which LXC supports) would be a way to isolate it. Systemd (not the pid1 daemon, the whole project) is a project that can help generating such containers on the fly without any administrative intervention nor any configuration required.
You might not need these. And you're free to stick to old sysvinit if you want. Or at least move to a more modern spiritual successor of this (openrc)
(Gentoo give you choice of system. Or you could gather people and start "Rubuntu, an openRC spin of Ubuntu")
Or you might want these features. And systemd is then a nice single stop for all this plus more. (Though you could find similar daemon giving similar functions spread over 20 different projects).
It's a bit like the situation with TeX (nice single stop to get a ton of filters for text processing and typesetting) Ghostscript (printing) Pnmtools or ImageMagick (single suite of tighly integrated image filters/processing), etc.
Systemd is a similar suite containing all the necessary building blocks for taking care of system initialisation/process starting, etc.
Systemd has tons of useful funtionality, and thus lots of distribution decided to pick that one up as an openrc successor.
(Including distributions not depending on gnome)
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]