在我们的服务器中,指向的符号链接libc.so.6已被删除。现在,系统中的所有二进制文件都不起作用。为了解决这个问题,我尝试:
libc.so.6
/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
正如预期的那样,这给了我:
/bin/ln: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
我也尝试过:
/lib/ld-linux-x86-64.so.2 --inhibit-rpath /lib/libc.so.6 \ --library-path /lib/libc-2.11.3.so \ /bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
结果相同。进一步失败的尝试包括cp,mv,cat。
我通过ssh连接,并且我相信关闭该会话后将无法打开另一会话。有没有办法修复此系统(也许使用bash内置)?
[ 编辑 ]我所做的:
while read line; do echo $line; done < /lib/libc-2.11.3.so > libc.so.6
复制文件并尝试使用:
/lib/ld-linux-x86-64.so.2 --inhibit-rpath libc.so.6 --library-path . \ /bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
并得到:
/bin/ln: error while loading shared libraries: ./libc.so.6: ELF file OS ABI invalid
您可以简单地运行ldconfig。大多数发行版都将其作为静态二进制文件提供。
ldconfig