[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