[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

FAQ: recovering from a failed libc6 upgrade

Here is how I finally fixed my 712 from the failed libc6 upgrade.  There was a
lot of trial and error, but the following procedure should work, at least in
some cases:

1) Boot from the installation CD.  It is selected from the boot console as:

bo scsi.X.0

...where the X should the the CD drive's SCSI ID.

2) Perform these 3 steps, from the installation menu (skip other steps):  

i.	select keyboard, 
ii.	mount swap, 
iii.	mount root.

3) Switch to virtual console 2 (Control-Alternate-F2) and press Enter to open
the command line interface.

4) cd /target/lib

5) rm libc.so.6 libpthread.so.0

6) Assuming the previous version of libc installed was 2.5.5, type:

ln -s libc-2.5.5.so libc.so.6

7) chroot /target

8) libpthread is provided either by libdb1-compat or libc6, depending on the
version.  In any case, some surprisingly basic utilities like 'ls' need it.

ln -s /lib/libpthread-0.9.so /lib/libpthread.so.0

9) Reboot. You might still get a few complains about missing dynamic libraries,
during the launching for some daemons. Just ignore them for now.

10) Login at the console and use an FTP client to fetch the previous versions of
libc6, libc6-dev and libdb1-compat that were in use until the failed upgrade.

11) Use dpkg -i [package1 package2 package3] to manually install them.

Reboot one last time, just to be safe, and pay attention that no library-related
error message remains.   If that worked, you're finally in the clear.

Martin-Éric Racine
"Kas sa tahad mind? - Nej!!! Är du en idiot?!!"
Tallinn, Eesti;
Espoo, Suomi. 

Reply to: