While I love to experiment with different desktop environments, distributions and even operating systems, I always get drawn back to Openbox on Gentoo Linux and Arch Linux. I guess my preferred desktop environment is not, erm, a desktop environment per se, but a window manager that is lightning fast and highly configurable. It gives me what I absolutely need - a window manager - and then I can build up from there.
But that is besides the point; what I want to do is pitch Gentoo Linux against Arch Linux as briefly and quickly as I can.
First stop? Installation.
Installation with Gentoo can take hours just to get a base system working, however, you have total control over everything you install. This even includes menial choices such as your preferred system logger and cron daemon - or, the choice of having none at all. However, such fine control means that even the kernel must be manually configured; the outcome is that you have a system tuned only for your hardware and preferences, however it can be tedious for users expecting a system to be simple to set up (for those users, honestly: Gentoo is not for you. It is a learning experience within itself that you must appreciate, and the outcome is that you have a perfect system made just to your liking). While there is an option to set up a Gentoo kernel using ‘genkernel’ - an automatic kernel configurator - let’s just say stick to manually configuring it ;)
With Arch, using the interactive installation took about 20 minutes. This is a huge advantage over Gentoo, however fine-grain controls such as choosing a system logger and cron daemon are out of reach and automatically chosen for you. Using Arch, I never see this as an issue; the regular Linux user will generally have no problem with it. However, for those who like to control everything, stick to Gentoo.
Next, we’ll talk about package management.
There isn’t much different between them, except that Gentoo’s portage mainly handles source packages, while Arch’s pacman mainly handles binary packages. Hence, pacman is ridiculously fast in comparison, however the option of being able to control what is installed with each package in Gentoo (for example, enabling or disabling gtk or qt support) is out of the Arch user’s hands. In my experience I never found a significant speed increase in building from source compared to installing binary packages, however the utmost control of Gentoo’s package management is unbeatable.
In terms of syntax, both portage and pacman have relatively straightforward commands. No big issues here.
Configuration updates in Arch are handled automatically, compared to Gentoo where the user must run ‘etc-update’ and hand-pick which configuration files to update. Gentoo’s method is generally fine, however, there have been problems in the past; it can become a serious headache.
Similarly, Arch automatically updates and configures the kernel with every update. In Gentoo, the user must update the kernel and go through the steps of manually configuring all the desired options, before compiling and copying the newly built image over to /boot/. Gentoo’s method can be prone to error if the user isn’t paying attention to what must be selected, while Arch’s method takes the control - or rather, the responsibility - out of the user’s hands.
Speaking of updates, I have always found Arch packages to be somewhat more up to date than Gentoo’s packages. The latest Linux kernel is always available earlier than it is in Gentoo (at least for an x86 architecture) and web browsers are generally updated faster, such as with Firefox. To be fair, Gentoo does update it’s binary firefox package to the latest version very quickly, however, the source version seems to always lag behind. As of today, the source version of Firefox is still at 9.0 in Gentoo’s repositories; the current version is 10.0.
With speed, I always found this comparison to be very peculiar.
Here is the issue; with Gentoo, speed can be greatly affected simply by user error (or success, for that matter). In Arch, things seem preconfigured for performance. I always found Arch to start up faster than Gentoo; my current Arch installation with Openbox takes 10 seconds to boot up to a log in prompt, while my Gentoo installation takes about 20 seconds to get to a login prompt. I should note that I use no display (login) manager. The difference is astonishing; I have always loved Arch because of its speed, but I never thought it would be as quick - or quicker - than Gentoo. This is most likely due to user error, however, and I am sure there are ways to get Gentoo to boot just as fast, and perhaps even faster, than Arch.
Application performance differences are negligible; if anything, I found Gentoo applications to run faster, however keep in mind that this is being extremely picky.
I want to mention one more thing that I see to be very different between Gentoo and Arch; the location of specific configuration files.
In Gentoo, configurations are spread across a number of configuration files. Of course, we have our /etc/make.conf, but we also have /etc/init.d/hostname, /etc/init.d/net, etc. (pun intended). In Arch, most configurations are handles in one, simple file: /etc/rc.conf. I personally much prefer the Arch way; configuring is much simpler and much cleanerthan configuring in Gentoo. This of course is personal preference; many may prefer Gentoo’s way.
I think I have run down the most important differences between Gentoo and Arch. Some smaller ones are Gentoo’s ability to run on almost any architecture, and the ease of setting up X in Gentoo due to USE flags and other /etc/make.conf configurations automatically pulling in dependencies, compared to Arch’s method of having to manually install various X modules as well as your graphics driver.
Overall, the pattern is clear: if you like control over everything in your system from installation onwards, and you like to compile packages by source and control their install options via USE flags, you have to use Gentoo. It is a very hands on distribution, but the benefits are extremely rewarding. If you like to have a fast system in which installation is simple without limiting choice, configuration is cleaner and more logical, package management is faster and things such as configuration updates and linux kernel updates are taken care of, go with Arch. Arch is also easier to set up WiFi and ALSA, among other things, and is described as being more UNIX-like compared to other distributions.
My personal preference? I think both are extremely powerful and configurable operating systems; I appreciate and use both of them. For now, however, I like my Arch installation better than my Gentoo installation; the fact that Arch starts faster and that potential Gentoo headaches aregonegive me more than enough reason to use it. And, coming from Gentoo makes using and setting up Arch Linux an absolute breeze; the amount of knowledge I gained from using Gentoo is immeasurable, and definitely invaluable.
But for me right now, Arch’s advantages outweight its disadvantages - more so than Gentoo. And so, until my preferences change or Gentoo offers me something new, I will stick to using Arch.
[Gentoo and Arch users: what is your preferred distribution, and why? Others users: why do you choose against Gentoo or Arch?]