Nick Fortino wrote:
Alexey Luchko wrote:
I have a gentoo installed, but I wasn't updating it since late 2007, I suppose.
Today I've run emerge --sync. It worked! It's great ;)

But then I've got the following collision. Obviously, a portage update is required. But it is confused by dependencies:
colinux ~ # emerge portage --pretend --tree
These are the packages that would be merged, in reverse order:
[cut]
[blocks B ] <sys-apps/portage-2.1.5 (is blocking app-shells/bash-3.2_p39)
colinux ~ #

I worked on this a couple months back to make it possible. The key is to download binary packages of portage and a few dependencies to break the block. Once portage is upgraded, it's smart enough to figure things out now. An original script an discussion can be found at http://blog.jolexa.net/2009/03/25/gentoo-tips-to-upgrade-your-really-old-installation/ A slightly modified version is here inline. I would recommend against running it as a script, but rather do the steps individually (also, if you aren't running amd64, be sure to change the architecture of the binaries you are downloading).

Read this line as typical warnings of your mileage may very etc.

I decided to try this way first.

I've got a problem on the way and hopefully restored the system.
The problem appeared after downloading and extracting new bash:
wget http://tinderbox.dev.gentoo.org/default-linux/x86/app-shells/bash-3.2_p39.tbz2
tar xfpj root/All/bash-3.2_p39.tbz2

Every next execution of bash (and sh also) gave me:
colinux ~ # sh
sh: /lib/libc.so.6: version `GLIBC_2.4' not found (required by sh)

I didn't get through it, but rather restored the partition from backup.
By the way, does one know a windows tool, that can write a partition directly?

If one is interested, I managed to get this way:
I had the backup on the windows host system.
I replaced my root's shell with /usr/bin/python and wrote a script that did what "cat > /dev/cobd/4" would do if it was available.
The I restored the system running the following:
$ gzip -d < /z/inst/colinux/colinux20090512.img.gz | ssh r...@colinux -C 'execfile("cat.py"); cat("/dev/cobd/4")'

It's really funny, but writing these lines I've understand that I had mounted host file system, and I could have restored the backup through it.


Have a nice time ;)
Alexey.

Reply via email to