Dispelling the myths of Gentoo Linux, an honest review
I started my Linux journey in 1995 with a pile of "A" and "N" Slackware diskettes. It was a real thrill to run X-Windows on my 386 machine with 16MG of RAM. In 1997, when I was hired to work for Red Hat Software, Inc, I was brought kicking and screaming into the world of Red Hat. As the old adage goes, I stuck with what works. The nice thing about Red Hat is that it hides the complexity of Linux behind binary RPMS, but the downside to Red Hat is that it hides the complexity of Linux behind binary RPMS. Nevertheless it works, and I, like millions of others, have continued to use Red Hat through 2004.
When Red Hat dropped Red Hat Linux in favor of Fedora, I switched to Fedora and continued to be happy with the software that came out of Raleigh.
A few weeks ago, however, I purchased an Opteron machine with the intention of playing with Linux on it, seeing what all the 64-bit fuss is about, and perhaps making it my new server. I sampled several AMD64-based distributions, including Gentoo 2004.0, and was delighted with what I found in this powerful distribution.
I had purchased an ASUS SK8N motherboard, an AMD Opteron 142 processor, 2 gigabytes of DDR333 memory, and a 150G Serial ATA hard drive. The ASUS SK8N motherboard includes SATA onboard, and I couldn't resist the opportunity to test this new and improved hard disk standard. I purchased the case and cheap-o video card locally, at the only computer store I know of in small-town Kerrville, Texas.
The installationHaving previously downloaded and burned the Gentoo 2004.0 LiveCD for AMD64, I was ready for action. I inserted the CD into the drive and booted up the computer. Now, the installation of Gentoo 2004.0 is wildly different from other installation programs. It reminds me of Slackware from 1995, but a little less friendly, and no pile of diskettes. :) The installation is insanely different, and I absolutely loved it. This installation method is a breath of fresh air to me, and I think that those of you experienced Linuxers would also find it quite attractive. Let me describe the process for you:
When the CD boots up, you are dumped straight at a root prompt, with no clues as to what to do next. Thankfully, the Gentoo folks have written an excellent handbook that holds your hand and walks you through the whole process. The first thing to do is boot up your CD, and once at the root prompt, activate the networking. For me, that meant doing an 'ifconfig eth0 192.168.1.7' and then '/etc/init.d/sshd start'. Once the network was up and I could ping other machines on my LAN, I changed the root password, and then went back to my desktop, opened an xterm, and ssh'ed into the to-be-installed machine. The rest of the installation was done through an ssh connection in an xterm. (!)
The next step was to partition the disks, and I was happy to see my old and trusty friend fdisk was the recommended tool. Oddly, however, fdisk /dev/hda returned "Unable to open /dev/hda". After examining the output of dmesg, I discovered that the new SATA drives are accessible by /dev/sda instead of /dev/hda. Checking my kernel source revealed that, indeed, SATA is part of the SCSI system of the kernel. Having passed that obstacle, I was able to fdisk /dev/sda with no trouble. My disk is a 150G drive, and I chose a 32M partition for boot, 2G for swap, 30G for the system, and 130G for /dev/sda4 to contain my files.
Now, at this point, I have to make a decision. Do I go through the long complete compile for which Gentoo is so famous? I was actually expecting that I would, since any alternative approach was unknown to me. Imagine my delight to learn that Gentoo includes what are called "stages", which are precompiled binaries that you can install in lieu of doing the compile yourself. You can choose to do one of three "stages". In the first stage, you compile everything yourself. In stage 2 you get more compiled binaries but you still compile some applications, and stage 3 appears to be a much more complete binary installation of the whole system.
So, Gentoo's reputation as being a distribution that requires you to spend days (or weeks, months, years, as the jokes go) compiling is simply unearned. Nothing could be further from the truth - it can be a binary-only distribution, or a source-only distribution; it's your choice.
I chose to do every kind of installation available, to see the difference between them all. First I tried a stage 2 installation, which saved me from the bulk of the compilation process. Installing the system at this point was a simple untarring of the stage 2 file, and I was done. Not very exciting, but it does get the job done.
Unsatisfied, I started at the beginning and did a stage 1 installation. This is the step that compiled GCC, glibc, and a variety of other necessary system applications. In the stage 1 installation, bootstrapping the system from scratch took 53 minutes. The next stage took 42 minutes. I was wondering if I'd ever see these famous month-long compiles. Having passed all three stages in an afternoon, I was ready to move on to compiling my kernel.
Gentoo includes a nice utility called 'genkernel' which, should you choose to use it, compiles the kernel for you (yes, I've gotten lazy over the years). The .config file is the same that was used to build the LiveCD, so it'll support everything imaginable (and takes quite a long time to build. At least a couple minutes on my Opteron). The kernel compilation was joyfully easy and quick.
Next up, setting up the system. Before proceeding, you will want to install your favorite text editor. For me, 'emerge vim' and I was ready to go. The default editor 'nano' (some sort of pico clone) that comes installed on the LiveCD is fine for newbies, but vi it ain't. There are several files that you'll be editing by hand, including creating your own /etc/fstab and /boot/grub/grub.conf by hand, so you'll want to be comfortable in your editor.
In addition to some sundry and easy steps that are outlined in the handbook, there are some steps here that separate the men from the boys. This part of the installation is the most involved - you have to do a lot of the work yourself, and this is the area in which I believe Gentoo could improve the most. Really, manually creating files like fstab is fine if you've been sysadmining Linux for years, but for newer folks, it just isn't acceptable. I appreciate the power and control that Gentoo gives me, but there is no good reason to have to create your own grub.conf and fstab.
The Smoke TestHaving created my grub.conf and fstab, I held my breath and rebooted the box. Unfortunately, the bootup process failed as it was unable to load the Promise SATA driver, and thus I was not able to mount my filesystems. In other distributions, at this point you'd be best served just starting from the beginning, but thankfully, recovering with Gentoo is easy. I just booted back up with the LiveCD, remounted my system partitions, and went back to work on the kernel. This time I modified /usr/share/genkernel/x86_64/kernel-config-2.6 and changed CONFIG_SCSI_SATA_PROMISE from "m" to "y". While I was in there, I disabled some things that I won't need, like USB, IEEE1394, etc. I re-ran genkernel, rebooted, and this time my system booted with no problems.
Thoughts on the booted distributionThe first thing you notice about the system is its emptiness. The bareness of the distribution is absolutely thrilling to minimalists who don't prefer the kitchen-sink approach to Linux distributions. As you need things, you install them with a single command. If a program has dependencies, those dependencies are automatically downloaded and built along with the application you requested. When I needed to download something, and 'ftp' returned 'command not found', I ran 'emerge ftp' and less than 60 seconds later I had an ftp client. This is how everything works on Gentoo and I love it.
So, besides the ease of use, the main advantage of Gentoo is the control it gives you over the binaries you produce and run. Before beginning any compile, you can customize the compile through an /etc/make.conf file, as well as "on-the-fly" environment variables from the shell. You can tell it to avoid SSL, QT, and GTK+ libraries, run GCC with -O2 (or -O3, etc), and so forth. Just setup your make.conf with exactly the flags that you desire, and everything you build will be compiled with those preferences. It's a real joy to know that the binaries you have on your system were compiled by you with exactly the libraries you wanted and the optimization flags you requested.
Additionally, as with most other distributions, handling updates is simple. When the vendor releases a security alert or bugfix update, all you have to do is run 'emerge sync' to download the list of updated software packages, and then 'emerge packagename' to update your package. It's as simple as that.
ConclusionThe customization and optimization does make a difference and gives you fine-tuned control over the final product. If you rely on a lot of third-party applications, however, you may be best served sticking with Red Hat Enterprise Linux or Fedora, but if all you want is a solid Linux system to operate your standard internet enabled services like LAMP, you can't do better than Gentoo Linux. I have not yet tried Gentoo out as a desktop, so currently I am only recommending it for server use. I hope in the next few weeks (or months) I will try X and see how I like it. I expect to be pleased.
|Subject||Topic Starter||Replies||Views||Last Post|
|Gentoo on SATA.||jackuto||7||6,673||Jun 6, 2005 5:17 PM|
|Review ends where problems begin||HunterWare||5||9,906||Mar 24, 2005 1:13 AM|
|Gentoo Rocks but ....||thelinuxguy||2||9,392||Mar 24, 2005 1:08 AM|
|I Like Gentoo, but compile some more first.||sardonic||4||13,518||Mar 24, 2005 12:46 AM|
|Let me see...||ralsina||24||14,894||Mar 24, 2005 12:32 AM|
|Fast and Flexible||bengtfrost||0||4,318||Jul 1, 2004 10:14 AM|
|Gentoo isn't for n00bs.||reub2000||6||13,523||Jun 8, 2004 4:53 AM|
|Can I just say...||danb||1||4,695||Mar 30, 2004 6:32 PM|
|Gentoo and the time||gullevek||0||6,697||Mar 22, 2004 10:31 PM|
|gentoo on desktop gets A+||slestak||0||8,418||Mar 22, 2004 11:27 AM|
|The biggest advantage of Gentoo||Harry_Butts||0||11,662||Mar 22, 2004 10:51 AM|
You cannot post until you login.