1 |
On Wed, Dec 10, 2008 at 2:45 PM, Duncan <1i5t5.duncan@×××.net> wrote: |
2 |
|
3 |
> Well, you can, but not directly. |
4 |
> |
5 |
> Surely you have an emergency boot method, either (like me) a backup root |
6 |
> partition that you snapshot from your working one periodically when you |
7 |
> know the system's working pretty smoothly (which means you've rebooted |
8 |
> since your last merges so you know you can), or a LiveCD of some sort, |
9 |
> maybe a Gentoo LiveCD, maybe something else, that you can boot to and |
10 |
> mount your broken system partitions from? That's the basis from which to |
11 |
> start. If you don't have such an emergency boot solution, how do you |
12 |
> expect to recover in the event you have a broken boot? |
13 |
> |
14 |
> When I had a problem with glibc and needed to downgrade, I simply stuck |
15 |
> the appropriate root=/dev/whatever on the kernel command line from grub, |
16 |
> and booted to my backup root partition. The way I'm setup, that gives me |
17 |
> the exact working system I had at that point, and can mount either my |
18 |
> normal or backup /home and other data partitions, so I'm still fully |
19 |
> operational. I was able to mount my my normal root from the backup, |
20 |
> along with my packages partition, then set ROOT= to point to the normal |
21 |
> working partition, and emerge -K an appropriate binpkged glibc over top |
22 |
> of the broken one. I must admit I was a bit apprehensive about it as I'd |
23 |
> never used portage's ROOT= setting before, and after all this is glibc |
24 |
> we're talking about, but it worked fine, and I was then able to reboot |
25 |
> back into my normal root again. |
26 |
> |
27 |
> Another alternative as long as glibc isn't so broken you can't run |
28 |
> anything, is to hand-edit the ebuild to kill the downgrade blocker bit of |
29 |
> the script. |
30 |
> |
31 |
> Finally, as posted elsewhere, it's also possible to start with a stage |
32 |
> tarball once again as a known good starting point, then emerge -- |
33 |
> emptytree @system to get back to a current system. This is sort of the |
34 |
> equivalent of an OS reinstall on other OSs/distributions and it works |
35 |
> quite well. Of course, it helps if you make a backup of your /etc before |
36 |
> you do it, so you can quickly recover overwritten config files. |
37 |
> |
38 |
> So there's ways to downgrade glibc. You just have to be smarter than the |
39 |
> child-safety-locks portage has in place to prevent you from doing it |
40 |
> inadvertently and breaking a system further, as doing so after remerging |
41 |
> a bunch of packages thus linking them to the new glibc might do. But if |
42 |
> you have a backup to operate from if necessary, you don't have to worry |
43 |
> so much about breaking a system which is probably already partially |
44 |
> broken or you'd not be having to worry about downgrading glibc. |
45 |
|
46 |
Well, this is why I actually love Linux: you still have control over |
47 |
your system, no matter what happened. But.. the downside is that you |
48 |
need to know how things work :-) For the moment, I have chosen the |
49 |
most easiest way: |
50 |
|
51 |
sys-apps/portage |
52 |
app-admin/eselect-news |
53 |
app-admin/eselect |
54 |
|
55 |
added to package.keywords. That went smooth and everything seems to |
56 |
work again (altough it adds the number of masked packages, which is a |
57 |
risk). But.. I should now keep an eye on the development of glibc and |
58 |
portage (etc.) packages so I can get back to the stable tree again? |
59 |
Can it take months before gcc 4.3 and glibc 2.8 are stable? |
60 |
|
61 |
Martin |