The best kittens, technology, and video games blog in the world.

Monday, May 15, 2006

Gentoo upgrade

(A cute image from CuteOverload for about as much particular reason as the last time)

So it spite of all the ranting about Gentoo being essentially impossible to upgrate, I tried to upgrade it. By going over the list of the packages and selecting those that were upgradable by hand, but I did it. Well, sort of ^_^.

And now I'll tell you what happened during the upgrade. First I rsynced the portage tree and svn-up'ed an "overlay" (equivalent of an extra repository in Debian) with Eclipse. That is, I did an equivalent of apt-get update.
Now every time I run emerge it tells me something about a parse error in one of the Eclipse ebuilds, but it doesn't seem to have any ill effects so let's skip that.

As full upgrade is impossible, I did some emerge magic, like emerge -about -seven -options -pasted -from -#gentoo -on -freenode that was supposed to tell me what can I upgrade. Of course it didn't work. It thinks that my version of mod_php is bad and I need to uninstall my mod_php and install a different mod_php if I want to keep using Gentoo. I still don't get it how mod_php is related to portage but anyway.

On the other hand emerge --pretend --update --newuse world did work, well kinda. It showed a list of packages that weren't 100% new, and I could hand pick from this list the ones that I wanted upgraded. About 200 package upgrades ones, two days and 3 emerge crashes (can't compile this or that) later, the system was it a kinda more up-to-date state. I even felt like maybe I was overreacting a little the last time. Then I rebooted ...

Now something came that I've never seen in Debian, even with all the unstable and experimental packages. The upgrades broke the configuration files ! lo interface was down, /etc/init.d/net.lo start gave a parse error, oh and half of the thing did not work because lo was down. I kinda remembered that I'm supposed to run etc-update after each upgrade. etc-update "automerged trivial changes" to about 20 configuration files and gave me a list of 49 others that I was supposed to merge by hand ! Well, /etc/init.d/net.lo was on the list so I just told it to use the new version from the package. Now lo works and I have only 48 broken config files on the system.

Was it over ? Not at all. svn was down because of library issues. Oh yeah, I'm supposed to reinstall all packages that use library X after I upgrade library X (like I ranted before about Perl and Python). Upgrading svn fixed it.

Now the funny thing, Gentoo has an automatic fixer. One just have to say revdep-rebuild, and it goes through the system, finds all executables with broken library dependencies, and reinstalls their packages. Now, it found that KDE ioslave for SVN is broken. However, it could not reistall KDE because the old version was not in portage any more, and I couldn't upgrade to the the new KDE because of some unrelated broken dependency on libfaad2. So I'll have to live with broken SVN ioslave in KDE. But I'm not complaining, compared to other problems I've had with Gentoo a broken ioslave is like a flu added to a cancer.

Summary for users of Debian and other sane systems - Gentoo is like Windows 98, you're not supposed to upgrade it, it is far easier to backup your /home, format your hard drive and reinstall it from scratch. Or switch back to Debian, what I plan to do as soon as possible.


Anonymous said...


Anonymous said...

The real problem with Gentoo is that you have to upgrade often. But if you do, you get a completely up-to-date system. Gentoo is not for 2.4-and-the-like people who still use sometimes extremely outdated packages thinking that it will improve theyr security. Summarized: Gentoo isn't for you and your 'beating' doesn't really make lots of people worry about theyr Gentoo choice.

Anonymous said...

For me gentoo has been the most stable and best distro I've ever used. Not a single problem with portage for instance. I've tried SLS, slackware, redhat, mandrake, debian and now I'm using gentoo happily.

I guess in the case painted so vividly above the problem really lies between the monitor and the chair in front of it. Don't try things that you don't know unless you are ready to admit some mistakes on your part and learning from them.

So use windows if you want to system you can blame others for your mistakes. You pay for that after all. Use linux if you are ready for using it. It's not that hard after all ;)

Anonymous said...

I'm doing a Gentoo upgrade right now and it's hell. I reckon it's OK to use if you like spending a lot of time upgrading your system regularly, but if you're like me and like to use your system for a while between upgrades, then you'll have a very difficult time doing the actual upgrade.

Also portage is rubbish at resolving dependencies. I actually had to unmerge libX11 before I could upgrade it, b/c it was blocked by an older version of another package that was also getting upgraded.

taw said...

Anonymous: If you find Gentoo difficult, you can always switch to Ubuntu. Gentoo does a few things right, but overall, I don't think it's worth the effort.

Unknown said...

well issue is not that gentoo is bad or good , issue here is that most of you dont know how to work on linux and thats why you all are ranting about gentoo. Gentoo is one of the most stable distro ever . IF you dont know how to use linux please use windows ubuntu or redhat wont change anything. Gentoo gives you something that no other distro does . It is total customized system. You actually know what all packages you have.If you want upgrade to be good and successfull please install only what you need and not what you want either ways gentoo rocks \m/. Just for you guys , installed fedoa debian 100 times becuase of upgrades.Gentoo once and its stable since 5 years.

Trenton D. Adams said...

Gentoo is not designed to be used by people who are simply Linux enthusiasts. In addition, gentoo is meant to be kept up-to-date. If you go for several months, or a year, without upgrading, it can be a REAL pain, even if you do know what you are doing.

Also, when you see packages blocking other packages, it is important to make sure you realize which package you are removing so that the conflict gets resolved. If you remove a system library, for example, to resolve a blocking conflict, then you may find yourself unable to use the system.

But, I have evaluated a few other distributions, since I decided to convert to Linux entirely at home, and ditch Windows. I evaluated Ubuntu, OpenSUSE, Mandriva, and Gentoo. Gentoo is way more flexible, powerful, speedy, and has the best package selection of any distro out there.

The bottom line is that
GENTOO IS NOT FOR THE FAINT OF HEART. I do however, hope that they improve the portage a little more. It looks like they are moving towards a system that keeps old libraries until all dependencies on those libraries are gone. This is a good step towards the portage being more stable.

Trenton D. Adams said...

amit makes a good point, in that gentoo is ALWAYS up-to-date, if you keep it up-to-date. Other distros have to be re-installed, or upgraded, over and over again, to get the latest. The exception to this is the latest versions of RedHat/CentOS. I have been noticing that my Centos 5 box was upgraded to 5.1, and now 5.2 I think it is, automatically.