[arch-general] Broke my system again - device-mapper & readline conflict - best way to fix?
David C. Rankin
drankinatty at suddenlinkmail.com
Sat Jul 11 22:12:40 EDT 2009
On Saturday 11 July 2009 06:43:51 pm Baho Utot wrote:
> 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.
>
> 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 ;)
>
>
>
>
Thanks Baho,
The problem I was having was not knowing how to do the manual install outside the chroot. I aleady had all of the current packages on my Arch system waiting to be installed, but I didn't know how to use the -r option to pacman. I do now ;-) From openSuSE, I had mounted the arch partitions and copied /var/cache/pacman/pkg over from my laptop after my latest update. So the '-r' option was the last missing piece of the puzzle. (I know, another "forrest for the trees issue")
--
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com
More information about the arch-general
mailing list