Linux.com

Feature

My Workstation OS: Gentoo

By Tom Chance on March 18, 2005 (8:00:00 AM)

Share    Print    Comments   

After failed experiments with Slackware, a few years of SUSE, and a brief flirtation with Debian, I've been working and playing on Gentoo. I don't care for endless optimisations, and I'm not especially bothered about the bloat of a few unnecessary extra features, nor do I enjoy waiting days to update KDE -- so why do I like Gentoo? Simple: Portage package management, the hands-off approach to configuration, the excellent documentation, and the unsurpassed community support forum.

What separates Gentoo from other GNU/Linux distributions? It isn't really a distribution. It's more of a meta-distribution, a collection of tools that manage the "from scratch" approach. It doesn't have any packages per se, just ebuilds that describe where the source packages can be downloaded, and how to include your specified compilation preferences in the process. Installation of any part of the system consists in issuing the command emerge packagename, and then sitting back while Portage, the packaging system based on BSD Ports, downloads the sources, unpacks, configures, and compiles them, and finally installs your shiny new software.

Portage has a series of environment variables that let you control the compiler options (to tune code, for example, for my Pentium 4) and optional features (so I set Portage up to pass over GTK and GNOME code where possible). These are especially popular amongst habitual tinkerers, obsessed with trying to gain an extra millisecond in startup time, or trying to save a few megabytes of disk space. They've also been the subject of ridicule, something I sympathise with.

There is another feature of Gentoo's meta-distribution approach that appeals to me. With many distributions, you are stuck in their release cycle, which means backing your data up and upgrading in a sometimes not-so-seamless way. You can, of course, continually update packages in the meantime, but in my experience with SUSE (which I confess may be out of date) it doesn't match the simplicity of emerge sync && emerge -u world. With those two commands I can sync my local package database with the up-to-date online version, and then update every package on my system that has an available upgrade. I can do this weekly, if I'm obsessive, or once every few months, or when a major new release of KDE comes out. I can even fine-tune which package versions I want, opting for more unstable packages where I need the features, and blocking supposedly stable packages I have problems with, in a way that doesn't just get overwritten with the next upgrade command.

Following this hands-off approach, Gentoo also leaves most configuration to you. The basic stuff like startup scripts are of course Gentoo's own design (and the most powerful and comprehensible I've yet come across), but everything else is left alone. No hacking around in SUSE's massive configuration files, or trying to work out where Mandrake stores its own modified versions. If the documentation for a project says you configure its software in a particular way, you can follow it without many problems.

All of this brings me to the first reason why I use Gentoo for my workstation: the package management is easy, leaving me to get on with my work. I don't have to bother with dependencies, missing libraries, out-of-date binaries (often because the packager lost interest or is taking too long to release the code), crazy configuration systems, or any of the other problems I've had with other distributions.

By now you might be wondering why I don't use Debian, since all of the other features I enjoy are shared with that excellent distribution. So similar are they that Gentoo even based its social contract (an important document for me) on Debian's. Well, an important factor for me is good documentation, something I've found missing with every other distribution. The Gentoo documentation section has guides for everything from installing the system to configuring KDE. With them, I don't have to go Googling for individual HOWTOs and trawling through mailing lists. This resource is kept up-to-date and is written in a consistent style that makes learning comparatively easy. And if you're ever stuck, the forums are full of useful past threads that usually help me out of a tight spot. So long as you are polite and helpful, providing information when requested and trying to find answers yourself before troubling others, you're guaranteed to find a response.

Of course Gentoo isn't all sugar and spice; there are downsides. The first and most obvious is that if you compile everything from source code, you're condemned to wait. Getting Gentoo up and running is likely to take you a few days, unless you don't sleep, and from then on major upgrades can set you back a similar amount of time. Just installing kdelibs has taken me, depending on what I was doing at the time, between two and five hours on my laptop (with a 2GHz Celeron processor). However, despite being the butt of many jokes, the compile times don't really trouble me. If I need to update a lot of software I usually leave my laptop in an empty room overnight, or let it chug away in the background. I'm not in that much of a hurry that I can't wait a few hours! Only obsessive tinkerers who want their software immediately will be annoyed.

For those who don't feel like learning the ins and outs of their software before they can configure it, the lack of tools like SUSE's YaST and Mandrake's Control Centre will grate. Using your new USB key drive for the first time, which on other distributions would often be a matter of plugging it in, can require kernel recompiles and long searches on the forums and Google before you work it out. Of course the flip side is that when the flashy tools of other distributions might fail you, leaving you digging through their crazy configuration system, the Gentoo user is working with the system the developers documented.

So to summarise: Why do I use Gentoo? Not because it is more optimised, nor particularly because it is customised and takes up less hard drive space. I appreciate the simple, solid package and configuration management systems that keep out of my way; I appreciate the helpful documentation; I find the user forums indispensable; and I appreciate the community approach enshrined in Gentoo's social contract. At the end of the day, as the Gentoo Web site says, "the Gentoo developer and user community is undoubtedly Gentoo's strongest value."

Share    Print    Comments   

Comments

on My Workstation OS: Gentoo

Note: Comments are owned by the poster. We are not responsible for their content.

I agree

Posted by: Anonymous Coward on March 18, 2005 05:19 PM
I totally agree.
I 3 my gentoo.
I 3 gentoo documention.

#

binary packages

Posted by: Anonymous Coward on March 18, 2005 06:51 PM
Although even the Gentoo website states that their most valuable asset is their community, I would argue that their community wouldn't be what it is without the Gentoo philosophy.

Their philosophy is about putting the user in control of the system through innovative solutions of which Portage is the supreme example.

Gentoo walks the fine line between the dumb one-click automation of some systems on one hand and the less usable but ultimately powerful method of hacking every configuration file yourself. On which end of the spectrum you are depends largely on personal taste (I know of a windows user who installs every application by hand, almost one file at the time) but Gentoo seems to cover quite a large portion of the spectrum, just *because* it is a meta-distro.

Other attempts at meta-distros weren't nearly as successful. The difficulty here is that with the extra flexibility come the danger of configuration hell. Gentoo's Portage and init-scripts are well designed to overcome just that problem.

The function of both Portage and the init-scripts is just one thing: taming the configuration monster. They are only neccessary because of the sheer size and complexity of today's software base. In this respect Gentoo is the most innovative distro around. This is why even if you don't run Gentoo today you should definitely keep an eye on it in the future.

#

Re:binary packages

Posted by: Anonymous Coward on March 18, 2005 06:53 PM
oops the title is confusing..

I actually planned to say Gentoo has binary packages too<nobr> <wbr></nobr>;-)

#

Gentoo gets crufty

Posted by: Anonymous Coward on March 23, 2005 01:30 PM
I've switched from Gentoo as my primary workstation to Debian for one simple reason. After numerous upgrades of Perl and other such things as Python and Java alot of the old modules that are required for certain programs to run are no longer included in the class path or libraries.

I know I could probably track down what paths I need to add. But that's just it, I want something that works all the time through upgrades. I love gentoo for it's bleeding edge packages and the best design decisions (leaving it mostly up to the user). I've flammed Debian before and now I'm a convert, not because of the stable pacakges and security bug fixes but because it works.

I'll probably give Gentoo another go when they finnally put Portage Stable together.

#

My final (hope!) distribution

Posted by: Anonymous Coward on March 23, 2005 03:50 PM
Good article!
I've come to Gentoo, after years of RedHat, Suse, Debian and Slacware.
Main driver has been the availability of full 64-bit system, but after a few days i really enjoined the complete control you can have over the system, and the superb quality of documentation (available in most languages).
It's over a year i'm working with gentoo, on three differents machines (workstation, web/mail/ssh server, and htpc), and really don't think about changing distro soon!

#

not agree, gentoo is buggy

Posted by: Anonymous Coward on March 24, 2005 12:14 PM
Gentoo wouldn't work without all their patches, why waste time on this buggy system?

#

Re:not agree, gentoo is buggy

Posted by: Anonymous Coward on March 27, 2005 04:25 PM
As much as possible, all packages are built as per the desires of upstream. If a package has patches it is normally because there are changes that need to be made for compilation (such as API changes or security issues) or because the installation would not be compliant with FHS. Gentoo tries to adhere to standards and upstream where ever possible. Most of the time, developers will even send the patches upstream so others could benefit as well.

#

Compilation Time

Posted by: Anonymous Coward on March 25, 2005 01:59 AM
I've been using Gentoo for several years now, and you are right about the compilation time being a downside. However, for some of the larger packages there are also binary versions available so if you don't care about those extra microseconds, you can use this option. I think they are usually suffixed with -bin in the name. The -k and -g options may also be useful. I'll even admit I've done it a few times myself. (Ever compiled openoffice from source?<nobr> <wbr></nobr>:)

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya