centos7 由于本来的glibc支持版本比较低,需要升级,但是后来遇到很多不兼容的问题,于是作罢。但是导致很多问题,把自己遇到的问题和解决方法分享下,遇到这种问题千万不能重启,不然系统无法启动。
首先一旦删除了 /lib64/libc.so.6或者指向不兼容的libc的版本, 那么执行其他的命令都会报错 ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory。
解决方法,删除原来指向错误的文件,重新指向原来的版本。
-
LD_PRELOAD=/lib64/libc-2.17.so rm -rf /lib64/libc.so.6
-
LD_PRELOAD=/lib64/libc-2.17.so ln -sv /lib64/libc-2.17.so /lib64/libc.so.6
问题二 数据库(或者其他应用)无法启动了,等了半天出来个 显示超时查看日志
[system] Failed to activate service ‘org.freedesktop.PolicyKit1’: timed out , polkit这个服务依赖的glibc有问题,polkit无法启动。解决方法 替换glibstdc++ 版本
-
rm -rf /lib64/libstdc++.so.6
-
ln -sv /lib64/libstdc++.so.6.0.19 /lib64/libstdc++.so.6
systemctl daemon-reload
systemctl restart polkit.service
systemctl start mysqld
搞定,主要原因还是 /lib64/libc.so.6 和/lib64/libstdc++.so.6不存在或者指向版本不正确,需要用上面的方法修改.如果使用上面方法还报错就执行 ldconfig 重新加载库文件.
阅读(2041) | 评论(0) | 转发(0) |