The good things about Gentoo is that since nearly everything is built from source, you have complete freedom to customize everything just the way you want it. Ebuilds (scripts that automatically builds and installs stuff for you) make it easy to safely install, upgrade and uninstall everything. Also, if some program you want doesn't have an ebuild yet, it's pretty easy to make one yourself and submit it to the gentoo team so it can be officially included (you can use it yourself in the mean time, of course). The package management system (portage) is very powerful and easily updated. It's very easy to install and set up various services. Also, you have a choice between many different kernels -- either the plain vanilla one, or patched with extra features, extra optimization, extra security, and so on.
The bad things about Gentoo is that since nearly everything is built from source, you have complete freedom from your computer while things are building. Ebuilds make it easy to burn away hours, sometimes days, installing or upgrading something. Also, if some program you want doesn't have an ebuild yet and you submit it (or an upgrade), it may take a long time before it's officially included (in the case of DROD 1.6.6, it's nearing 6 months now -- DROD 1.6.5 is in portage, but that's got a nasty export bug (as in, doesn't work), so I wouldn't really recommend using it...). This is only true for some cathegories, though (security upgrades are usually in before most people knew there was an issue).
But seriously, all in all I think Gentoo is a pretty nice distro, and for me, better than the alternatives I've tried. With other distros you always end up having dependency issues one time or another, specially if you install stuff that isn't part of the official distribution (I used to do that all the time before, but Gentoo seems to have nearly everything I want already
). The biggest disadvantage is having to spend time compiling stuff. You can do other things while things are compiling in the background, of course, but compiling is a very CPU intensive task, and even if you have maximum nice on the compiling (meaning everything else gets priority) it is noticable if you want to play a cpu-intesive game, or play a movie or something (remember there's no hardware DVD players for Linux, so it has to be done in software). Compiling also eats a lot of RAM.
For small things this isn't such a big issue, but huge packages like X or (shudder) KDE takes a huge amount of time to compile. For example, compiling KDE takes at least a full day here (Pentium III 500mhz), maybe a bit more. (I don't upgrade KDE very often, and whenever I do it seems a new version is released the next day
).
There
are things that help, though. Emerge can install several things at once and will automagically take care of all dependencies, so you can just start it when you don't have to use your computer and it'll do its thing without any assistance from you. Some things (like mozilla firefox/thunderbird, openoffice, drod
, etc) have binary packages, so you don't have to compile them. It may defeat the point of having a source-based distro like gentoo in the first place, but you probably don't want to wait days to compile OpenOffice, and some of these things aren't that customizable anyway (like DROD). Also,
ccache can be used to cache compiler output, so that if you're compiling things where only part of the source files changed, it doesn't have to recompile everything and things go much faster (I did a test with the DROD source after installing ccache -- a complete recompile went from 20 minutes to one minute).
I probably shouldn't be using Gentoo on a mere 500mhz CPU, but as I said before, I like it anyway. You might like it as well, of course, but you should be aware of the issues. In any case, if you do go with Gentoo, I'd do a stage 3 install unless you have a fast processor. It might take days otherwise, literally.
Debian is a nice distro as well, but (except for security updates) it's usually outdated. It's got more powerful package management than most other distros (except Gentoo). Mandrake is nice if you want all dirty details hidden away from you and don't want to experiment too much. Slackware is a pretty nice no-nonsense kind of distro, and throws all dirty details in your face
(also, its package management system is
very basic). Then there's LFS, of course ("
Linux From Scratch"
), which is a great way to learn how Linux works but is the hardest to install and use (you have to do
everything by hand). There's a couple others too (most notably Fedora and SuSE).
Distrowatch.com has a fairly complete list with descriptions
- Gerry