unbelievably stupid mistake - i broke /usr/lib need help

Robin Laing Robin.Laing at drdc-rddc.gc.ca
Fri Jan 6 14:13:13 UTC 2006


Alastair McKinley wrote:
> Sam Varshavchik wrote:
> 
>> You can try installing FC4 on another machine, and copy the librpm .so 
>> file from there. You will not be able to do anything, NOTHING, not 
>> rpm, not yum, until this is fixed.
>>
>> But, that's just the beginning.  What you basically have to do:
>>
>>  
>>
>> 1) Run "rpm -q -a -l", which is going to spit out every file installed 
>> by every package you have supposedly installed. 2) If you're fairly 
>> certain that you only broke /usr/lib, grep the file list for 
>> "/usr/lib", then hack up a short script to check if each file still 
>> exist, and spit out the exact list of missing files.
>>
>> 3)  Use "rpm -q -f" to find out which packages they belong to.
>>
>>  
>>
>> 4) Make sure you have these RPMs available, and "rpm -e --force" each 
>> one, followed by "rpm -i nodeps" to reinstall it.
>>
>> 5)  Finally run ldconfig.
>>
>>  
>>
>> That should fix this, but it's probably easier to just chalk it up to 
>> experience, and reinstall. If it's of any consolation, at least you 
>> didn't wipe /lib, with the standard C runtime library. That would've 
>> been a double-boner (actually, at least a quadruple-boner, on the 
>> Richter scale),
> 
> 
> 
> Thanks for the advice Sam.  I managed to get the rpms downloaded on to 
> my desktop, extracted them and I kept on replacing dependencies until 
> rpm came alive again.
> I'll try something like what you have suggested soon.
> 
> 
>> I have a sneaky suspicion that you were trying to either install or 
>> uninstall some external software package manually, without building 
>> RPMs. That's the only reason I can think for screwing around in 
>> /usr/lib, as root. And this is just one of the reasons why you should 
>> never install various warez directly, manually, and you should always 
>> use rpm. And if the warez doesn't come with a suitable rpm, then build 
>> one yourself. The only reason for su-ing to root is to "rpm -i" the 
>> freshly-built RPMs.
> 
> 
> 
> I feel like I should try and explain myself for this one! 
> I was playing around with installing linux on my ipaq.  Its a h2200 and 
> the linux port is nearly finished but not quite there. I had the root 
> file system on an SD card mounted at /media/usbdisk1
> 
> I needed to wipe the partition and install a new rootfs.  In order to 
> delete files owned by root, I needed to be root.
> Something refused to delete in /usr/lib (on my SD card, i.e 
> /media/usbdisk1/usr/lib).
> 
> So I'm at /media/usbdisk1 and I meant to type cd ./usr/lib, but I 
> actually typed cd /usr/lib.
> 
> And then the final mistake: rm -rf ./*
> 
> I wondered for a second why it was taking so long as its a very small 
> root file system.  Then I realised, I hit crtl-c but I was way too late.
> 
> I think I've learned my lesson.
> 
> 
> Alastair
> 

The first time I used "su -" I ended up wiping out my /root/* 
directory.  I have done it once since as well.  Since I really don't 
use root anymore, it was no loss.

It is so easy to be distracted by someone coming into the office or a 
kid grabbing onto your leg.  :)  Or it being 3:30 in the morning when 
you have to get up at 5:30.




More information about the fedora-list mailing list