Gentoo Linux Reloaded
nitro322 writes "Daniel Robbins, the leading developer for Gentoo Linux, has written an excellent O'Reilly Network article covering many of the various features of Gentoo, what's coming in version 1.4 (due out SOON), and why you should give it a try. If you haven't tried Gentoo yet, what are you waiting for?"
What's next, a Cunni Lingux distribution?
Lets defuse this bomb before it happens.
:-)
Gentoo is a really nice distro. I wouldn't say it's for newbies and it's definitely geared for developers. The install isn't a cinch but it's very thorough. Before we get into a holy war with sides saying Sorcerer is better or Slackware this or Redhat that - lets try and keep the discussion about Gentoo itself... what is good or bad about it - and maybe help out Dan Robbins with useful constructive suggestions. Now... have at it
Have a Happy.
As with most groundbreaking papers in academia, Robbins' piece starts off with "Hi there."
If you celebrate Xmas, befriend me (538
I'm waiting for Mandrake as my desktop and Debian as my server to fail spectacularly to live up to my expectations of a desktop or server OS.
When they do so fail, I'll try Gentoo, among other things.
It's been a few years. I'm not predicting spectacular failure anytime in the next few months.
fifth sigma, inc.
Gentoo needs to make a version that will still compile the software on the system without having to download. Some of us don't have room mates that understand having a dial-up for 5 days straight.
"It has always been this way and it won't change, god bless the fucked up USA" The Briefs
If you haven't tried Gentoo yet, what are you waiting for?
I'm waiting for it to finish compiling!
If all this should have a reason, we would be the last to know.
Back when I started Linux around '97 or '98, Slackware was the "in" distro. People who started using Slackware back then did so because they thought they were 7337 and at every opportunity they would espouse its benefits. I started with Slackware too and am happy I did and probably was an annoying Slackware prophet from time to time. But I can't help but laugh when I see the similarities between some of the younger Gentoo users and the Slackware users of yesteryear. These particular Gentoo users seem to think they're hot stuff and mock anyone who uses another distro, or at the very least dismiss their 7337ness. Yet, if everyone started using Gentoo like droves of users use RedHat or Mandrake, I'm sure Gentoo would lose a great deal of its appeal for some of these users. I suppose the torch has been passed from the "Slackware is for hardcore users", to "Gentoo is for hardcore users" mantra.
First a caveat. The Gentoo install is not for the faint of heart. In most cases, right off the bat you've to compile a kernel. Most large compiles take a day. kde can take a day to compile. mozilla takes the usual hour or so. If you can look past all that, it is the greatest thing since sliced bread.
:-)
Here are the promised helpful links.
Gentoo Home Page
Gentoo x86 install instructions
Gentoo FAQ
Gentoo Desktop Guide
Gentoo Forums
Gentoo Bugzilla
That should keep you busy for a week, at least.
Corporate Gadfly
Jonathan Archer: the most beaten up Enterprise captain in Star Trek history
I find it interesting how many people like having to compile everything and use a distro with such a archaic(not bad, just outdated compared to todays distros) install routine.
What's even more interesting is how many people have left Debian for Gentoo. Debian users are some of the most loyal I know, and yet many of them have simply moved on. I'm guessing Debian blew it with the long delay's between releases.
I also have to say after using linux for a while now, I just have no desire or need to get down and dirty with my distro, am I surprised as many people still are. Keep in mind I'm talking about desktop use where I just want to get my work done, not server use, where I do end up compiling some of my apps.
Personally I just don't have any interest in Gentoo or that style of distro, but obviously not everyone feels that way, since it does seem to be one of the up and coming distros.
If you wanna get rich, you know that payback is a bitch
Why should I use Gentoo? Really. Is there some huge feature comparison matrix for all the different distros? Is there really any major innovation between distros?
I don't run *nix that much. I have a dual boot at home for Mandrake 8.2 and W2K. Do different distros really only matter to the elite linux hackers?
If you haven't tried Gentoo yet, what are you waiting for?
I'm waiting for it to have over 4000 packages tested and available. I'm waiting for it to have widely available high performace mirrors that serve binaries, so I only have to compile when I want to, and I can be using that new piece of software in seconds. I'm waiting for it to have a proven track record for strict filesystem hirearchy standard compliance (the same standard each release, please). I'm waiting for it to run on all the platforms I currently use (still missing arm). I'm waiting for it to have a dedicated team of hundreds of developers that release security updates in hours (In binary form so that I don't have to wait for compilation for security). I'm waiting for transparent integration of non-"free" software into the standard package installation system. And most importantly, I'm waiting to find any reason why my current system may be insufficient, or even sub-optimal, because I don't feel the need to fix what isn't broken.
Glad you asked?
With my newest box, it came down to either being Debian or Gentoo. Gentoo would only do a CD install (I didn't have a CD-R) so Debian won. Give me a floppy/FTP install and I will give it a go.
Michael Loves Me!
I've been a slackware user for 5 years. Only slackware. No other distro.
Then I tried Gentoo recently. It's everything I wanted. the Ultimate power of customization (save LFS), everything from source, etc. The speed difference IS noticeable in every app, as long as you have a clue about optimization flags for your CPU.
The only real problem is that two things are essential:
1) Moderately fast system
2) Fair connection to the ineternet
I have dial up at home, so I brough my system to work and installed there. Ever since, I haven't had to download too many huge ebuilds (packages) over dial up. Things are good.
Check it out some day.
-- Note: If you don't agree with me, don't bother replying. I won't read it.
Install desired packages on one machine. Copy /usr/portage/distfiles to the other 9 machines/. It only downloads if it can't find it in /usr/portage/distfiles
TODO: Something witty here...
Acutally, I tried Gentoo as a semi-newbie. I've nearly all the major releases working but, it wasn't until I installed Gentoo that I really learned the inner workings of Linux systems. That was a HUGE benifit. If you are an 'experienced newbie' I would suggest if you have the Phat Pipe (TM) and l337 Hardware (TM), then wade into this full blast. Even if you don't keep Gentoo as you distribution of choice--You'll be better for the experience. The task is challenging but the documentation is good. I also personally like the non-bloatware feature and portage system (I admit nothing about being a BSD user!--you have no proof!).
Like I said give it a try. At the very least you can pick up some skills and that is worth the compile times (on a 1.2Ghz w/ 256DDR system takes me about a long evening start to command line--then emerge gnome or kde while you sleep).
Cthulhu for president!
You should read the install instructions on the Gentoo site. If you have a bootable floppy that can:
- fdisk the install drive / partitions
- format the partitions
- give you a working network connection
- Let you run a command shell with ftp and chroot working
That's all you need. You can probably use that Debian floppy to install Gentoo. Of course, there's the matter of downloading a 50-100 MB tarball + kernel sources for the initial install, plus more downloading and several hours of compiling to get a usable system. But you can do it without a CD (or even a CD-ROM drive).
Dan
Um, we've always had ReiserFS. You forgot to enable "experimental features" in your kernel config... and, um, this was actually covered in the documentation :)
Daniel Robbins
"I'm waiting for Linux to get where FreeBSD is for ease of building..."
that's where gentoo is. the *point* of gentoo is that it uses the ports system... so congratulations to you, no more waiting
got drum'n'bass?
http://mp3.com/vitriolix
...is the one they're not using.
Gento is source based, meaning big compile times. However, it has the possible advantage of very small downloads. Imagine, that instead of downloading all the source packages for KDE 3.0.4, you simply had to download the patch level difference for the source from KDE 3.0.3. The diff file would probably be less than 500k.
Of course, patch files would be too difficult to manage, so why not set up an rsync or cvs server, and use cvsup to grab the differences. Not from the production cvs, but from another set up by Gentoo. This would turn a bandwidth hungry dist into the lightest one of all. After downloading the initial sources, the updates would be noticably smaller than binary dists.
Of course, gentoo doesn't do this, but I use it anyway. :-)
There are a few....
/usr/qt/2/, Qt 3 in /usr/qt/3/ etc...) this doesnt always work! Can end up with some painful instabilities needing things to be unmerged and then re-emerged again after
:)
- ebuilds arent perfect. some dont work, others have known problems. it isnt always perfect. things are usually fixed quickly though.
- version mismatches. although its kinda cunning and you can have multiple versions of things installed (Qt 2 in
- other version mismatches. some apps like autoconf 2.13, others like 2.5. you can easily change your 'active' one (export WANT_AUTOCONF_2_5="1" for 2.5) - but the ebuilds don't 'know' which one they want. Again, broken builds and more problems. Easily fixable but still a pain.
- upgrading doesn't get rid of old versions. Sometimes you really need to unmerge an old version of a program before emerging the new one or dependent apps will get confused and pick up the wrong versions of shared libs. I know this isn't meant to happen but it occasionally does..
- other weird stuff. recently I somehow lost my TEMP environment setting and emerge unpacked a fresh glibc version into / (still haven't cleaned up the mess..)
- cant resume an aborted build. start building big package (openoffice!). quit for whatever reason. have to start again from the beginning...
Don't get me wrong - I love Gentoo dearly, its my primary desktop that I spend 16 hours a day on doing all my work and all my pleasure. But nothing's perfect...
(and the support on the lists is truly excellent, so you're never completely lost..)
(and admittedly many of the problems above are as likely to be caused by the apps themselves as Gentoo..)
You wink, but it's true. That's why I left Gentoo. I got sick of the constant compiling, even on my 1GHz P3.
Now I follow Debian sid and I do just fine.
I agree, the dependency hell was definitely the main reason I switched from Redhat to Gentoo. The *fact* that it runs much faster on my laptop as well is a nice bonus, but that's not what keeps me there. What keeps me using Gentoo is this:
1. Package versions are updated very promptly. If you're running a server, Gentoo has a nice mailing list with GLSA's (Gentoo Linux Security Announcements) that easily keep you up to date with what needs to be upgraded. When you do upgrade, it's basically a one-line command and I can let it build in the background (and I don't agree that the "compile time" makes the security upgrades less timely: for one, most server apps are pretty small and can be built in 5 minutes, and for another, Gentoo will come out with a new ebuild script much much sooner, in my experience, than Redhat, et al. So I can build the new one before Redhat even rolls a new RPM.)
2. I know exactly what I'm getting when I install something in Gentoo. Gentoo uses the official versions of everything rather than their own hacked up editions (reference the GCC 2.96 issue, etc). An exception is their custom kernel sources, but it is well documented what that contains.
3. Even though compile time exists, user hassle is reduced. Most installs require very little interaction from the user to complete. I got sick of going out and finding the RPM I needed, making sure it was the right kind of RPM (Mandrake, Redhat, Suse...), having RPM reject it, and having to go out and find dependencies...
4. I can enforce compile options system-wide or even rebuild the entire system with new options using a single command.
5. Compile time and setup issues decrease as the system matures. Once you've built up a sizable collection of libraries, etc. compile times tend to be greatly reduced since the dependencies are not updated as frequently as main apps. Also, if you know what you're doing, it's very easy to get Gentoo setup exactly how you want it. I never figured out how to achieve this level of customization in Redhat and now that I have it I can work VERY efficiently.
So, contrary to belief of those who haven't tried it, Gentoo really does save you maintenance time if you know what you're doing enough to get it set up correctly. No more fighting conflicting sets of RPMs from Ximian, Redhat, and the Mozilla site everytime I upgrade Mozilla. That alone was enough to convince me of its superiority.
Freebsd has had SoftUpdates for UFS (disk file system) for quite a while. this does a more or less journaling type feature, although as far as I understand it's not quite a full JFS. it works nicely though, and no more FSCK. that's a bonus in my book.
and as far as hardware support, it's not really a matter of HOW much stuff is supported but how WELL it's supported. this is important when you actually want to do work, like have production servers tick along forever without randomly crashing. I wouldn't even begin to pretend that Free supports as much hardware as linux does, but that's mostly because there isn't a legion of 13 year old kids writing a slew of crap drivers for things like usb webcams and cheap ass network cards and god knowsw what else they bought at CompUSA. that sounds bad, but it's what it seems like much of the time. who gives a crap whether you can do "good performance IDE software RAID" ? who does that? seriously. if you wanted good RAID performance, you'd build a box using a serious hardware raid controller, with good scsi disks... and if you're someone who wants to argue with me here, then you're really not someone who gets it, and should stick to your linux distro of choice. pretty IRC interfaces aren't all what it's about, you know.
As far as compatibility with linux "software" goes, FreeBSD is a POSIX beast, and works just fine in that arena. it also has an optional linux compatibility layer where (sadly!) it will emulate the insane mess of libs and dependencies (glibc? hello? pick a version already) and run the software as if it was a linux ELF binary. this is handy when vendors do stupid things like distribute apps for hardware as linux binaries... I've run into this with Mitsubishi high-end UPS systems, and linux compatibility mode worked out A-OK. all done, QED. no need to compromise my network with a exploit prone system (besides the windows servers, of course!)
but really, as a former linux user from the days when slackware was new and really damn cool, I have to say that I like FreeBSD more. one of my coworkers forced me to use it, and once I sussed it out a bit it made so much more sense. things are ALWAYS IN THE SAME PLACE. this is important, so important I'll say it again. THINGS ARE ALWAYS IN THE SAME PLACE. this makes administration easy. installing applications is much simpler. cleaning things up is easier. restoring from backup is easier. it's great that your home linux box has some weird ass setup that makes sense to you, but start administrating hundreds of boxes built by a team of different people over the years. weird ass file system nonsense doesn't scale. move on.
Ports and the source tree- these clinched it for me. it's spiffy. you go into the directory, use the built in search tool to find an app to do what you want, and then install it from source. you can snarf the binary if you wanted, but why bother? we're using servers here, they have power, and we're not building KDE3 or something. (except of course when we are, of course.) I can't begin to say how spoiled I am by using the ports tree.
And building from source- what's easier about keeping your system up to date than syncing your source tree with one command? and then rebuilding your entire core system with another? poof! it's like magic. go figure. it's been there forever.
anyway, if you're a geek who needs to do server stuff and you'd like to cut down on the headaches, give freebsd a spin. we're not bad people and most of us work for a living. you get to avoid a lot of clueless brats and silly script kiddies. if we say "H4X0r" it's in jest. maybe it sounds bad, and if so, that's fine. either it appeals to you or it doesn't. thanks for listening.
EOM
It has the flexibility I need, without any sacrifice in power.
You can boot off of a old install cd and install the latest release. It has done all I have asked it to and no extras.
I do not have qt ,arts or KDE installed I don't use KDE and I can still compile programs requiring SDL development libs, because I have sdl devel libs installed which did not require arts now try that with other distributions. I get to use the system logger, cron tool, bootloader, mta, etc that I want from the very beginning.
Get a free ipod.