Hi folks

I recently went through the (minor hell) of updating my old workhorse 
gentoo box. I hadn't touched the system much (apart from open 
services like ssh) for about 1.5 years due to a series of facts:
1) It just worked so darned nice.
2) My phd endstretch didn't leave much time to computer fiddling, and 
the cluster just worked so darned nice (diskless SSI booting from the 
original gentoo machine (see above)).
3) It lived behind a nice firewall which I trust enough (yes I'm a bit 
naive) and the open services such as ssh had been updated more 
regularly.

Now I had a bit of time and sice I had moved to France for my post doc 
I had to get skype in/out working, which didn't want to install 
nicely. So I thought a thorough general system update was overdue.

First, my questions, then (if you really want) the arduous story on 
how I did it. Feel free to comment, give tips and point out my 
mistakes.

Primary:
What is a recommended way to update an old system to minimize the 
amount of broken ebuilds?
Is emerge --emptytree world a good idea? Is it better than a clean 
install? Or is the documentation's way good enough even for a very old 
system:
    emerge --update --deep --newuse world
    emerge --depclean
    revdep-rebuild
I have an unexplainable fobia against --depclean though. And updating 
everything at once seems a bit reckless, I mean with the age of the 
system it would update almost everything. The package list was a mile 
long, and you never know what will break.

Secondary:
How often should one update the system to minimize hassles with broken 
packages?
Too often, and the hassle of constant upgrading can get tedious even 
if it works ok, and too late, and some odd dysfunctional version 
combinations start showing up that the packages were not really 
tested for, leading to broken ebuilds.



I did like this:
I didn't want to run a clean install or an --emptytree thingie. I 
wanted to take it a few steps at a time, so that if something broke I 
might have an idea about what new packages it was that broke it.

1) take a backup of the system. I have some modifications 
in /etc/init.d scripts and some extra non-gentoo stuff for clustering 
installed that I didn't want to risk, and I was pretty sure something 
would bork and leave me clueless. lol

2) emerge sync. Nice, worked.
emerge *only the most important stuff* (oh, I'm really chicken btw): 
portage, baselayout, etc.
That brought in some dependencies, but it worked out all right after a 
while and a lot of figuring out the /etc/init.d and config file 
changes that has happened for the last 1.5 years. And some other 
changes as to where certain configs go, and how, and so on. But most 
was easily searchable in docs or forums.gentoo or on this list.
Reboot here to see if it even booted any more... YEEAAAH!

3) emerge basic user packages like gcc, glibc, xorg (yes I was still 
on xfree) kernel, etc.
note: I have to stay on 2.4 because I use openmosix for the 
clustering, and I don't yet trust 2.6om.
For this I started using --update --deep since I did want an updated 
system, but not all at once.
This still worked out all right, with just some minor headaches of 
broken ebuilds. And some config files again.
hrmmpf kernel change means reboot. darned.

4) emerge --update --deep desktop stuff like KDE, openoffice, 
browsers, etc...
This started generating Looooooooots of broken packages. I have spent 
many hours looking through the _VERY_NICE_ bugs.gentoo.org. I still 
get bitten by bugs that are filed fixed in mid 2003. lol
Some more config file updates, and restarting all significant services 
to use the new software.

5) Now, muahaha, emerge --update --deep world. Aiaiai. Another batch 
of broken packages, but not the critical ones, since most everything 
necessary has already been updated.
Some more config files. I _really_ like dispatch-config and cfg-update 
by now.

6) Well, I'm here now. The system works just fine. And yes, I recently 
remembered that I had forgotten to update the USE flags to cover the 
current situation (stooopid teflon memory). But I hope I can wait 
until the current few remaining problems are out of the way, and then 
I can perhaps (hope and pray) use the eminent and functional(?) 
--newuse (and I do so very much hope works with/as --deep).

I still have some problems, mainly with skype, which works but have 
some odd dependency thingie with dbus that emerge doesn't like. And 
revdep-rebuild tries to bring in some stuff that are no longer in 
portage. Interesting, though, is that
    equery depends '=pack-group/packagename-x.y.z'
doesn't report anything depending on those old packages any more after 
all the updates. How can I figure out what wants them?

revdep-rebuild? is it safe to use, and safe with --package-names 
(since just about every single package it's trying to bring in is no 
longer in the portage tree)

What somethingsomething-update programs should I run during the 
process?
python-updater
perl-clenaner
java-config
opengl-update
modules-update
--- what am I missing -- ?

Is udev supported on 2.4.26+? would it be useful instead of devfs? and 
is there a *really* good guide for switching (that might warn me of 
the common problems I'm bound to run into)?



In retrospect it might have been faster to simply do a reinstall or 
--emptytree. Sorry for issuing such a blasphemous statement on this 
list.


Thankful for input on the matter.

Jimmy
-- 
gentoo-user@gentoo.org mailing list

Reply via email to