Arch Linux: an end to my distro shuffle!
For some time now I’ve been meaning to write about Arch, the Linux distribution I’ve been using for almost a year now. Today I stumbled onto an old OSNews article, which perfectly describes my feelings on Arch. The article is in fact from 2004, but if you replace Mozilla-firebird in the text with Firefox, it is still current.
Since I ditched Windows ’98, back in, well, ’98, I have used a couple of Linux distributions. The first one was SuSE Linux, I think version 5 or 6, in any case well before Novell acquired it. I bought it in a book store and it came on 6 CDs and included a few books. I already had an Internet connection at home, but that was too slow to download an entire distribution on.
I liked Linux for being different. I became interested in the ideas behind free and open source software and got kind of hooked. Using SuSE however occasionally proved frustrating. Hardware support wasn’t very good and the RPM package management didn’t have dependency management. I really hated YaST for being heavy, inflexible and unstable. Around 2002 I started distro juggling, trying out Fedora, Gentoo, and Linux from Scratch each at least twice.
In 2004 I tried Crux, and I liked it. The Keep It Simple, Stupid! (KISS) philosophy really sat well with me and it kind of made me feel nerdy compiling everything that I installed. Everything was optimized for i686 (Pentium 4) which made computer really fast. Unneeded extras like documentation (which can always be found on the Internet) are not installed. I liked the ports package system for its elegance, and even had my own registered repository at some point. It contained an MSX emulator and related utilities, some musical software and some drivers and other useful stuff for my Compaq Armada laptop. This was born out of necessity, since the official Crux repositories only contained very popular software. Anyone with any special needs had to learn how to create packages.
Crux had downsides too. Many of its packages weren’t maintained that well, and it frequently happened that things would stop working after an update. And every now and then there was a new Crux release. This usually meant an entire weekend of work. Deciding that I hadn’t any ambitions of becoming my own private system administrator I switched to Ubuntu. Ubuntu was growing very popular and many people were using it to their satisfaction. Ubuntu was more or less opposite of Crux, in that it tried to take system maintenance out of the user’s hand, so that she could concentrate on being productive. To do that, Ubuntu kept the complex stuff hidden from the user. The downside was that when something broke or the user wanted something Canonical did not foresee, trying to figure out what happened was hard. Things got worse with each new version. Whenever I had become accustomed to the current set of quirks, a new distro release added a completely new set of irritations. Usually, doing a fresh install was a better idea than performing a dist-upgrade (I’ve seen dist-upgrades of Ubuntu Server LTS completely brick a machine), but things were far from complex, and I started looking around again.
Then I found Arch. Arch is inspired by Crux. Complex stuff isn’t hidden, only necessary stuff is installed, and packages are i686 or x86-64 (64-bit) optimized. This makes my Arch system just as fast as it was when it was still running Crux. But it has a few very nice differences. First of all, the package maintenance is very dependable. Updates never break anything, as long as you read the update notes. Secondly, Arch is a rolling release distro. Distribution releases have no impact on existing Arch installations. Arch’s package manager takes care of everything. This means that as long as I stick with Arch and my current hard drive, I will never have to install another operating system. I think that is downright awesome.
Everything that’s on an Arch installation is consciously installed, so when something breaks because of an update, I can easily figure out what went wrong. Part of updating my packages is manually updating config files, but only the ones that I changed myself, so I know what the changes mean. This can take some time, but usually no more than fifteen minutes. And I will never need to spend an entire evening installing or upgrading a complete distribution.
Categorised as: cool stuff