The current state of most Linux distributions sucks!
I’m sorry to say, but it’s true. The current state of most of the potentially great Linux distributions is disgusting. I don’t even know if the maintainers of the distributions are aware that they have a problem or not, but they do – and it’s a big one.
I’ve been using Linux for many, many years and I have used quite a few of the various distributions of Linux available over those years and have never been happy with any of them. I started off using Slackware about 9 years ago and just didn’t know enough about Linux back then to be aware of how much of a mess that installation was – but it was bad. After a while of upgrading the system manually (packages referred to grabbing the .tar.gz manually and reading up on how to configure and make the entire thing yourself back then), I was quickly aware of how much crap was on the system that just didn’t need to be there.
I eventually put my brains where my mouth was and got to work making my own distribution – straight from the ground up. I literally started with a blank drive and compiled everything I needed to boot the system. I figured out what packages I needed to boot and worked my way up, reading the documents of every package completely so that I could tweak everything to exactly how I wanted them to work (within the realms of how the programs were made to work of course). About a year and a half later, I had everything a basic web/mail/dns/ftp server needed, and every single service was perfectly configured – I made every configuration file by hand and made sure that each and every program was stripped down to what was needed and all the junk was pruned out – it was perfect and I was finally in heaven with a Linux distribution I could use, tolerate and be proud of using.
It had one massive drawback though – it had no package maintenance at all. Everything had to be compiled by hand. I kept my configure lines and tweaks in a file so I could look back on exactly how I installed something, and I’d spend the time to read up on any new changes a package had before upgrading which could sometimes take days to get right. At first I didn’t know any better though, because there really weren’t any good package systems that weren’t customized to one distribution or another. RedHat had it’s RPMs, and a few others adopted that package system but made it their own – but RPMs didn’t impress me much and I didn’t have time to see if they’d suit my needs or not, not to mention by the time I was looking for package systems, the requirement was already far too great and the distribution was seriously lagging behind in updates.
As it sits now, the distribution is sadly pretty much dead. Using an old 2.4 kernel and horribly old versions of everything else, I just haven’t bothered to touch it any more. I had been using this distribution in production for a while and my friends and I were evaluating newer distributions for replacing these older systems. We ended up deciding on Gentoo since it was pretty lean on initial install and it’s package maintenance system (portage) was pretty sleek. It also used source packages too, so you compiled everything on install which was good for security and stability of a server. I figured if I were to figure out how Gentoo worked and how I could make it as tolerable as possible, I’d have to switch to using it on my own servers too – so I did.
However, as impressed as I was with Gentoo, I was also still sad to have to give up my shiny perfect distribution. Gentoo is rather easy to upgrade using emerge and the various other toys that portage comes with, but the problems were easily apparent right off the bat; too many developers working on different areas and nobody really communicating between one another to set up some good, solid, organized standards. You get some core stuff with might have some sense of commonality when you look at the various configuration files and methods of installation, but then you go installing other common packages and notice that their maintainers chose a different way to put things together. What you end up with is a nasty dis-organized mess, and it’s really not fun to look at (or am I the only one who runs ls on almost every directory?).
Having what I call a “messy” server is an administrators worst nightmare, but I bet that 90% of the self-proclaimed “administrators” out there are completely oblivious to the mess they wade through every day (if they even touch their servers that often). Personally, I can’t stand it. It aggrivates me to no end having to wonder why my default install of Gentoo has an “apache” user and group, yet Apache is nowhere to be found on my system because I didn’t install it – and that’s just the tip of the iceberg. I know that given enough attention, Gentoo could be an amazing server platform – but it really does need a lot of attention. They need to come up with strict guidlines and rules for all contributors as to how packages will be installed, where their files will go, etc… It’s no small task either, but I know that if I can do it in 1.5years for the first time, a whole team of developers should be able to do it in much less, and come up with some really cool stuff.
I’m sure I’m just ranting in the wind here, but who knows – maybe something will come of this. I really hope that someone high up in Gentoo reads this and I’m given a chance to go in to more detail about all this, and I hope even more that they take my suggestions to heart and actually do something with them so that perhaps down the road some time Gentoo will look better than an LFS system from every angle.
The cruft of the Linux distributions compared to commercial UNIX was one of the primary reasons why I switched to the BSDs for my open source operating system needs a dozen years ago.
Linux has made some significant improvements on this front over the years, and has penetrated the commercial sector much more thoroughly, but it’s still a mess by comparison with its competition.