LWN.net Logo

 
Sponsored Link
TrustCommerce

E-Commerce & credit card processing - the Open Source way!

You are not logged in
Log in now
Create an account
Subscribe to LWN
 
Summary page
Return to the Distributions page
 
Recent Features

LWN.net Weekly Edition for April 1, 2004

Utah's anti-spyware law

The Aberdeen Group looks at free databases

LWN.net Weekly Edition for March 25, 2004

The Grumpy Editor's Guide to Image Viewers

Printable page
 

 

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.


(Log in to post comments)

  My look at Arch Linux 0.2, 0.3, and 0.4
(Posted Aug 1, 2003 13:12 UTC (Fri) by rabnud) (Post reply)

I can only say that Arch is incredible!

Having used earlier releases Arch (0.2, 0.3, and 0.4), I have learned that this is a great distribution for someone...
-who has familiarity with command line configuration,
-whom also knows the locations of proper config files (some of this is addressed in their local docs),
-whom already knows all of the modules required for their system,
-whom already knows the various options which are required of their hardware and circumstances, and
-whom also has a reliable internet connection.

With Arch 0.4 (ISO file is <600 megs on CDR), I saw installation times well under 25 minutes on a 1 GHz Athlon ThunderBird with ATA66 hard disks, and their current latest 'full' 0.5 ISO file (<650 megs) still fits on a single CDR.

If package dependencies irk you and you -do- have a live internet connection, you're gonna love Arch! You can install and run a system which is as current as is humanly possible, within a few moments of installing it, no matter how old the 0.5 install CD may be. Just run 'pacman -Syu', and watch the OS do its stuff.

As a down side (in fact, I believe this is the -ONLY- downside which persists in 0.5 from what I saw in those earlier releases), Arch will suffer in the hands of any user who cannot, for whatever reason, offer a reliable, persistent, live internet connection to the Arch system when it is being upgraded.

For example: users who download from one location and transport the downloaded files to the Arch box via CD (e.g. a security sensitive situation or rural users who download after hours at work or from regions of the world where internet access is not possible, or where internet access is made via a different OS on the same PC) - these users will suffer with manually performing searches and downloads for all the dependant packages: 'pacman -S' needs persistent access to all the packages while the command is running, otherwise it will fail to effectively install the upgrades. Remember, the indicated situation has no live internet connection, so whatever -local- repository is being used, that repository must contain -all- the dependant packages, in order to succeed. This is not much different from other package management techniques such as RPM, tar.gz, etc.
Not a 'show stopper' - users can simply copy the resulting 'pacman -S' error output and take that with them to the site where they will actually download the packages - the output is presented in clear text, dumped to the console. I'm not certain if pacman has an option whereby the user can dump a list of dependencies required by a package: the various man pages for pacman have been unclear about how to generate such output (pacman has evolved with nearly every release of Arch). Also, consider the issue of tertiary package dependency: the package you need to download may in turn have its own dependencies but you will not know until you get the file to the location where you are installing hte package. This is only addressable in a live access environment, potentially leaving the user in a classic 'dependency ping-pong' mode for a short spell, just as presently the user might experience with RPM, tar.gz, debs, etc.

I've used a few distros, (RedHat, Slackware, Mandrakes galore), if you match their target audience, Arch will not disappoint you!

  A Look at Arch Linux
(Posted Feb 17, 2004 16:41 UTC (Tue) by TKS) (Post reply)

Interesting...

Take one 500MB Hard Disk, one 200MB Hard disk (swap)
Add an Emachines T1090 w/ Celeron 900Mhz
Add ArchLinux bare install
Mix Thouroughly

BEWM! One operating linux box ripe for me to set up how I WANT TO! That's the best thing about Arch Linux...it's ability to do a bare install of 100MB and from there, build your linux box how you want to build it. It's like getting a frame for a Ferrari and being able to add whatever things you want to add to it. The package builder is awesome...I've run slackware on my main machine for years and am now priming to switch over to ArchLinux 0.5. Nothing right now can beat it for configurability. If you have some linux knowledge and need a fast, easy to configure box...this is for you!

Copyright (©) 2003, Eklektix, Inc.
Linux (®) is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.