In our server the symbolic link to libc.so.6
has been deleted. Now none of the binaries in the system work. To fix this, I tried:
/bin/ln -s /li
If you had done an ls command previously and know what the version of the libc is,
ldconfig -l -v /lib64/libc-2.x.so
where x
is your version works. Note that it could be a lib64 or lib depending on your version.
I just did this and it worked.
In short, never delete the link. Bad idea.
Note, for 64 bit:
LD_PRELOAD=libc-2.13.so ln -s libc-2.13.so libc.so.6
This worked great for me
If you are not in that directory of course it will be something like:
LD_PRELOAD=/lib/x86_64-linux-gnu/libc-2.13.so ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib/x86_64-linux-gnu/libc.so.6
You could simply run ldconfig
. Most distributions ship this as a static binary.
This helped in my case (the actual version depends on your library):
ldconfig -l -v /lib/libc-2.13.so
If you are using Ubuntu, ldconfig won't work. Just run:
/sbin/ldconfig.real
Thanks you very much for below answer. It worked well with root ID.
We unlink libc.so.6
to link with higher version but suddenly after unlink libc.so.6 server become unresponsive. ln -s
command was not working. No other users were able to ssh to server. But when we ran below command it worked. (with libc version exist on server) server started to behave normally.
Below one is correct command and life saving too....
LD_PRELOAD=/lib/libc-2.17.so ln -s /lib/libc-2.17.so /lib/libc.so.6
Note: The actual version depends on your library