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

Sam Varshavchik mrsam at courier-mta.com
Thu Jan 5 23:42:22 UTC 2006


Alastair McKinley writes:

> 
> Thanks for the advice Robin.
> 
> Now I've just discovered rpm is broken. Missing dependency is 
> librpm-4.4.so or something.

You're boned.

> Could I maunally reinstall libraries to get rpm working again and then 
> try that?

Although it is possible to salvage this situation, it's going to be rather 
complicated.  I think it would be faster for you to recover from backups, or 
reinstall.

Or, if you can wait, wait for FC5 to come out, download it, run its 
installer, and try upgrading your existing system.  This should get you back 
into a usable status.

> If this is possible where could I get the right copy of the shared 
> libraries?

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),

> I dont have the install discs anymore, the sysadmin installed it, so I'm 
> downloading the fc4 iso's now just incase they might help.

It'll help you with grabbing the rpm files you need to reinstall, but that's 
about it.  And you can't do nothing until you manually restore the missing 
rpmlib file.

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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20060105/260adb09/attachment-0001.sig>


More information about the fedora-list mailing list