After reading a discussion on DistroWatch asking if users were happy with their current distribution, I noticed a common thread of those who have had similar experiences as myself with juggling various Linux distributions. Like myself, they feel many Linux distributions are great, but no one quite feels like home. None of them quite fit the bill and they may even begin to think that every OS sucks.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
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
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
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
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
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/.