Monday, January 22, 2007

Some quick words on Gentoo GNU/Linux

Last year I had my first real look at the FreeBSD Ports system. It was pretty interesting and brought me back to the days of Slackware and compilation. Since Slackware, it's mostly been a GNU/Linux packaging affair, be it RPM/Yum or DEB/Apt.

Looking at FreeBSD led me to the source based GNU/Linux distribution, Gentoo.

Preconceptions I had heard about Gentoo were that it was difficult to maintain and it broke easily. What I did like about it was the Gentoo wiki. It has great documentation, IMHO. Some people say that Gentoo is a fast system.

So I downloaded the latest install ISO and loaded up Gentoo in a virtual machine.

It is similar to FreeBSD in that when you upgrade, you first synchronize the repository data. In FreeBSD you use cvsup or there was some other command in FreeBSD 6.x that I used that I forget.. Anyway, with Gentoo the whole upgrade process is more integrated using the emerge command.

.. I led to the conclusion that Gentoo could only really work for hobbyists but is really good if you want to learn about a system.

Why?

Most of the reasons are covered in this post that I agree with so read it you want a full blown explanation.

My main point is that using Gentoo does not give you a baseline to test against. This also means that you can't certify against a moving target. It also means it is difficult to support (at least on a large scale). The variability of package versions and combinations means stability pays a price. How on earth would you write a Bugzilla bug? The first question people would ask is, is your system up-to-date? What are your USE flags?

Hypothetically, you could produce a standardized Gentoo... But then you may as well be another distribution that's already there. Standardized components then allows you to further tune and optimize. Packages (especially larger ones) could possibly run a lot slower. It just has not been tested against!

That severly limits the audience for Gentoo. You could use Gentoo for embedded (simple and known setup) and non-critical systems (desktops). But like I said, it's a great system for learning the internals.

--

One thing that did interest me was the perpetual update potential of the system. That is not having to re-install.

In reality, you need to patch and diff config files which is a real pain.

Having a distribution release cycle also gives you goals that engineers can work towards. For example, with the latest Fedora Core 6, allows engineers and users to test against the goal of using X.org 7.1.

This is a lot more difficult with Gentoo.