There is a new Linux distribution that is gaining ground quickly in the Linux community. No it isn’t Red Hat, Debian, or Mandrake, it is called Gentoo Linux, pronounced “jen-two”. I have been playing with it for several weeks and thought that it was time to share my experience with this new found OS.
Overview
I am what I call a self-challenging geek. Each weekend I challenge myself to certain tasks to keep myself sharp and on top of things. Sometimes these self-challenges make it into articles for the site or reviews of one flavor or another. It has been a little over a month since I sat down one weekend looking for something new and interesting to do and had gotten rumor of a new Linux distribution which was sort of like Debian, but also like BSD. Both of which I highly respect. After a quick trip to the Gentoo Home Page and a brief look at the online manuals I decided to wipe Debian off my Dell Inspiron 8100 laptop and install Gentoo Linux. Before I progress let me say that I am still a Debian fan but I am willing to take one for the team every now and then.
The disclaimer
Before you run off and start formatting a partition to install Gentoo on, plan on a few days of compiling and installing (no I am not kidding) at bare minimum for a base install.
Disclaimer (Gentoo is not for first time installers, not even second time installers at the time of this writing. Honestly I wouldn?t recommend it to anyone unless you can configure a complete system without any GUI tools and you know the file system and the underlying Linux system extremely well.)
The Install
Basically an install of Gentoo Linux consists of you compiling and building your OS from the ground up. There are three different levels which you will see in the mirror sites which may not make sense. These are referenced as stages, Stage 1, Stage 2, and Stage 3. The idea is that you can download the Stage 3 ISO and it comes with more things configured for you and lets you skip some of the real down and dirty stuff during the install. The stages are only useful for choosing which point you want to start your install. For example, starting in stage one takes longer to install and compile than if you started in stage 3. For those wishing to waste a full weekend, like myself, you can download just the Stage 1 ISO and start there. For some that may sound like fun (for me for example) and others may completely shrug at the thought. I will say that the install documents are really nice and help a tremendous amount. However, if you are a novice user (meaning that you rely on GUI tools to configure your Linux OS) then Gentoo is not for you unless you follow the install docs to a “T”. Gentoo has a very raw installation, even more so than a Debian installation. For learning purposes if you want to take a stab at installing it, it may be educational for you as you will learn what an installer is actually doing behind the scenes.
Once you choose your fate on which stage you want to start your installation in you will spend a lot of time compiling everything from your base system to X-Windows to KDE. I do suggest keeping another machine nearby where you can still get to #Gentoo on the IRC (Internet Relay Chat). I ran into a problem during the compilation of KDE3 and had to resort to some experts on the development team to get me through the install.
More work lies ahead
Once you get X installed, KDE3 built, your kernel recompiled, and configure your hardware the way you want, you may find that you are still fixing things here and there to make things work the way you are used to. By this I mean there are some additional things the documentation doesn’t mention that you need to setup as far as run levels and loading of modules. These are things that distributions like Red Hat, Mandrake, and SuSE usually take care of for you. Other things like setting up PAM, shadow passwords, etc. may also need to be looked at if you plan on using Gentoo in a server environment. Refer to the Gentoo Security Guide if you plan on setting Gentoo up as a server.
So how is it different?
You are probably wondering when I am going to backup the statement I made earlier about how Gentoo is similar to Debian and BSD. The really good part about Gentoo is the up-to-date list of packages to merge and the speed of the system once everything is done. Since everything is compiled on your machine you will find the overall system faster and more responsive as compared to other Linux distros, especially when using something like Kde3 and Mozilla. Speed is a definite benefit in using Gentoo. Other factors weigh in as well though. If you are a Debian user like me, you may be aware that although we have a great packaging system, we have to ?suffer? longer to get newer released software updates. A case in point is KDE3 which was released about a month or so ago (long enough for Red Hat 7.3 to bundle it and distribute it). However, even if you use the unstable tree in Debian, KDE3 is nowhere to be found. This is sad. Debian developers argue they have to build packages for so many systems and test, test, test to make sure everything is stable. For some this isn?t a big deal, but for others having quicker updates and new software is a huge deal.
Out with apt-get, emerge is in
Emerge is the way we get packages installed onto our Gentoo system. This is part of the Portage system which was developed for Gentoo. Here is a quick comparison guide for those of you coming from a Debian background:
Action | Debian?s apt-get | Gentoo?s portage |
update package database | apt-get update | emerge rsync |
install package | apt-get install xchat | emerge xchat |
remove package | apt-get remove xchat | emerge unmerge xchat |
You are probably asking yourself, ok, ?What is the difference then, seems simple enough?? The difference is the fact that installing a package in Debian means you just download the package when you apt-get install xchat along with any dependencies the application needs. In Gentoo however, you download the source and then compile the package which by its very nature is going to take longer. In Debian, you can download source packages and compile them in a similar fashion. However, if a package like KDE3 isn?t available you are left to downloading the source and building it yourself. Another difference is that as far as I can tell, Debian packages seem to be put together a little better, meaning things are more setup and done for you in a lot of cases.
Differences in Gentoo
After I got a working X-windows install I started digging into more of the online docs to see how the system was put together. The first thing I wanted to know was how to stop and start processes and daemons. At first I found it was very similar to other systems: /etc/init.d/apache start for example. Beyond this point there are no similarities though as Gentoo has built a completely new init system. To be perfectly honest I love the Gentoo way. I have always despised the rc init system as it isn?t that easy to explain nor understand. Here are some highlights taken from the online manual.
- Unlike other initsytems, Gentoo’s runlevels do not have rigid names or numbers, but are rather custom names mapped to the standard runlevels of init.
- By default there are three runlevels, namely “boot”, “default” and “nonetwork”.
- The runlevels live in /etc/runlevels, in a subdirectory named after the runlevel; this subdirectory is filled with symbolic links to services that are owned by the runlevel.
- Because runlevels are not statically mapped to those of init, there can be many more runlevels than the number that init support. This enables the user to create profiles or virtual runlevels depending on need.
- In the Gentoo way of doing things, we do not have a runlevel dedicated to X
- The general start-up order of services in a runlevel are alphabetic. This is due to the order of the output /bin/ls generate.
- also supports virtual services
For those of you that are new to Linux, or haven?t been using it that long I really really really want you to install Gentoo Linux. Why? Well, if you want to know how hard it was to install Linux back in the “old” days then Gentoo will give a taste of how far we have come since the early 90?s. For me, installing Gentoo was a blast and so far I am still using it. I figured that I worked so hard to get it working I am not about to install something else over the top of it anytime soon.
Final thoughts
The combination of the BSD and Debian package tools works really well in Gentoo and so far I love being able to install and play with newer software. All in all I give it a thumbs up since the online documentation is excellent and will answer most, if not all of your installation questions. Just promise me you will read the online docs before trying to do an install. After a few more months of use I?ll do another review so we can check progress to see how things are going.
[Update]
After a few days of fighting Gentoo to get things to work, I went back to Debian. I can’t justify running a distrubution that causes me headache than pleasure. [Update]
Bought a Mac, no longer running Linux.