Gentoo for All the Unusual Reasons

You might think of Gentoo as a bleeding-edge distribution for development workstations, but the simple packaging system can make it a good choice for any production system that needs to stay up to date.

Comment viewing options

You get the libraries you need in the versions you need and put them in a library search path. Every version of Linux has a particular version of libraries, and this problem isn't any more severe in Gentoo than anywhere else, the difference being that you're *not* going to find a binary only program that was aimed at a version of Gentoo, compared to the unlikely scenario of finding it for exactly the distribution and version you were using.

I just went to Gentoo's sources page and found out that you can have Intel Fortran Compiler - The Pentium optimized compiler for Linux - in its latest version 7+ for Gentoo. I am completely perplexed: how come they give you the source free of charge? If they do, that would be VERY nice.

But my basic question remains: How do you deal with proprietary binary packages on Gentoo, for which you have no source code?

For example, the realone media player is not open source which can still be installed into a gentoo system. Gentoo will make sure all underlying libaries are there, and download and install the binary from the company's site.

In fact, many large packages have optional precompiled binary in Gentoo portage tree, for example mozilla-firebird, Open Office. You can emerge the binary versions if cannot wait to use them.

I really hope that you don't seriously believe that site as the truth. Its constructed by a blowhard who got into an argument with some other blowhards. Their opinions didn't match. Most people choose Gentoo because its supposed to be "hard". Most keep it because it doesn't crash, especially the first time they grab a new app from a website somewhere, compile it and wonder where the errors are! Because the "distro" needs compiling, it comes with all the right compiler tools, as default. There's no need to find a deb or rpm for "make", for example.

I've got to say that this is one of my favorite thing about Gentoo. I installed Fedora Core 3 the other day and tried to chroot into one of my other linux installs and chroot wasn't their. Then the FC3 kernel gave me some problems so I wanted to recompile but suprise the kernel source don't come standard.

FC3 is great, My dad runs it on his desktop at home (I never hear him complain. And I'm impressed at how he started to figure out how to customize Gnome. He is no Computer geek but he has a lot of fun with Fedora) FC3 is not meant for me.

I need the programming tools as I'm studying computer science right now and I expiriment a lot. A basic installed of Gentoo come with all the tools I would need to write compile and package a new piece of software.

I've been running gentoo since the first 1.0 rc and I've ever found something better for me. On the server I manage at my university I run debian thought because one they have pretty old Hardware and second Apt is probably the best next thing to Portage. I don't need anything special on those servers so why run Gentoo except because I know the system better.

Dude, have you ever installed FC3? You have every bit as much control over what's installed IF you took the time to READ. Custom install can puts gobs of everything you think you "need" on the system. The default vanilla install doesn't put chroot because they didn't anticipate people as smart and l33t as you using the system so they decided to make it for st00pid people. That's what Fedora is all about, after all.

A "basic" install of any linux distro can include the libs and compilers. You just happened upon a distro that doesn't just put "basic" stuff on, but a billion other little things you've never heard of.

A "basic" install of any linux distro can include the libs and compilers. You just happened upon a distro that doesn't just put "basic" stuff on, but a billion other little things you've never heard of.

Well put. I get askde often, "what distro do you use????" and then i get "i use Fedora." or "I got Slackware" etc. etc. My response is "2.6.11.2". Perp1exed, they either respond with a genius "wtf" or "no you dumbass." I have stopped asking most if they have heard of LFS.
Two months ago I met the leetest girl by asking her what her distro was.
she sighs and says,"LFS." one in a million. ;)

The problem is you're stuck with waiting for your distribution to release a new version of the .rpm, .deb, .pkg and so on, which could take a long while, leaving you in the position of wanting to roll your own. That's where the trouble creeps in. Conceptually, creating your own new .rpm or .deb package is easy. "Just use the existing 0.16.1 package as a prototype." But for most people, that is, anyone not at wizard level and sometimes not even then, it's actually rather tough to do.

Making rpm/deb/tgz packages is a rather simple task: just use checkinstall. I have used it to install either newer versions or non existant packages in both debian and redhat. Assuming the dependencies are met (and they most certainly are in the hypthetic situation presented by the author) it's really a piece of cake.

I've also used checkinstall many times - and many of them, it utterly failed in creating a working rpm-package, which meant I ended up writing my own spec file instead. I have never had this problem with gentoo, as ebuilds is so easy to write (and often I can just rename the ebuild file and it just works) new ebuilds, so it's my preferred way.

I'm a Linux user since kernel 1.0 (about 11 years ago).
I began with Slackware, then I tried Debian and went
with SUSE and RedHat.
Since a year, I'm a Gentoo fan and I like very very much this source distro. I fully agree with the article and, if you have time to do an install from stage 1, I think that's a very good idea especially for servers, because in doing that you deeply check the hardware reliability and also with the cheapest components you can trust your server.
The flexibility of this source distro and its really wanderful portage are great and you never will have a broken binary or library conflict or incompatibility and always an updated system.

The structural limit is the compiling time and the load of this process. It is that if you need a new big package installed, that could take also many hours and a big load for the machine. The problem could be alleviate if you have many networked systems with the same hardware, so that you can use distcc (always ccache) and compile only one binary package for installing it on all systems. But you need to be carefull in the times and niceness of compiling process to not damage the productions atcivities of servers. It is all that could be done, but anyway you should plan it carefully, manage and install the appropriate tools and also that could be time consuming.

Maybe could be an interesting idea to have and loan at cost price big Gentoo clusters with all the possible Gentoo packages installed that can compile any specific binary package you need if you ask for it with a query with your system type, compiler, libraries, dependencies and dependencies versions and USE flags. Than the cluster can give back the compiled package and store a copy with its checksum and query specification so that if there will be a new and equal request it can simply give back the archived package. Then to minimize the storing space required and the network transfer, the system should use also binary diffs. Also package signature should be implemented.
This is only an idea (my 2 cents), I don't know if the implementation could be impossible and for which reasons.

I have the opportunity to work on a 16 node cluster to toy and experiment on. Of course, I installed Gentoo on a few nodes with an OpenMosix kernel.

I just want to point out that, unless I have miserably failed somewhere, there seem to be limit to the amount of nodes you will need to perform some compilations. The way I see it (although I haven't bothered much in confirming this), it seem an a Makefile will spawn a few objects making, but utimatly will wait for linking them all in one object.

It seems that the make system will traverse this leaf by leaf. In effect, on my 8 nodes Gentoo cluster using distcc, I have never seen the whole 8 nodes being used in a compilation process, even though makeopts="-j 32".

So, I think the Makefile system would need to be improved a lot to take efficient advantage of a cluster.

Gentoo definitely needs to shake it's "code optimisation" image because that's really not what it's about. It's a flexible distribution that tries to make life good for its users (admittely aimed at fairly technical users). The flexibility includes compiler optimisations, but I have all my compilar flags set to defaults.

Gentoo has a good balance between 'bleeding edge' and 'outdated' packages in the default setup. Compilation times can sometimes be a drawback but this is more than compensated for by a system that allows such easy upgrading. I found it easier to install the odd 'unstable' package on Gentoo than with Debian (mixing stable/unstable), but also less frequently necessary.

An often overlooked benefit of Gentoo is the quality of its user documentation, and the website as a whole. I really feel looked after as I walk through the setup documentation, and it's kept up-to-date. Debian's website by contrast looks hopelessly dated, is hard to navigate and documentation sometimes seems a bit stale. Red Hat have very comprehensive documentation (as you'd hope given the cost of their products!) but Gentoo comes close.

As also mentioned on here, the Gentoo forums are superb. I'm sorry, but mailing lists just aren't a good place for large scale user support. You have to subscribe, and everyone gets a copy of every message. You could split into one mailing list per topic, but I don't want to subscribe to 10 mailing lists. On the forums I can go into whichever forum suits me that day. (Not saying mailing lists are bad, just that forums are the better tool for this particular job).

I might be tempted to try Gentoo out on some production machines at work though (in place of Debian). A distro that welcomes the 2.6 kernel, whose default live CD works on Dell servers (without a 3-year wait between releases for the next batch of hardware support) might be just the thing.

Feel free to disagree with my reasons, but I hope I have illustrated that for most Gentoo users, compiler flags are hardly even relevant.

Now installing Gentoo can be fairly challenging, but once you've got that system up and running, growing it and keeping it healthy is so easy compared to the binary distros it's not even funny. I don't expect to feed my box a distro CD ever again even though I'll be staying fully up-todate on all the latest patches and bugfixes.

I've been using gentoo for over two years now, and I have to say that it's not always "fire and forget".

For a while, when you upgraded the 'shadow' package, it would *automatically* overwrite your system-auth pam snippet, which killed any local customisations you made (such as LDAP authentication). It mentioned this as a warning, but one which skips off the screen after 10 seconds and is near impossible to get back to.

Gentoo is getting a lot better, but you can't just take the attitude that you can "fire and forget" an upgrade. I wouldn't rely on it with debian either, although I'd trust it a bit more.

Hello everyone, I can see were all having a hard time
agreeing. I would just like to point out that if anyone uses
windows and linux (as I do, slackware + windows xp) you would
notice that SP2 update was smooth and didnt break anything. On
the other hand I have used gentoo and am a big fan of all linux
distributions, but found that gentoo is not that reliable unless
you want to spend hours making fixes, configuring and installing.
Im using slackware 10.0 and not having any trouble.

SP2 didn't break anything?? Yea, right. I use windoze for one reason on my dual boot...and that is gaming. SP2 broke Everquest, Deus Ex, and a few other apps on my computer. Everquest is the ONLY one that is working still to this day, and the only reason for that is that EQ is still constantly patched and upgraded. As for the other games and apps, I have to hope someone writes a patch for them, or I turn my dual boot into a tri-boot and install WinXP SP1 on it...

Gentoo is nice, better, imho, than the other distros out there. SuSE/Redhat cost money, so scrap those for me, same with Linspire. Debian/Slack seem poorly maintained to me, with documentation thats old, and often out-dated. Gentoo forums are amazing, as are the pages and pages of walk-thrus and how-tos.

95% of the time, if I have a problem with an app, and 'google' it, in the top 10 returns is a page dealing with gentoo, and the resolution of the problem, which MOST of the time is NOT gentoo related. All in all the documentation is excellent.

SP2 upgrade was NOT smooth in any way, and due to the nature of the changes made, patching to SP2 made a big leap forward toward the "needing a clean install" point. Slipstreaming SP2 into you windows install disk is the only way to get it in there w/o drastically slowing down your system.

Installing and maintaining Gentoo is cake, if you know what you are doing. I have NEVER had a dependency issue with portage, aside from one app not installing until I re-merged another, but it told me to remerge it, and worked flawlessly afterward. While installing gentoo for the first time, you can use another VC and edit all your config files while portage does it thing. Set portage_niceness at 19, and compiling causes no slowdown at all, and doing the majority of upgrades at night helps too. I mean, who really cares if it takes 30 minutes or 9 hours to install a piece of software when I press the enter key after the install command, and dont return until 10 hours later...

SP2 was not seamless for me, either. Installed it on several very different machines in our lab and had the same problem with all of them, invariably, even using different size and manufacturer USB flash drives.

After the SP2 upgrade when a USB drive was inserted it would discover, find, and then when it tired to mount *WINK* the system would reset. Completely. Like I'd just hit the reset button. laptops, desktops, dell, emachine, HP, didn't matter. XPpro is on all our machines, I didn't experience the same issue when I upgraded my wife's laptop which is running XPhome, so that might be something to look at.

When I tried to back out of the SP2 install not only did I waste 2 hours waiting for it to grind back out the systems were unstable afterwards and I had to reload them anyhow.

Lots of people have had issues with SP2. I work for a company of about 50,000 employees and our IT department has yet to implement SP2 in autopatching tools even though MS has had it officially released for quite some time now. The only reason why we install it on a few test machines is because we develop to newer features on XP systems and some of them don't exist outside of SP2. But it certainly doesn't go on any build machines or servers. We can run the development tools for windows on different patch versions than the apps are designed for.

First off, I do use XP too and SP2 was NOT a smooth upgrade for me. It hopelessly broke my wireless card's drivers and they didn't work again until the vendor finally released a patch more than a month later.

Second off, Gentoo really isn't unstable if you take precautions and have a feel for what a "dangerous" upgrade is. I've been using it long enough now (> 3 years) that I have a really good idea of what sort of packages might well break things or not compile right before I actually install them. If it's something that is fickle or complex (GNOME, KDE) or risky (gcc, glibc, etc) then it's a really good idea to hold off on installing it for a week or so to make sure all the bugs get ironed out before they hit you. You should also check the forums in the meantime to make sure that people aren't having trouble with the package. The key thing is that if stability is your goal, you really really need to be conservative with your upgrades. Only upgrade things when you have a reason to do so, and be very careful with packages that could mess up your system or compiler toolchain (eg, make binary backup packages from your current install...Gentoo has a tool that does this). This really isn't any different from Redhat or Debian, but you have to enforce this discipline on yourself instead of having it done for you by the package maintainers. The difference is that Gentoo gives you the flexibility to either not upgrade anything for a long time or ignore stability recommendations (mostly based on how new the package is) and easily upgrade to whatever version you want for a specific package if you have a good reason to do so (like you need a bugfix, or want some new feature). I usually am very aggressive with using the latest versions of application-type software that I use, like Firefox and OpenOffice, but very conservative when it comes to library and system tool upgrades. This tends to give you the best of both worlds so that you can have all the latest and greatest application software without risking the integrity of your system by needlessly upgrading lower level packages.

Gentoo can be perfectly stable, but you have to be careful about when you upgrade stuff. Mainly just remember that you don't *have* to upgrade your system constantly...you can wait and upgrade only when you need to. Gentoo just gives you fine-grained flexibility about what it will automatically upgrade. No other distro that I've used is nearly as good about that.

I just wanted to mention that if you do any development you should have at least one Gentoo machine. I use Mandrake for my main system but there's some code I develop using Gentoo. I basically realized that I just couldn't install a lot of the stuff I needed on Mandrake without doing a complete upgrade (rpm hell) and I didn't want to risk that. I am always able to emerge in the stuff I need for development on Gentoo.

I am quite fond of my SuSE distro, but you hit the point with this article: the pain to install software which has not being packaged by somebody else. The newbie/average user probably won't need it and SuSE or Mandrake will be perfect for them but the ability to be bleeding edge and the easy way to integrate 3rd party code into the system is a must for me. Examples are security network utilities and scientific tools. By the way, I found them all already integrated in the official portage. :'-)

I am going to give it a try but I am 99% sure Gentoo will be my distro for a loooong time. Thanks for the enlightenment!!!

An ex-RedHatian (Vade Retro!), ex-Mandrakian, ex-Slackwarian and almost ex-SuSean (as a private desktop; very cool for enterprise due to an excellent commercial support) and... no, Debian will always be there for my non-commercially supported servers. :-)

I think gentoo is a great distribution: being able to optimise the packages, the USE variables for using only the software we want and so on.

However, the only thing which prevented me from "switching", is the _waiting time_ for new packages.

Say you are using the GNOME desktop, and you've set up your USE variables accordingly. One day, you want to burn a DVD and you are in a hurry. So you you do the usual "emerge k3b", but since you did not installed kde previously, you will need to wait an hour waiting for all the dependencies to get compiled !!

For the people who can't accept this situation, gentoo is not a valid alternative.

That's the only bad thing about gentoo I see now. But keep up the good work, for some people this is less a problem.

The real requirement of many Gnome or KDE applications isn't the entire Desktop Environment, but simply their libraries (gtk/qt). Based on the purpose of the machine, I use only one DE per machine, but I always install both libraries. Then I can run pretty much any app that is generally considered explicitly for one DE or the other. Using your example, if you have the qt libraries installed, you can emerge k3b telling it to ignore the KDE dependancy and when it's installed, you can run it in GNOME without problem.

Gentoo works for people who want more control
over their system than other distributions
(easily) allow.

In my case, I have about a dozen packages
where I don't like something that one of the
developers (either Gentoo or upstream) did.
No problem. I just change the ebuild and if
I need to, patch the source (and the ebuild
will automatically patch later versions of
those packages).

Adding the excellent documentation to the
capabilities of Gentoo removes any reason for
me to even consider any other distribution.

I've been thinking about switching from mdk 10 to gentoo. I think at this point in desktop linux you want the very latest versions. The only thing holding me back is the inital compile time (I'm estimating 15-20 hours) and setting up lilo for my dual boot (mbr is on a windows hd). After reading this article i'm considering it more. By the way if anybody wants to get a better (less) guess on the compiling time for a p4 2.8ghz please do so!

Don't go with stage 3. alot of people will recommend it for people starting out, but i've actually had the least of troubles with a stage-1, plus you learn alot more about gentoo. a stage1 on that machine will probably take....4-6 hours. not including X of course

What I did is install Gentoo from my current Linux installation (it was a Slackware, at the time, I believe), in a chroot'ed environment. It worked perfectly, so I had no downtime whatsoever. Zero-reboot install. Effective.

By the way if anybody wants to get a better (less) guess on the compiling time for a p4 2.8ghz please do so!

Yeah: how about 0 hours?

If you download the stage 3 ISOs, you can get most of the packages in binary form. You can be up and running, including X, without compiling a single package. This is generally what I do when I install Gentoo. Then I do a sync, configure my USE flags for the machine, and do 'emerge -u world' before I go to bed.

You don't even need to do that first system-wide upgrade; you can upgrade individual packages as you want or need them, and your system will, eventually, be entirely up-to date. I find it easier to take the one-time hit on a two-day compile and upgrade the entire system, because system maintenance becomes 'emerge -ua world' once a week or so; however, it isn't necessary.

I started using Gentoo last xmas (after 6 months using Debian). With other distros you have to choice between the apps bundled in the CD (that get outdated pretty fast for my taste), or corrupting your installation using external packages. Debian manages this better, having testing and sid to choose. But Gentoo has a real bleeding-edge package repository, but without having unstable programs being installed here and there.
This year I haven't had any problem with any package, my PC booted everyday and when I had a problem with something it got it fixed in 5 minutes searching the forums, as the problem had been reported and corrected that day. And I update the entire system everyday...
For me, Gentoo is the most stable distro I've ever tried (and the most bleeding edge, perhaps only after SID).
Install Gentoo and never have to worry about crashes or problems connecting to the internet... till you start playing with it to hard ;)

The nice difference between Gentoo & Debian is that w/ Gentoo, a Portage subdirectory includes an atomized stable/testing/unstable package list. You don't have to add all these various lines to your apt/sources.list, but you can select directly from portage. Very, very nice.

If debian had something similar, I'd be a lot happier with the package mgt. Still, though, Debian has always been much better than the rpm distros.

I know what I'm talking about -- my development system runs daily unstable, home one and notebook -- occasionally updated (like once a week or month) unstable, and servers mostly run last stable with auto updates.

I've been building extra software and backporting unstable packages for almost 4 years of using ALT Linux, being not totally dummy even at the start to guess where the trouble lies with unmanaged software builds (having almost ruined or experimented-over to death some three RH-like systems of different flavours to that date) -- and you know, even then home system managed to boot daily.

Anyway, what's the deal with "bleeding-edge" being marked-out? It's no difference from extra "testing" repo or kind of that which gets used by those risky enough. (hmm... almost, there's something to think about there)

And with that comment you clearly show that you have no idea what you are doing. I work every day, but I still have an up to date system. Did you maybe think that Linux is a single-task OS? You do know that you can run multiple tasks in paralell on Linux? No? I suggest "Linux for Dummies" as a starting point.

Seriously, the comment you made is just ignorant and something that is not really worth commenting on, but I see it all the time from ignorant users or fanboys of other distros.

I normally run and "emerge -u --deep world" in the background while doing other work related tasks. On rare occasions, I might have 10-15 packages that needs to be updated and depending on the size of them it may take anywhere from 5 minutes to a couple of hours, during which I have been very productive earning money without even noticing that I'm upgrading. Ofcourse, doing this on your 128MB PII 400Mhz machine might be stressful, but then again, maybe a HW upgrade is in place no matter what OS you are running.

I haven't tried Windows yet but I haven't heard anything else than a praise aoubt it, and they even make posters for that. Perhaps when I have time I'll give it a try. Also I'm proud Msft leader seems to have dealt with judges again.

What a BS. In this world, you shouldn't cry "rocks!!!" basing on someone's words unless you really trust them (with your -- well, anonymous -- reputation) or you have the same experience to back the claim.

First try administering half a dozen of systems (with at least some of them online) for a couple of years running Slackware, and then we'll get back to this discussion, ok?

"Gentoo's reputation (in large measure pushed by the people who develop the distribution) is that it's for people who want super crazy optimizations"

I mentioned this article in the gentoo forums and some gentoo developers answered that its not the gentoo developers who try to promote this "reputation". There seem to be simply one too many "ricers" out there that just babble about nothing else but speed improvements due to some insane cflags. Most if not all gentoo developers agree that if you go overboard with the cflags, then you definately risk a instability and a broken system, and in that case, you've got no right to complain.
I think a lot of the negative attitude towards gentoo comes from users who try to over-optimize, then complain to Opensource developers that their apps have bugs and stability problems.

But like your article states, if one ignores the hype, gentoo has a lot going for it.
I really like the possiblity of optional dependencies. Don't need mysql support in an app? Set the proper use flags and no need to compile and install it.

One thing you forgot to mention is the forums. I think the gentoo forums are one of the best linux related forums out there. Not too much "RTFM" talk there, allthough one might get to hear a good old, "try and use the search function next time."
Nonetheless, I find that for pretty much any problems I run into, I can usually find an answer in the forums, or post a question and get an answer in a reasonable amount of time.

With my compiler writer hat on, I say good for those people who try "crazy optimizations." If such things break code, then either the code is broken, or the compiler is--no optimization should change the semantics of valid code.

Agree with your comment, and the compilers should be fixed. But the truth is that compilers in general have historically been a wee bit unpredictable in this realm. Even compilers for embedded DSPs have this problem. Which kind of seems to defeat the purpose... Anyway, it is perhaps to say that it is the developers (not "mere" users) that should test as many compiler options as possible on as many CPUs as possible. But there again, we just multiplied the amount of regression testing that must be done...

A year and a half ago my daughter and a non-technical friend "built" the daughter's Gentoo system before she left for University. The reason, quite simply, was that Gentoo may be a pain to set up but it's easier to administer reliably than any other distribution.

This afternoon we head back to deliver her for the Spring semester, PC in the back of the car. Aside from blowing the dust bunnies out and installing a new DVD drive (she now gets courseware on video) no particular updates needed.

I admit that I did have to remote-admin her box a few months ago. Setting up an HP inkjet is sorta ugly no matter how you slice it ...

Use CUPS! It really is a wonder, even in my MS-oriented company I could install a CUPS server on a machine and all our Linux machines use it. KDE, Wine and probably eveyone else work seemlessly with CUPS. It is the must-have abstraction layer IMO.