Gentoo: Ten Years Emerge

Gentoo, the most popular source based distribution, has turned ten years old. What benefits does a such a system provide over its binary distros? As Linux becomes more and more popular, is there still a place for source based distros?

The major downside to building your system from source code is of course, time. What would take a few seconds on a binary system such as Debian, might take 5 minutes on Gentoo. It could even take days to install KDE. The question is whether the benefits of a highly optimized system, both in CPU architecture and features, outweighs the cost.

For a lot of people it doesn’t. They don’t want to spend time building and tweaking their system, but rather just want it up and running quickly.

There is another area where Gentoo really shines however, knowledge. Free software enables knowledge, and knowledge is power. Nothing offers power like understanding and building your own system. You craft it, you create it.

Using Gentoo for just three months could teach a user more about Linux than the use of other systems could in three years.

sudo emerge -av thank-you

This week Gentoo has turned 10 years of age, so something has kept this distribution around. Sure, it might be the thrill of pushing a system to the max and squeezing out each and every inch of performance from the computer, or maybe because it’s the simplest and most effective way to build your own unique system.

Linus once said: “Do you pine for the days when men were men and wrote their own device drivers?” The same could be said for Linux distros today: “Do you pine for the days when men were men and compiled their own distros?” It would have to be much more politically correct these days though, of course.

Part of the advantage to free software is the ability to study it and learn how it works. One of the great strengths of Linux is the ability to get right into the core of the system and take a look, learning how it works and then being able to fix things if they break.

What’s the common fix for a Windows problem? “Reboot.” If all that fails? “Reinstall.” Linux on the other hand, offers plenty more tools and empowers the user. It’s also very logical and straight forward. It doesn’t try and hide how things work. Sadly however, distros are increasingly heading this way. Bucking this trend though, are many of the source based distros. True to their roots – solid, flexible, empowering.

So while the overall uptake of binary distros might be up, there will always be those who prefer to do things differently. Those who prefer to have more control over their system and who enjoy creating something themselves. It’s a real sense of achievement and a great educational experience which will pay off for years to come. For this reason there will always be a place for Gentoo.

Thank you Gentoo for making the last 10 years so interesting and fun. Here’s to the next ten..

Christopher Smart has been using Linux since 1999. In 2005 he created Kororaa Linux, which delivered the world's first Live CD showcasing 3D desktop effects. He also founded the MakeTheMove website, which introduces users to free software and encourages them to switch. In his spare time he enjoys writing articles on free software.

Comments on "Gentoo: Ten Years Emerge"

ntwoo

The great thing about Gentoo is that it turns a pig slow machine into something useful again. This is most probably the handiest aspect of Gentoo imo. My previous machine, an Athlon 2000+ was at the point of retirement and got an extra year of life due to Gentoo.

My Acer Aspire one Laptop with Gentoo onboard is nice and snappy! The latest versions of X are always available and certainly improve the battery life. The latest kernels have more stable wifi drivers. All in all an absolute must for such a system.

There is another major advantage of source based distro\’s. You never ever have to upgrade your distro again! In Gentoo, new libs? emerge libs and revdep-rebuild. Now all the applications that used the old libraries are rebuilt with the new libraries. This system is really the beauty of Gentoo. One install for the entire lifecycle of a machine. Always the latest and greatest software. With binary distro\’s you always have some killer app after a number of months that you want to run. Get an rpm, oops requires an update of some lib. Get the latest lib, oops requires some other update of a lib. This lib now requires an update of libc!! Upgrade… Thank goodness those times are gone!

Reply
dragonwisard

ntwoo, but you pay a price for that level of configurability. How long did it take to emerge X? How long to revdep-rebuild after upgrading some major libs (like libstdc++)?

That\’s why I run Slackware on most of my systems. You start with a fast and stable binary distro and only recompile the packages you have reason to customize.

Running the bleeding-edge versions of every package might be exciting, but it doesn\’t make for a very reliable system.

I have great respect for Gentoo, but I think it\’s overkill for most practical use cases.

Reply
typhoidmary

This article leaves out one of the biggest pains in compiling your own code. This is dealing with complex interdependencies. Want and example, try compiling ffmpeg with all the options. If you get far enough into it, you realize that some of the libraries needed to do this have cross dependencies that interfere with your compilation.

One of the great benefits of a distro is that someone else has resolved this complexity for you. This can mean the difference between getting something to work and not.

So what I want to know about Gentoo, is how is this dealt with? Is it possible to compile a package like ffmpeg with all the options, or will it bog down part way through? (Like I did.)

Reply
lescoke

I use gentoo for several reasons:

1. I\’m not running the latest hardware, so compiling for the specific processor gives me the best performance.
2. I use encryption on all my hard drives. I installed into fully encrypted partitions; most other distro\’s require installing first then moving to encrypted partitions. If I screw-up the kernel build and it doesn\’t boot, I can always boot the minimal live cd and decrypt / mount everything and try the build again.
3. The incremental updates over time, I always have a system that is as up to date as I want it to be.

Hey Typhoid; There have been some recent package blockages that seemed like circular dependencies, but what happed was a package was moved from one category to another: dev-misc to dev-lang. realizing that, the blocking package could be unmerged and then the emerge would proceed. The only other circular dependency I know of is when building some of the libraries for a package like ffmpeg, but if you follow the guide it recommends emerging a couple of the libs with restrictive use flags first, then again later with them the way you want. A lot of times this is spelled out in ewarn messages during the emerge.

My only complaint is that sometimes a package can have 100\’s of dependencies, and the scroll back on my terminal is limited, so I miss some of the ewarn messages. Then there is the case where something fails in the middle, so you have to change something and resume; I feel like I miss some important ewarn messages, so I have to go back through the emerge logs to make certain.

Reply
csmart

@dragonwisard: True, however you can build the system on a faster machine and use those optimised binaries on your low end machines. This way you can make use of older hardware for longer without the downside of compiling on them.

@typhoidmary: Gentoo\’s use flags should take care of that for you. When you emerge ffmpeg it lists all the possible flags which will provide all the features. Specifying them all should then pull in all required deps and build them in order. It should work correctly every time.

-c

Reply
ntwoo

@dragonwisard: Don\’t know, I don\’t time all my builds. Usually I start big updates in the night. Modular X builds much faster than the old versions. Firefox and Ooffice are installed as binaries, since these have their compiler flags masked in any case. I don\’t run all the stuff bleeding edge, only the components I need bleeding edge. (such as the kernel, X, inkscape, some libs for kde4)

Reply
bapun007

gentoo boots faster then ubuntu , fedora , arch ,debian and others and thats the benefit of making software from source .

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>