Reputation: 96
I've been using centos 6.5. And after I used the yum to update my glibc.
yum update glibc
I found that my "yum" command as well as my "python" command will throw error as follows:
I' ve tired other shell commands like: ls ll ln rm mv etc. Those commands are working normally. When I check my libc link, the result are as follows:
Additionally, I have tried to print my libz config using
ldconfig -v|grep libz
The result will be as follows:
I was wondering why this may happen. And I really need your guys help to solve this problem.
What's more, my 'gdb' will throw this error too. When I use 'dmesg' command, I got the message as follows:
Upvotes: 3
Views: 6043
Reputation: 33747
CentOS 6 is based on glibc 2.12. The symbolic link points to glibc 2.16, so you tried to install a glibc package which is not part of the operating system. This has corrupted the system, likely beyond repair. You will jave to reinstall it and restore the data from backup.
Avoid reinstallation is a complex operation. You need to make sure that you still have all the files for glibc 2.12 (with names ending in -2.12.so
). Then you can delete the glibc 2.16 files (those ending in -2.16.so
), with a single rm
invocation. (The single rm
invocation is necessary because rm
will stop working once you start deleting the glibc 2.16 files.) After that, you can run ldconfig
to get back the right symbolic links.
You could also try to use sln
or ln -sf
to fix the symbolic links manually, but you will have to remove the glibc 2.16 files at one point. Until you do the latter, every ldconfig
invocation will bring back the glibc 2.16 symbolic links. And ldconfig
is run automatically during package installation, so this can happen quite easily by accident.
Upvotes: 2