2003 was the year with Gentoo written all over it in the Linux universe. Last year was Ubuntu’s & MEPIS’. I believe that Arch Linux‘s year is the current one. Read more for a comparison of Arch to existing distributions, and why we think it rocks and where we think it still requires some work.Intro
Arch is an i686-optimized Linux distributions based upon the ideas of CRUX and Slackware. It incorporates their stability, speed and most of all, their keep-it-simple philosophy. When Judd Vinet started Arch towards the end of 2001 he did it because he needed n operating system that resembled CRUX or Slackware but with a package manager that had the ability to track dependencies. So he sat down, used LFS to put together his distro and wrote ‘pacman’ from scratch, his minimalistic and yet very usable, package manager. Here is a quick look on how pacman works:
pacman -Suy (update the whole system by syncing)
pacman -S firefox (install Firefox from -Current)
pacman -R firefox (remove Firefox from your system)
pacman -A package-name.tar.gz (install a local package)
The distribution’s installation procedure is curses-based but it’s not too difficult to figure out (except the part that GRUB won’t get installed if another GRUB is already installed at the same place and it will instead spit an error message — that part always elluded me).
Arch Linux does not have many distro-specific tools and it definetely has no GUI configuration tools. Some of the configuration (daemons, modules, ethernet etc) can be done by editing /etc/rc.conf which is implemented in a clean and graceful way. For more configuration, you will have to use /etc/rc.local or the utilities’ own configuration files, e.g. /etc/conf.d/pcmcia.conf, or udev’s configuration files, or /etc/conf.d/wireless etc. There is definetely a learning curve in there, but Arch is using default file settings and so you won’t have to learn distro-specific tricks (as it is very common for the Debian subsystem or the main RPM systems).
So far Arch does not look very glamorous from my description above, but looking under the hood and at the details, there are strong reasons why it has some advantages over the big Linux players and why it has personally won me over the last few months: (disclaimer: the following comparison is based on my own personal experience with these systems over the course of 7 years of using Linux)
Fedora, Mandrake, SuSE: they require at least 192 MB RAM, they are much slower & much bigger, RPM package management is too modularized and easy to end up with broken or incompatible packages all of a sudden. Some of their scripts or settings are too distro-specific with a long legacy behind them and so sometimes they even break the defaults of some applications or create hard-to-reproduce bugs. On the upside, these distros have lots of GUI tools and mind-share, enough to make commercial binary packages to only test with them to ensure compatibility.
Debian, Ubuntu: Much slower to boot, slower performance overall. apt-get & dpkg and all these related tools are not as brain-dead simple to use as pacman is (and Synaptic is not really as wonderful either). Some distro-specific patches can create problems sometimes. On the upside Debian has a gazillion packages to install and its -stable branch is far more stable than any Linux out there.
Gentoo: Gentoo feels like it’s in beta all the time. It is an ever-changing system that started out simple but has become pretty complex with time. Portage is very strong, but the big problem of Gentoo is that it needs hours to get it installed or get it configured or update the system. With Arch you can be up and running in the 1/50 of that time. Speed-wise they are comparable, with Gentoo having an edge if Gentoo-specific modifications are used. Gentoo supports eBuilds (similar to Arch’s makepkg/ABS philosophy) however usually the most common option available is compilation from source.
Slackware: I have made a much more detailed comparison a few months ago. Since then, the only negative thing that has happened is the apparent slowdown in Slackware’s development due to the health of its sole maintainer. Slackware and Arch Linux have more things in common than not and this is the main reason why many Slackware users have moved to Arch recently.
Now, make it even better
Despite what you might think though, Arch is not perfect and no matter what Archers might advocate to you in the forums or IRC, Arch is not for newbies. Semi-experienced users will be able to successfully fully configure their setup with a bit of pain, but less experienced ones will probably be presented with something that resembles a chaos in their minds. This is not to say that Arch is not a great distro, cause it is. But it does target a more experienced part of the overall userbase.
Pacman has a few performance problems as of late. The number of packages got bigger but pacman does not seem to scale equally well. Currently there is a forum discussion about possible solutions to the problem.
Another weak point is the creation of home-made packages. Archers will advocate that makepkg is dead easy, but it’s not as dead easy as Checkinstall (but still much easier than creating RPMs, of course). Makepkg still requires a bit of extra knowledge and some extra time. With Checkinstall you “./configure” and you “make” but at the end, instead of typing “make install”, you type “checkinstall”. Checkinstall will strip the binary, will create the package for you and will install it, all automatically. Makepkg is definetely not as convenient, at least for ex-Slackware users.
Having to deal with configuration files all over the place for many different applications can be an exercise to one’s patience, no matter the level of his/her experience. It would be great if Arch could create more global configuration files similar to /etc/rc.conf for other things too, e.g. wi-fi profiles, printer, scanners, bluetooth etc. Sure, GUI tools are not the focus of this distribution, but having some easy-to-use global settings files can make everyone’s life easier nevertheless.
Lastly, I would love to see all its very useful wiki articles re-published under the Gentoo colored format: the step-by-step nature of Gentoo’s docs do bring out a higher level a confidence in one’s real abilities. And its happy colors prompt the user to think “hey, it is easy, try it!” (yes, part of it is about psychology and the “feel good” placebo effect).
Arch is a great choice for more-than-newbies+ computer users. It’s still in 0.7 version, but it steps on a solid ground, it has great people behind it and an extra-helpful community. Arch’s big point is “simplicity”. But unlike other ‘simple’ distros it goes one step further: it dares. It dares to be innovative where it counts without fearing that it might break some of its simplicity over usefuleness. I find Arch to be the best of all worlds, given you are a bit proficient with computers. Highly recommended for either a workstation or a server.
Hardware Support: 9/10
Ease of use: 6.5/10
Credibility: 9/10 (stability, bugs, security)
Speed: 9/10 (UI responsiveness, latency, throughput)