One recommendation that popped up by several users was Arch Linux. Although I've tried 27 different distributions in the past couple years, I never managed to stumble upon this one. CD-Rs are cheap so I decided to give it a try. I test drove it on my home desktop machine which has the following measurements:
- Athlon 1333
- 512MB RAM
- Generic Geforce2 video card, 64MB
- LanParty NFII Ultra Motherboard
My biggest gripe with many distributions is the package management systems. I can deal with a text based installation or, on the other hand, an extreme amount of bloat. Whether they spent loads of time making KDE or Gnome looking perfect and customized, or it's just the standard installation doesn't matter much to me, but I really would like a distribution that makes it easy to install new software and keep the existing software up to date. My ideal Linux distribution would have a package system like Debian or Gentoo in which dependencies are handled automatically. I have two small children and plenty of work to do so I don't have a full night to throw away with hunting down dependencies just to get XCDRoast working correctly. Unfortunately, Debian's stable branch is too out of date for me to rely entirely on apt and the unstable branch is too frustrating with mismatched dependencies. As for Gentoo, I don't have endless hours to spend waiting for compilations to complete or resolving configuration files.
On to my Arch Linux experience. I downloaded the full ISO image from their website. The installation process was a text based one similar to Debian or Slackware and is simple and straightforward if you keep a copy of the installation documentation from their website handy and follow the options in the order they're presented.
Arch Linux's installation procedure starts out with partitioning in which you can either manually partition using cfdisk and then select the mount points or you can let Arch linux take over your entire hard drive. The next phase is package selection. You can select groups of packages to install and on the following screens deselect from the defaults in those packages. I stuck with the base install and decided to everything else later.
Following package installation is kernel installation in which you have the choice of an IDE kernel, a SCSI kernel or the do-it-yourself kernel. Next up comes configuration of your new system. You are shown a list of configuration files which are well documented and edited through your choice of VI or Nano. Although this is a simple process for more advanced linux users who are aware of what needs to be done before a system can boot, it would be nice to have prompts which fill in these configuration files for you so you don't miss anything in your rush to finish. Most of the configuration is done through one file, /etc/rc.conf. In here there are places to configure your network, state which modules should be loaded at startup and which scripts should be run at startup. I'm sure in a more complicated setup with multiple runlevels this may be inadequate, but for the standard desktop it's nice to have one place to go for everything. Finally you install the bootloader and reboot. The entire installation process took up about 15 minutes to complete
According to their website, "Arch Linux is an i686-optimized linux distribution targeted at competent linux users (read: not afraid of the commandline)" so it's main advantage is not having a completely configured ready-to-run system. Instead, the biggest advantage of Arch Linux and the reason I gave it a spin, is it's package management called pacman. Pacman has support for dependencies and downloads any needed packages for a repository much like apt or emerge. There is some basic documentation on their website and typing man pacman after completing the installation can fill in the rest. Updating your system is a simple command of pacman -Syu which synchronizes the package list and installs any updates. Please take note, however, they recommend you update pacman (pacman -S pacman) first before you do this. After installing the base system I did system update which proceded to update a handful of packages including a kernel upgrade without a problem. Finding a package to install is as simple as pacman -Ss mozilla. A list of matches will popup and you can install the one you want by typing pacman -S mozilla-firebird. The packages are all up to date and after installing XFCE, k3b, the Java 2 SDK and haven't had any dependency problems.
I've had my entire system installed and configured for a couple weeks now and have only hit one package, the GD library for Perl, which wasn't included in Arch Linux's repository. I've also hit only one snag when an update of kdebase and kdelibs came along and wouldn't install. I headed over to Arch Linux's website and sure enough there was a posting on the front page explaining how this was a change by KDE and instructions on how to get past it. I also ran accross a problem with k3b requiring a specific version of cdrecord but the repository only having an older version. I blame this more on the developers of k3b than on Arch Linux as you should always support backwards compatibility in your software.
Now here's the best part of running Arch Linux, the whole frigging thing just works! Installing XFCE automatically installed everything I needed for XFree86. Fonts are anti-aliased and sized well in both Mozilla and Sylpheed, two programs which typically look hideous in most other distributions I've tried. Getting my sound card working was as simple as installing the alsa-driver with pacman, adding the sound card driver to the list of drivers to load and adding a couple permission lines to another configuration file. Which leads me to another nice feature about Arch. Most configuration only has to be done in a handful of files which are well documented in the installation instructions. No hunting through mailing list archives to get your system up and running.
Arch Linux is definitely one of the faster distributions I've run, especially when using the console. All the software is up to date and runs solidly. The aren't any special configuration utilities, but this isn't a distribution for newcomers to Linux. One thing users may miss from other distributions is that Arch Linux doesn't have a menu kept up to date listing all the major applications you have installed. Personally I don't miss this as I've been XFCE exclusively for some time now.
In addition to the standard applications, I've also set this installation up as a development system and have not run accross any problems installing or running Apache, MySQL, Perl, Python or any of the numerous libraries I use.
Arch Linux is a great distro for the expert user who want a customized Linux installation without the hassle of hunting for packages and dependencies. Let's face it, the fun of Linux is tweaking and customizing not configure; make; make install. It's an extremely well done distribution that just plain works. In the week or so that I've been running it exclusively, I haven't run across any negatives. In fact the only recommendations I would have to the developers is more documentation on their website on the Arch Linux way of doing things such as installing sound cards or recompiling the kernel. There's plenty of help in their forums but one place to go for answers to common questions like this would save some time. And make sure you download the installation instructions first and visit their forums if you need any help.
About the Author:
Andrew Barilla has been a professional software developer since 1992 and aside from work that actually pays the bills, is currently working on his free jukebox software available from http://www.exit66.com/.