Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Take a look at this: http://i.imgur.com/qkM57v6.png

I renamed the file accidentally to "l" and I have no idea what it was in the first place.

Please help, any idea? It's sorted by name, and I am 99% sure it started with an L, most likely lib....

And FYI: Undo was not available for this action.

Here's some code as requested:

[root@server ~]# file /usr/bin/* | grep "32-bit"
/usr/bin/gdk-pixbuf-query-loaders-32:     ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
/usr/bin/gtk-query-immodules-2.0-32:      ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
/usr/bin/mbchk:                           ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, stripped
/usr/bin/pango-querymodules-32:           ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped

3:55pm Update:

[root@server ~]# rpm -qa | grep -i lsb
redhat-lsb-4.0-2.1.4.el5
redhat-lsb-4.0-2.1.4.el5


[root@server ~]# rpm -ql redhat-lsb-4.0-2.1.4.el5 | grep "/lib"
/lib/ld-lsb.so.3
/lib/lsb
/lib/lsb/init-functions
/usr/lib/lsb
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd
/lib/lsb
/lib/lsb/init-functions
/lib64/ld-lsb-x86-64.so.3
/usr/lib/lsb
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd
share|improve this question
    
Did you do it through a terminal? If so, have you tried checking the history command to see what you did mv x l? –  nerdwaller Feb 21 '13 at 20:14
    
@nerdwaller unfortunate no, it was through the GUI with SSH Secure Shell, the same one shown in that img. –  Shackrock Feb 21 '13 at 20:15
    
OK, you can run mbchk -v. If it works it will tell you its version. So let's hope it will not work :-) –  lserni Feb 21 '13 at 20:33
    
[root@server ~]# mbchk -v mbchk (GNU GRUB 0.97) Another buddy asked to run this command, take a look: [root@server ~]# diff /lib/ld-2.5.so /lib/l [root@server ~]# (nothing happened with that one) –  Shackrock Feb 21 '13 at 20:35
1  
Yes, I concur. Sorry for the delay, I had to grab some calories :-) –  lserni Feb 21 '13 at 21:54

2 Answers 2

up vote 1 down vote accepted

It is a symbolic link, and probably to ld-2.5.so (note the same date and file size as ld-linux).

If you can get hold of a CentOS somewhere, just run ls -la /lib | grep ld-2.5 and you will find some links, among which the one you are missing.

Not having a CentOS 5 available I can't say for sure, but possibly ld-lsb.so.2 or ld-lsb.so.3.

So first let's make sure you do have the lsb package installed.

$ rpm -qa | grep -i lsb

or $ sudo yum list installed | grep -i lsb

You should have something like "redhat-lsb" (or "something-lsb") in there. If you do, then list its contents and see what files does it have in "/lib".

$ rpm -ql nameofpackage | grep "/lib"

or $ repoquery --list nameofpackage

One of those should be /lib/ld-lsb-something. (If repoquery does not work, you need to install yum-utils: sudo yum install yum-utils first).

share|improve this answer
    
Just had a nice guy tell me to do ls -ls on the file lib/l and it reports: 0 lrwxrwxrwx 1 root root 13 Jan 17 00:12 lib/l -> ld-linux.so.2 that means that's the right name? –  Shackrock Feb 21 '13 at 20:19
    
No, that means that it is a symbolic link to the file I suspected, but it still doesn't say what the original file name was (which is the point of a symlink). But I've been searching and apparently CentOS has ld-lsb.so.2 support, so you should have a file reporting that size and date and called ld-lsb.so.2. From the file name ordered list, you don't. So it's almost sure that is the name you need. –  lserni Feb 21 '13 at 20:22
    
I think you're right, does this help? [root@server ~]# rpm -qil glibc | grep ld- /lib64/ld-2.5.so /lib64/ld-linux-x86-64.so.2 /lib/ld-2.5.so /lib/ld-linux.so.2 and [root@server ~]# ls -la /lib | grep ld-2.5 -rwxr-xr-x 1 root root 130860 Jan 8 08:33 ld-2.5.so lrwxrwxrwx 1 root root 9 Jan 17 00:08 ld-linux.so.2 -> ld-2.5.so –  Shackrock Feb 21 '13 at 20:28
    
Unfortunately no, the loader (if it's the loader) is installed by the LSB package and not by the glibc one. But I hacked together a test to check if my guess is correct. –  lserni Feb 21 '13 at 20:31
    
Ok see above back to the question, which one should I use? I don't know what any of those do unfortunately –  Shackrock Feb 21 '13 at 20:32

It may be painful but try this. It should tell you about all files modified/missing from their original install (including config files).

rpm -qa --verify | grep missing

Hopefully you only have one lib file missing.

share|improve this answer
    
Why painful, just because it takes a while? –  Shackrock Feb 22 '13 at 12:21

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.