A Gentoo Review

Gentoo is a distribution which I have wanted to try for a long time and have only just in the last few days had a chance to play around with it and more importantly, get a system up and running! :) One of the main reasons I want to do a review as there aren’t really that many around, and the ones that are around seem to have no idea what it’s actually like to use Gentoo as a system installed from scratch and set up and configured to one’s likings. Further a lot of the same things seem to be said about it which are evidence once again of someone not being intimately familiar with it, but rather are repeating what they’ve heard in the echo chamber that is the internet.

One of the main reasons that Gentoo is I guess hard to review is because it’s not a regular desktop Linux distro. There is no “look” to it, nothing that visually defines it. It’s all under the hood, and as such I understand why it, and distros like it (for example Arch) seem to get a lot less press, especially on sites like distrowatch because there’s nothing “representative” to show. It’s all about how it runs at its core which is generally less interesting for most people out there. It was inspired by the BSDs and you can see that a lot in how it’s set up and run. In terms of its target audience, it would be power users and intermediate+ Linux users.

What is Gentoo

Gentoo is a rolling release distribution[1] that installs new software through emerge (emerge can be likened to apt-get, pacman and yum in that it’s used for installing, removing and updating software). Where it differs from other distributions is that it does not install binary versions of its packages, but rather downloads the software you desire to install and compiles it on your system according to its ebuild. This puts it in a fairly unique position in the Linux world, but there are 2 distributions that I believe are similar and I’ll cover those in a moment.

My Setup

I ran Gentoo in a VM in VirtualBox and had a fairly vanilla install which had me installing the full KDE desktop, vim (really disappointed that nano was chosen over vim, the fanboy in me died a little bit) and a few other minor apps. The only real drastic thing I had done (if you can call it that) is change my version of GCC from the default 4.8.5 to 4.9.3 because the xorg drivers for virtualbox wouldn’t compile otherwise. I made this change at the beginning before compiling any other software in order to ensure that I kept things as simple as possible.

Using Gentoo day to day was not really a problem aside from 2 things: First, the above mentioned virtualbox drivers, and 2 the fact that I couldn’t get audio to work until I started from scratch. This I believe was a use flags issue as I had initially not set up my profile to a desktop one and despite fiddling around with numerous settings and trying various things - I couldn’t get it to work.

Aside from those initial birthing pains, updating the system and running it day to day has been fine. I’ve experienced no bugs or other signs of system instability. Overall everything was working smoothly and it left me with plenty of time to explore the Gentoo world and begin to find out how it ticks and how to make the most of it. From start to finish, the set up took about 10hrs of compiling software plus various other administration. Maybe a bit less, and definitely a lot more if I include Chrome into my time factoring. Ultimately, don’t expect to compile have have a desktop system up and running in Gentoo in anything less than I’d say about 3-5hrs, depending on how fast your system is.

That all said, I’ll begin my review by going back to the comparisons I mentioned earlier. So, the 2 distributions that would match closest to Gentoo in my opinion would be Arch and Linux From Scratch and I’ll briefly compare the 2 against Gentoo now.

Gentoo and Arch

Gentoo and Arch are fairly similar in that they’re both “work your way up from the bottom” distros and setting up everything is done from the terminal. Both are also rolling release which means you are always on the bleeding edge and both of course feature a package manager of sorts which handles dependencies and basically makes your life generally easier to keep up to date and install things without having to worry about chasing down what you may or may not need.

The differences are that Gentoo is source code based, not binary. In other words when you want to install vim, you download it, and any potential dependencies and using ebuild scripts it compiles the software with any USE tags that you’ve set up. I’ll cover these more in a moment, but the ebuild scripts are very similar in concept to PKGBUILD scripts found in the AUR which performs a similar function of downloading and compiling software and performing dependency checks.

Gentoo and LFS

Linux From Scratch is even more of a “meta” distribution than Gentoo. It basically teaches you how to build a minimal Linux system from scratch, hence the name. There is no official package manager, and everything that you do is done manually. When you finish the LFS book, and if the software you want to install is not in the BLFS handbook either, you have to figure how to get it installed and working yourself.

The similarity between it and Gentoo however are they both allow great customization on what software you want to install, and what features you wish to compile in and not and as a result of being sources based, they require a lot more manual input and intervention than even Arch requires of you. I almost think of LFS as Gentoo without the training wheels and Gentoo explores a lot of concepts on a bit of a higher level than if you were actually compiling software yourself, but this exposure definitely helps in the long run if you need to compile software yourself in the future, or if you wish to give LFS a bit of a test drive.

Pros and Cons of Gentoo

So, after having installed Gentoo and played with it for about a week I can give you my initial impression but will do so with the following disclaimer: Using a system for a week is not the same as using it for a month or a year, the more time you spend in a distribution, the more you learn about its quirks, what makes it tick and allows you to adjust to its way of doing things. In other words, take what I say with a grain of salt.

Pros

Cons

Final Thoughs

I like Gentoo. I really do, and in fact I plan on installing it on my desktop after I’ve played around with it enough in my VM trying out various things and getting a good feel for how to go about certain things in a safe manner (such as switching profiles from KDE to GNOME and not having that ruin the system - might be able to do that safely but I want to spend a bit of timing looking into it and trying it out). The thing is though, it’s one of those distros I can tell will be hard to use on a long term basis.

The reason for that is simple, on a distribution like Ubuntu, Suse or Fedora you have a unified theme and experience. Generally everything looks beautiful and things tend to not stick out like they don’t belong. This level of care and attention is not found in a distro like Gentoo. You have to put the work in yourself to get a nice looking distro with a pleasant user experience. When you combine this with the fact that the hassle to maintain a system like this is far above and beyond the average user distro, you eventually move onto something that just stays out of your way while you get to business doing other things.

For that reason, I don’t think that most of the people who try Gentoo will stick with it in the long run. I think it’s a good distro to help you get more familiar with the command line and learning how to maintain a Linux system, but overall probably one that will become too much of a headache for most. So, my final thought is if you’re new to Linux (but have had some time to try a few distros out and aren’t too intimidated by thec command line) you should probably give Gentoo a try for a couple months. I think you’ll get a real kick out of the experience and learn a lot.

Gentoo too full on?

If you’re new to Linux or at least still think of yourself as in the beginner range, I strongly suggest trying Arch. I think Arch while having its own weaknesses compared to Gentoo, has a lot of strengths that I think put it in an overall superior position if you’re looking for a permanent home. It’s binary based, and while still very hands on you will have a running system much faster than you would with Gentoo.

Best of luck!

Misc

[1] Though I could not find any explicit statement mentioning that they’re rolling release, they are most definitely a rolling release distribution as noted in their FAQ here, they state “Gentoo’s packages are usually updated shortly after the upstream authors release new code”. Further, they are often described as a meta distribution, and rightly so but for simplicity I will just refer to them as a distribution in this post.