[arch-general] Broke my system again - device-mapper & readline conflict - best way to fix?
baho-utot at columbus.rr.com
Sat Jul 11 19:43:51 EDT 2009
On Sat, 2009-07-11 at 14:20 -0500, David C. Rankin wrote:
> On Friday 10 July 2009 08:41:36 pm Baho Utot wrote:
> > On Fri, 2009-07-10 at 19:26 -0500, David C. Rankin wrote:
> > > Listmates,
> > >
> > > I have more fun in store for this weekend. After testing dmraid-1.0.0rc15, I had downgraded a number of packages that were installed from testing back to there normal versions but had left dmraid-1.0.0rc15 and device mapper from testing. Everything was working fine.
> > >
> > > Apparently some packages were moved from testing to extra or another normal repo because all of a sudden I began getting readline...so.6 error (from memory) on boot and was dumped into maintenance mode. In maintenance mode, I remounted to root filesystem rw and then mounted all the partitions and ran pacman -Sy readline (testing is disabled)
> > >
> > > After installing the latest readline, my box will not boot. I now gives a readline...so.5 error and never gets to maintenance mode. My question is "What is the best way to try and recover?"
> > >
> > > I have two options to work on the archlinux install:
> > >
> > > (1) the machine is dual boot with openSuSE so I can boot to suse and then mount the Archlinux filesystem (rw) under /mnt/arch. I'm not sure what I can do here unless there is a way for me to manually unpack some pacman packages and overwrite the problem files on the Arch install in this configuration; or
> > >
> > > (2) boot using the Arch install disk. Here is where I'm a little lost on the recovery procedure. I can manually assemble my raid array after booting to the install disk, but then what next? How would I go about reinstalling the various packages from either testing or extra when I have booted from the install disk?
> > >
> > > Thus my need for help. What say the experts? How best to go about fixing the device-mapper readline conflict?
> > >
> > I am using bash as my shell and I was bitten by this bed bug as well.
> > This is how I fixed it....
> > Fetch bash from an archlinux repos
> > put the bash package some place where you can get to it
> > boot from arch install/live cd
> > chroot to the broken system
> > pacman -U bash......
> > reboot
> Baho, all:
> Err.. My system is still broken and I can't figure out how to get around the readline error. I should have thought about this before going through the trouble of trying to set up the chroot to install bash, but the error I get when I try to execute chroot is thee *same* error I was getting when I tried to boot the system anyway. To try and recover, I booted from the install CD and then logged in as root. Here is how I set up to create the chroot environment and the error I received:
> modprobe dm_mod
> modprobe sata_sil (or whatever chipset driver you need)
> dmraid -ay
> mkdir -p /mnt/rscu
> mount /dev/mapper/nvidia_ecaejfdi5 /mnt/rscu
> mount /dev/mapper/nvidia_ecaejfdi6 /mnt/rscu/boot
> mount /dev/mapper/nvidia_ecaejfdi7 /mnt/rscu/home
> mount /dev/mapper/nvidia_ecaejfdi9 /mnt/rscu/var
> mount /dev/mapper/nvidia_ecaejfdi10 /mnt/rscu/srv
> cd /mnt/rscu
> mount -o bind /dev dev
> mount -o bind /proc proc
> mount -o bind /sys sys
> chroot .
> The error message:
> /bin/bash: error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory
> How do I get around the libreadline error?
Ok We try again:
We shall try to restore manually linreadline.so.5 so the system will
boot the live/install cd
do a whereis libreadline.so.5 so we know we have the right one.
If found mount the broken drive and copy to /lib like this:
for example mount the broken system to /mnt
then copy libreadline.so.5 to /mnt/lib
as root or use sudo
mount /dev/sdx /mnt
copy /lib/libreadline.so.5 /lib/libreadline.so /mnt/lib
reboot to see if that works
What this does is to "install" libreadline.so.5 to the broken system
If after booting and no errors on boot, then you can update to the
"proper readline and bash by
pacman -Syy; pacman -S readline bash
As far as I know that will reinstall bash/readline to the current ones
and you shouldn't have any more fun with those ;)
More information about the arch-general