A quick look at Gentoo Linux
[Posted March 19, 2003 by corbet]
Your editor recently needed to set up a sacrificial box for testing out
code for the
driver porting
series. Installing a system like that is always a good opportunity to
try out a new distribution, so it seemed like the right time to try to get
a sense for what the
Gentoo hype is
about.
Little did he know that it would take a week just to get through the
installation process.
Gentoo seems to be positioning itself as a Debian for the real
hackers. So, for example, most of the distribution is built from source at
installation time. Why? So you can control the configuration and
optimization settings, of course. As a result, the process can take a while,
especially if the system you are installing is relatively old and slow.
But, in fact, it takes some time to get even that far. A look at the 1.4rc3
installation instructions is a sobering experience; it takes a while
just to read about all that must be done. You start with a bootable
CD image, of course, but then it's a matter of:
- Figuring out and loading whatever kernel modules are necessary to
make your system work.
- Configuring networking - perhaps by hand.
- Going into fdisk to set up partitions.
- Running variants of mkfs as many times as necessary
to create your filesystems - be sure to get the partition names
right.
- Mounting the filesystems by hand.
- Untarring an archive with the base system on it.
- Issuing a manual chroot command to move into the
under-construction system's filesystem.
- Running the nice emerge tool, which will bring
your base system up to date with the current packages.
- Editing /etc/make.conf to set options on how the
rest of the system will be built.
- Running emerge again to download and build the bulk
of the system. Good time to head out for coffee. Or, on slower
systems, a nice weekend.
- Choosing from a few kernel source distributions, and running
make menuconfig to configure it appropriately. Make sure you
set the important options correctly (for example, you need to enable
devfs) - the initial configuration does not do this.
And so on...you presumably get the point by now. Installing Gentoo is
essentially a process of assembling your desired system by hand.
For old-time Linux users, the experience is much like going about ten years
back in time, when Linux systems really were assembled by hand. At
least you don't need a big stack of diskettes anymore.
The interesting thing is that, once you're done, the result is a pretty
nice system. The right packages are there, the administration tools seem to
be well thought out (though things like the init script system take a
little getting used to), and the "portage" package system has many of the
same features that make Debian's "apt" so great. And, of course, you have
a system that is set up exactly how you directed it to be and optimized for
your processor.
For most users, though, the pain required to get there will probably not
prove to be worth it. Your editor is not a stranger to this mode of
operation, having been through experiences like converting systems
from a.out to ELF by hand. But, you know, that was a while ago; now I'm
more interested in having the system just work. And if I'm trying to set
up a dozen (or hundreds) of boxes, the Gentoo approach is simply out of the
question.
There is, of course, absolutely nothing wrong with Gentoo being what it
is. There are plenty of distributions out there for people who want to be
able to do an installation without thinking about it. Gentoo is aimed at a
different audience - those who want to get their hands quite dirty inside
their Linux systems. That is, of course, one of the great things about
Linux: you can get your hands as deeply into the system as you want. As
the commercial distributions get flashier and generally easier to work
with, the excitement and challenge of dealing with the system at the lowest
level recedes a bit. Gentoo is bringing that experience back to a new
generation of Linux users and hackers, and seems to be doing a very good
job of it.
(
Log in to post comments)