Gentoo Archives: gentoo-user

From: Alexey Luchko <luchik@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] how to recover a portage that wasn't in use for very long time
Date: Tue, 12 May 2009 13:56:58
Message-Id: 4A098026.80503@gmail.com
In Reply to: Re: [gentoo-user] how to recover a portage that wasn't in use for very long time by Nick Fortino
1 Nick Fortino wrote:
2 > Alexey Luchko wrote:
3 >> I have a gentoo installed, but I wasn't updating it since late 2007, I
4 >> suppose.
5 >> Today I've run emerge --sync. It worked! It's great ;)
6 >>
7 >> But then I've got the following collision. Obviously, a portage update
8 >> is required. But it is confused by dependencies:
9 >> colinux ~ # emerge portage --pretend --tree
10 >> These are the packages that would be merged, in reverse order:
11 >> [cut]
12 >> [blocks B ] <sys-apps/portage-2.1.5 (is blocking
13 >> app-shells/bash-3.2_p39)
14 >> colinux ~ #
15 >>
16 > I worked on this a couple months back to make it possible. The key is to
17 > download binary packages of portage and a few dependencies to break the
18 > block. Once portage is upgraded, it's smart enough to figure things out
19 > now. An original script an discussion can be found at
20 > http://blog.jolexa.net/2009/03/25/gentoo-tips-to-upgrade-your-really-old-installation/
21 >
22 > A slightly modified version is here inline. I would recommend against
23 > running it as a script, but rather do the steps individually (also, if
24 > you aren't running amd64, be sure to change the architecture of the
25 > binaries you are downloading).
26 >
27 > Read this line as typical warnings of your mileage may very etc.
28
29 I decided to try this way first.
30
31 I've got a problem on the way and hopefully restored the system.
32 The problem appeared after downloading and extracting new bash:
33 wget
34 http://tinderbox.dev.gentoo.org/default-linux/x86/app-shells/bash-3.2_p39.tbz2
35 tar xfpj root/All/bash-3.2_p39.tbz2
36
37 Every next execution of bash (and sh also) gave me:
38 colinux ~ # sh
39 sh: /lib/libc.so.6: version `GLIBC_2.4' not found (required by sh)
40
41 I didn't get through it, but rather restored the partition from backup.
42 By the way, does one know a windows tool, that can write a partition directly?
43
44 If one is interested, I managed to get this way:
45 I had the backup on the windows host system.
46 I replaced my root's shell with /usr/bin/python and wrote a script that did
47 what "cat > /dev/cobd/4" would do if it was available.
48 The I restored the system running the following:
49 $ gzip -d < /z/inst/colinux/colinux20090512.img.gz | ssh root@colinux -C
50 'execfile("cat.py"); cat("/dev/cobd/4")'
51
52 It's really funny, but writing these lines I've understand that I had mounted
53 host file system, and I could have restored the backup through it.
54
55
56 Have a nice time ;)
57 Alexey.