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

Bug#741031: how I solved the problem for myself



I got down to try to study the issue, which as expected seems to be
linked to libc6-amd64, which should be useless on an amd64 system yes it
is installed on mine and now badly broken.

I made some tests on a chroot over unionfs and at last I managed.  This
is the recipe.

First, you should install the union file system utilities:

# aptitude install aufs-tools

this obviously will fail on a broken system, but you should be able to
install it forcibly:

# dpkg --force-depends -i /var/cache/apt/archives/aufs-tools_1%3a3.2+20130722-1.1_amd64.deb

If you got to this point, we can start:

# mkdir /test /home/testchanges
# mount -t aufs -o br=/home/testchanges:/ none /test
# chroot /test
# mount -t proc proc /proc
# rm /var/lock; mkdir /var/lock

Let's go on and clean the system:

# LD_LIBRARY_PATH=/lib/x86_64-linux-gnu/ dpkg -i /var/cache/apt/archives/libc6_2.18-4_amd64.deb 
# LD_LIBRARY_PATH=/lib/x86_64-linux-gnu/ apt-get autoremove
# LD_LIBRARY_PATH=/lib/x86_64-linux-gnu/ aptitude purge libc6-amd64:i386 lib64stdc++6:i386 lib64gcc1:i386

At this point my (chrooted) system is recovered.  Just try any command
at the prompt to verify that it does not dump core while loading, and
it's done.  If the last three commands are not the right thing to do on
your system, you should experiment in the chroot: just do

# exit

and restart form topo after removing the unionfs chroot environment:

# umount -l /test
# rm -r /test /home/testchanges

However, this serves only to know what are the correct commands to give
(in my case, dpkg followed by apt-get and aptitude).  If you try to do
this on a live system (as I did...) it will break after dpkg, because
that leaves unable to start a new process, yet installing libc6 does
something to init (I suppose it calls telinit U), and init crashes,
leaving you with a frozen system.

So, in order to apply the above sequence of three commands, you should
boot from a CD (or maybe the initramfs would do, I have not tried), and
then, after the usual

# mkdir /r
# mount /dev/whatever /r
# mount -o bind /sys /r/sys
# mount -o bind /dev /r/dev
# mount -o bind /proc /r/proc

you do the unusual

# LD_LIBRARY_PATH=/r/lib/x86_64-linux-gnu/ chroot /r /bin/bash

and execute the commands above:

# dpkg -i /var/cache/apt/archives/libc6_2.18-4_amd64.deb 
# apt-get autoremove
# aptitude purge libc6-amd64:i386 lib64stdc++6:i386 lib64gcc1:i386

Remember that these were the three commands that worked for me, you
should experiment in the chroot first.

Good luck!


P.S.  the bug however is still there!

-- 
Francesco Potortì (ricercatore)        Voice:  +39.050.621.3058
ISTI - Area della ricerca CNR          Mobile: +39.348.8283.107
via G. Moruzzi 1, I-56124 Pisa         Skype:  wnlabisti
(entrance 20, 1st floor, room C71)     Web:    http://fly.isti.cnr.it


Reply to: