A Look at Arch Linux
[This article was contributed by Ladislav Bodnar]
Arch Linux is one of those quiet and little-known distributions, rarely figuring in the headlines of major Linux news publications. This does not mean that their developers are not hard at work - in fact, the continuously evolving changelog and the release of Arch Linux 0.5 earlier this week are a proof that the distribution is alive and well. Let's take a brief look at the project's history and its latest release.Arch Linux (not to be confused with Ark Linux, which is a distribution for novice Linux users currently in early development) is a Linux distribution originally based on ideas from CRUX and optimized for the i686 architecture. Its development was initiated by a Canadian programmer and musician Judd Vinet in 2001 and the first product, Arch Linux 0.1, code name "Homer", was released in March 2002. New developers have been joining the project at regular intervals and a small team is now responsible for the ongoing development and product releases. Arch Linux is a free distribution released under GPL.
Unlike the CRUX distribution, which achieves its goal of being fast and light-weight by excluding KDE and GNOME, the two resource-hungry desktop environments, the Arch Linux developers leave this decision up to each individual user. This philosophy becomes immediately apparent during the product deployment. While the installation program provides helpful hints and useful guidelines within all configuration files, it does not attempt any hardware auto-detection and knowledge of the names of required kernel modules is essential.
The installation is a straight-forward 6-step process consisting of hard disk partitioning (ext3 and ReiserFS are the only two supported journaled file systems), package selection, package installation, kernel installation (which offers a selection of pre-compiled kernels or the opportunity to compile a custom kernel), system configuration and bootloader installation. The system configuration is divided into several sub-steps, which allow direct editing of configuration files, interspersed with helpful comments. This is where the user can configure networking, decide on which modules to load at startup and choose between lilo and grub as the preferred bootloader. The text-mode installation program is logical and easy to follow.
All Linux distributions are basically collections of free software, plus some in-house enhancements, so what differentiates Arch Linux from the rest? The main feature of Arch Linux is its GPL-ed package manager, called "pacman". Its man page tells us that pacman is a package management utility that tracks installed packages on a Linux system. It has simple dependency support and the ability to connect to a remote FTP server and automatically upgrade packages on the local system. Similarly to Debian's apt-get, pacman is capable of installing or upgrading a package and resolve all of its dependencies with a single command.
As an example, pacman -Syu synchronizes the local package database with the one on a central repository, while pacman -S <packagename> downloads and installs <packagename> and all its dependencies. Another useful command is pacman -Su, which upgrades all packages that have newer versions available. Besides installing and removing packages, pacman has many other useful features, including the ability to search packages, display information about them, list individual files within a given package, a download only option, an option to clean the download cache and other features. Pacman's configuration is stored in a configuration file located in /etc/pacman.conf.
Packages for Arch Linux are maintained in a central repository (and its mirrors), which has two branches - stable and current. As the names indicate, the stable branch contains release quality, well-tested packages, while the current branch is a highly up-to-date repository for those users who prefer to install the latest, but potentially less stable software. There is also an unofficial repository of user contributed packages, which brings the overall total number of available packages to around 1,000.
This is of course a far cry from the number of packages one finds in any Debian or Gentoo branch, so what options do you have if your preferred software has not yet made it to the official repository? Besides compiling your own package manually, Arch Linux also provides a so-called "Arch Build System" or ABS for short, which is capable of building an Arch package from source or rebuilding an existing binary package with specific customizations. This is done with a makepkg command and the relatively simple script-based process is covered in detail in its man page. The main advantage of this approach, at least in the majority of cases, is that the script needs to be built once and all subsequent version upgrades are a simple matter of running the makepkg command against the source code of a new package version.
Those who have used Arch Linux before might be interested to know that, besides package version updates, Arch Linux 0.5 has a number of new features. Among the more interesting ones are MD5 password and PAM support, the availability of two pre-compiled kernels for IDE and SCSI hard drives, LVM support in initscripts and improvements in the installer, especially the package selection and package installation screens. The option to compile a custom kernel and introduction of grub as the default bootloader are also new in this release.
Arch Linux is an interesting Linux distribution for tinkerers and developers. Its small and friendly community, highly up-to-date software repository and superior package management are its biggest draw cards. The project provides the usual range of support services, including user forums, mailing lists, and an IRC channel, together with documentation in English, German and French, FAQs and third-party collections of various tips and tricks. A CVS repository and a bug tracker are also available to developers.
Next time you find yourself in the mood to install a new distribution,
give Arch Linux a try. It will
provide you with a fast and lean system, while leaving control of all
of its aspects firmly in your hands.
