Arch Linux

Having gone through all the major distros during the late nineties when I started using Linux regularly, like Red Hat, Suse or Slackware, I started the new millennium settling into Debian mainly due to it's amazingly superior APT packaging system featuring advanced dependency resolution. In 2002 I fell in love with Gentoo and it's power user philosophy unleashing the ultimate control of what you were doing by means of the Portage packaging system, much like BSD ports which I was also using by that time in my private server running OpenBSD as well as in my alternative desktop running FreeBSD.

Though all the features I rank on top of the list when talking about the perfect Linux distro were fully satisfied within such an advanced environment as Gentoo provides, such as rolling release system, powerful dependency handling and compile optimization, something was missing. I missed the great binary package repos from Debian so that I didn't have to burn so much time while even the most simple everyday application was compiling after an update. Having said that, I must stress that I really like to have the power to go into such detail as specifying my very own gcc flags, I just didn't have enough time or a reasonably fast machine.

That's when I stumbled upon Arch Linux in 2003. It was like a dream come true, all the power from Gentoo but with the added bonus of decent binary package repos, at least that's how I used to describe it back then. The main philosophy Arch Linux endorses is KISS ("Keep It Simple, Stupid") where simplicity doesn't have anything to do with usability but rather technical issues, the way things are designed. So here simple means elegant, unbloated, raw, without unnecessary complications. As you might have anticipated, Arch Linux obviously uses a rolling release system (someday I'll write about my negative view towards periodic release based distros) aided by the single most beautiful package manager I have ever used, pacman which handles all the common tasks you would expect like supreme dependency and conflict resolution, fast database querying or precise add/update/remove operations though with the advantage of being entirely written in good C code by a team of talented developers.

All the binary packages are optimized for either i686 or x86-64, which should relieve you from having to compile every single package and enhances the odds of getting all the compile time flags absolutely right since it's done by skilled programmers. However don't get it wrong, binary packages leverage quick installation but Arch Linux also provides the functionality of a ports or Portage system through it's source based packaging system ABS (Arch Build System) which allows you to write PKGBUILD scripts having the same role as ebuilds, albeit with a lot less complication since you write pure bash scripts to automate package building from source without having to learn the ever increasing tokenization of ebuilds, once more fulfilling the KISS goal. ABS let's you create binary packages from the source code which are then seamlessly installed by pacman, it's binary counterpart.

You also get a nice simple BSD style init framework having the opportunity of configuring the bulk of the system merely by editing /etc/rc.conf variables, in fact Arch Linux purposely let's you do all the work by editing conf files keeping all the software in it's original form without adding any distro tools other than it's above average source/binary package management system. This not only respects standards but helps you becoming a better user with full knowledge of what's behind the hood, still if you are afraid of the command line feel free to download Ubuntu or a similar distro.

It's now five years since I stopped distro hopping, in fact I am now a happy contributor of the AUR (ArchLinux User-community Repository).

Arch Linux