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. |