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?"
If all this should have a reason, we would be the last to know.
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
There's a parameter to emerge, --pkgsrc I think that tells you to use the given binary. You can also configure it in your /etc/make.conf file I think.
-Andrew
Gentoo is better than Pygoscelis papua, the scientific name for the species of penguin that it is.
And yes I finally had to look it up. Before, I thought it was some lame reference to a planet in Star Wars or something. (What's with Lucas and the 'oo' words anyway? They sound stoopid!)
"Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
Gentoo is a very up to date version of linux. Most of the packages available are the latest stable versions. Installing from an cd means the next 'emerge world' will end up downloading lots of packages as it updates your system. The older the install cd the more downloading to be done. That would defeat the purpose of loading everything from cd in the first place.
- dependency problems in some portage scripts and
- having to compile everything.
It may be a great thing, but when i wanted to try a new program right away, waiting for it to compile was a definite pain in the arse.Now, as far as my dependency issues, i'm not sure if they got them resolved with the new version of portage, but it might be worth checking out. At any rate, i love dselect and i dunno if i'll be reinstalling now that i got the unofficial kde3 debs working
|---------------|
practically an AC
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.
Gentoo has a BSD style ports system. You type a command (ie. "emerge gnome") and it downloads, configures with parameters you have set in your make.conf file, and then compiles it optimized for your system.
No other linux distro has this. So yes, this is a major feature/innovation that makes it different.
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...
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
Have you actually looked at the list of packages? It's more than KDE 3 and GNOME 2 - since installing Gentoo on my desktop and server two months ago, I've only found 3 packages (out of... probably over 100 packages that I installed, including some very obscure ones) that didn't have ebuilds - hopefully the ebuilds I made for them will be added to portage soon.
The list of packages available is already very impressive (I'll bet that Red Hat and Mandrake don't have packages for the unreal tournament 2003 demo, or the Quake 3 OSP mod - these are in portage!), and making a new ebuild is very easy.
Having 4000 packages is completely irrelevant - there's tens of thousands that you'll never use. Debian's 9000 packages might make you certain that nearly everything you can think of is included, but would you even use 1000 of them?
"I'm waiting for transparent integration of non-"free" software into the standard package installation system." (those aren't my ebuilds - it's a completely clean portage tree from a few days ago).
"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."
Portage and ebuilds.
They that quote Benjamin Franklin on liberty and safety deserve neither.
I'm waiting for it to have over 4000 packages tested and available.
/usr/portage/distfiles/ | wc -l 4279
/usr/portage/distfiles /usr/portage/distfiles
If you don't mind tarballs, it looks like that 4000 number has been surpased. This is my gentoo distribution tarball directory last updated a month ago:
dattaway@attaway $ ls
dattaway@attaway $ du
6881448
Comment removed based on user account deletion
Comment removed based on user account deletion
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..)
It'd be cool to try them out without having to do much on our part to see if its worth it. Well, maybe that's what the linux expo's are for.. But I'm to cheap to fly anywhere for an xpo. Maybe LUG's? I have yet to attend one.
One word: VMWare
-DZM
I installed it on a 56K dailup. No worries.
/usr/portage/distfiles
If you simply want to download the packages overnight...
emerge -f world
Or...
Download with a fat pipe. Burn it on a CDR and mount the CD as:
or just copy the files...
~~ What's stopping you?
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.
I like gentoo. I am using it right now. The ports system has some advantages. Being able to apply your own patches and still have the software integreate nicely with the rest of the distro is nice. Compiling with better optimizations can't hurt. Gentoo is usually on the cutting edge in terms of features.
._cfg000 prefix! Those files are a pain in the ass to work with! Why not a ._cfg0000 postfix??
There are some rough spots. There are broken ports in 1.2. Emerge is tediously slow. The ports systems found in FreeBSD and OpenBSD are much better. But Gentoo should catch up as it matures.
The init files are stupid half perl. It looks like a sysV init. It should be a sysV init with real shell scripts. I can understand why the developers would want to do something different. But then they should have made the init system different.
The init system is part of a larger problem. The developers seem to change some little things for changes sake. Unfortunately I can't think of an example off hand. This should tell you that most of the changes are minor. However there have been times when a config file or command didn't behave the way one would expect.
The stupid
I will give 1.4 a whirl when it comes out. There are enough little bugs with 1.2 that it is time for an upgrade anyway. If Gentoo 1.4 has worked out most the rough edges I will stick with Gentoo.
I was very close to using my last mod point to mod the parent down as flamebait because of that line, but decided it would be more constructive to reply.
There are a handful of other distros that do what Gentoo does, and some might argue that they do a better job of it (I won't get into that).
1. Source Mage - The evolution of Sorceror after it's original maintainer ran off, has been doing this for nearly as long as Gentoo (maybe longer even? It's close). Instead of "emerge gnome" you'd say "cast gnome", but other than that it's more or less the same thing - download, configure, compile, install with one command. It's all coded in very elegant and easy-to-understand bash scripts, which is kind of neat, but other than that it's very comparable to Gentoo. I believe they plan to release 1.0 on Halloween.
2. Other source-based distros - there are two other Sorceror-based distros besides Source Mage - Lunar and the non-free Sorceror. Personally I'd suggest sticking with the above if you want to go with a Sorceror-evolved distro though. I think there's also Rock Linux but I don't know much about that.
3. Debian. Apt-get downloads and configures and installs programs, but you save hours and hours on the compilation step by using binaries. Or you can use apt-src and go through with the compilation. Personally, I found that it was not worth the time to compile everything when Debian works just as well if not better, has a far more reliable, well-established testing system, and stays nearly as up-to-date (if you use sid, the "unstable" branch, which I've found to be more stable than any of the source-based distros). As for the alleged speed gain in compiling, that is more of a theoretical claim than a number-supported one, and I honestly do not notice a difference.
Parent - keep in mind that it is never a safe thing to say definitively "no other..." or "never" or any kind of all-encompassing statement - you're asking to be disproven. Certainly Gentoo is a nice distro, but let's not be close-minded about it.
The first ever Ultimate Frisbee video game: here (now
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.
WTF are you talking about? They are regular shell scripts. Have you not noticed the #!... line at the top?!? Change that to #!/bin/sh and off you go. The current system eliminates redundancy, as in: why does each and every init script need to parse the command line explicitly? Why not do have a bit of common code which does the parsing for you? Also, it enables all the init scripts to automatically source /etc/conf.d files which IMHO is a very neat solution to the problem of setting options for daemons in a central location instead of messing about editing the init scripts themselves.
Actually I'm wondering why more distros don't use the system of dependencies in their startup scripts instead of assigning arbitrary (priority) numbers to their init scripts. The dependency system also neatly avoids problems when e.g. a service won't start, and several other services depend on it. Personally I love the dependency system for the init scripts. It's actually one of the things (along with portage) that made me choose Gentoo, but of course there's no accounting for personal taste.
HAND.
Have you truly never wasted a day screwing around with RPM? I spend half my time trying to resolve stupid dependancies that make no sense -- like starting with a PHP install for a headless web server and ending up needing to install X. That's not an actual example, BTW, but it is fairly typical.
RPM suffers from a (not insignificant) number of basic flaws, and most of these are not present in Gentoo's Portage (or Debian's dpkg, AFAIK).
I've been running Gentoo on a server for several months now (replaced Redhat), and it has been a pleasure to maintain. I'm not keen on some of the ways in which Gentoo lays out its file structure, but I can live with that. My laptop, which has been running Mandrake for about 18 months since I bought it, finally got to the point where I couldn't install anything anymore because of RPM. I was building and installing everything by hand, so I installed Gentoo over it. This was actually a lot easier than I thought it would be. Replacing Mandrake was painless; getting Gentoo configured, getting X running, and so on, was unneccessarily difficult. Gentoo has an extremely primative configuration system, which is to say, it doesn't have one. It uses the base package's configuration tools; for X, this is still xf86config. I mean, come on... when was the last time anybody on a modern operating system had to enter scan rates by hand? That is more XF86's fault than Gentoo's, but it does make Gentoo a pain to get running.
Basically, what I'm saying is that when a package manager is so bad that people have to avoid it to install software, as is the case with RPM, something else is needed.
Gentoo is relatively difficult to install, compared with other modern Linux distributions. However, once it is installed, it is fast and easy to maintain.
Joey Hess implemented this for Debian in about 400 lines of perl, some time ago. Hardly a "major" feature.