May 15, 2006

Gentoo 2006.0: Elbow grease required

Author: Joe 'Zonker' Brockmeier

I've been toying with Gentoo 2006.0 off and on since it was released in February. Gentoo is a solid distribution, but it takes a little more work than most users might expect to get the distribution up and running.

Installing Gentoo using the manual method described in the Gentoo Handbook is, to put it bluntly, a royal pain. It's a good hands-on experience if you're looking to learn about the nitty-gritty of system configuration, but a lousy way to install Linux quickly, and almost certain to be intimidating for anyone who's not well-versed with Linux already.

I recommend that anyone interested in learning about Linux try the manual Gentoo installation once -- and then give thanks that all of that silliness is no longer required just to get a system up and running because we have much more advanced installers now.

I was interested when I read that this version of Gentoo had a graphical installer, but my hopes fell when I read the welcome greeting for the GUI installer:

It is highly recommended that you have gone through the manual install process a time or two, or at least read through the install guide. The purpose of this installer is not to make the install easier but to make it quicker. Don't ask questions that are covered by the install guide, or we shall taunt you a second time.

Quicker, but not easier. That wasn't encouraging. The tone of the FAQ for the GUI installer doesn't exactly inspire optimism, either. Despite that, I gave it a shot anyway -- but the Gentoo GUI installer bombed out on me several times on different machines, and within VMware Workstation.

I had better luck with the text-mode installer. I used the text mode installer on the Gentoo live CD on an AMD XP 2000+ machine with 1GB of RAM, and it installed Gentoo without any problems.

Using Gentoo

Once the install was complete, I restarted the system and logged into GNOME. The default GNOME install included a decent set of desktop applications applications to start with -- not quite so many as a default Ubuntu install (for example), but certainly enough to get started.

The first thing I noticed was that my screen resolution was a bit off. I was using a Dell 2005FPW 20.1-inch widescreen monitor plugged into the system, with an ATI video card that will do 1680x1050. Instead, it was configured for 1024x768. The GNOME screen resolution applet only offered 1024x768, 800x600, and 640x480. (Does anyone still use 640x480?) Gentoo doesn't offer any handy configuration tools that I could find, so I ended up using the xorgcfg utility, which is a stock part of, to change the resolution.

After getting X squared away, I noticed that I had no sound. Again, after some researching, the only option I had to get sound support for my Gentoo machine seemed to be more complex than is usual for desktop distros.

Another stumbling block is that Gentoo isn't set up to automount removable media, such as CD-ROMs and USB keys. The Gentoo wiki does have instructions on setting it up, but most users will expect this to work by default.

While playing with Gentoo, I found myself spending a lot more time than usual combing through the documentation to find out how to enable features that weren't immediately available -- things that I've grown used to having up and running as soon as I do an install.

The long and short of it is that Gentoo doesn't really offer the same kind of configuration tools or "out of the box" experience that desktop users usually want. If you want a wizard-type tool for setting up X or a YaST-type of tool for configuring hardware or Apache, Gentoo probably isn't for you. On the other hand, if you're used to using tools like xorgcfg, then Gentoo might be a good choice.

Using Portage

Gentoo doesn't use RPM or the Debian package formats. Instead, it uses Portage, which is much like the BSD Ports system. Rather than grabbing a precompiled package, you can "emerge" a new application or update, which downloads the source code for an application and then compiles it.

Two advantages of this approach are control and optimization. Gentoo and Portage give you a great deal of control over how packages are compiled, and the theory is that packages compiled for your specific processor and with the optimizations that you want to use will be faster than packages compiled for the lowest common denominator. If you're using a distro like Ubuntu, Red Hat/Fedora, SUSE, or most others, you're going to get packages that are compiled for a wide set of machines, which usually means targeting a lowest common denominator, so you're not necessarily getting the most out of your system.

How well does this work in practice? I didn't do any serious comparisons, but using the GNOME desktop on my test machine seemed a bit faster than usual.

Portage has its downsides as well. For one thing, getting new packages and upgrading existing ones tends to take much longer than getting an RPM or Debian package. This is certainly true when you're talking about updating several packages at a time, such as when you use something like emerge -uD world to update the entire system after doing a fresh install.

Note that you can smooth this out a bit in larger environments by using a build host and building packages for systems on a single machine, then grabbing binary packages from it on other machines. However, this is only really suitable for users who have deployed Gentoo on several systems.

Another downside to Portage is that you will run into the occasional build error. While build errors are something that I've been used to for some time, I doubt that many users are going to feel like fussing with them. To be fair, I've also run into problems with RPMs and Debian packages, though not as often.

On the plus side, Gentoo's Portage tree has thousands of packages, so the odds are that if you want to install a piece of open source software, it's probably just an emerge away.

However, the number of precompiled packages included on the installer CD is limited. Precompiled GNOME packages are included on the live CD, and basic packages like the GIMP, Emacs, Vim, Firefox, MPlayer, XMMS, Gaim, Xchat, and some games. The default install is much like many other single-CD Linux installers -- you have enough to get up and running, and to provide a basic desktop, but you'll probably want to install additional packages after the install.

DIY paradise

The bottom line is that Gentoo is a great distro for do-it-yourselfers, but probably not well-suited for users who want to install and use a distro without seeing the command line.

Gentoo's installer is a huge barrier to entry for prospective users. However, some resources exist to let users try Gentoo without all the hassles. First, you can run the Gentoo live CD to give it a test drive. Another option is to run Gentoo within the VMware Player or VMware Workstation, using a pre-made virtual image. This is my favorite option, since it provides an opportunity to try Gentoo with few hassles. If you have a fast connection, you can download the image and fire it up in less than 20 minutes.

Finally, you might look at Kororaa, which is a Gentoo-derived distro that's supposed to be easier to install, and fully compatible with Gentoo once it's installed.

You might think, because I've criticized the installer, that I don't like Gentoo itself. Not so. I think the Gentoo project has come up with a great distro for users who want fine-grained control over their systems. The developers have put a lot of effort into supporting multiple architectures, and the documentation certainly is extensive.

But users should understand what they're getting into before trying Gentoo. If you'd like to use Gentoo on your system, be prepared to spend some serious time reading the Gentoo documentation and learning about the tools you'll need to use to manage your system. If this sounds reasonable to you, then you'll probably enjoy using Gentoo.


  • Linux
Click Here!