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

Bug#640872: Acknowledgement (libc6: upgrade fails to mv /lib64.eglibc-new to /lib64; leaves system unusable)



Here's a work-around for anyone who can't boot because of this bug.

Boot into GRUB and edit your kernel command line to add break=init.
This should drop you to your initramfs.  Your root partition should be
mounted read-only on /root, which should allow you to verify that
lib64 is gone, but that you have a lib64.eglibc-new.  You'll need to
remount /root read-write using
  (initramfs) mount -o remount,rw DEVICE /root
where DEVICE is your root device.  If you don't happen to remember
what your root device is,
  (initramfs) mount -t proc proc /proc
  (initramfs) cat /proc/mounts
In theory, you shouldn't have to specify DEVICE for a remount, but it
didn't work for me.  Finally,
  (initramfs) cd /root
  (initramfs) ln -s lib64.eglibc-new lib64
After this you should be able to boot your system.

The presence of lib64.eglibc-new will cause the libc6 package to fail
to unpack.  When my system was back up, I did
  $ cp -ra lib64.eglibc-new lib64.tmp
  $ ln -sfn lib64.tmp lib64
After which I could safely remove lib64.eglibc-new.  I advise keeping
a root shell around while messing with this.  If you lose lib64 again,
you can still run commands in it using something like
  $ /lib64.tmp/ld-linux-x86-64.so.2 /bin/ls



Reply to: