【发布时间】:2013-06-27 13:27:03
【问题描述】:
我不小心删除了符号链接 /lib64/libc.so.6 -> /lib64/libc-2.12.so with
$ sudo rm libc.so.6
然后我不能使用任何东西,包括ls 命令。我输入的任何命令都会出现错误
ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
我试过了
$ export LD_PRELOAD=/lib64/libc-2.12.so
之后我可以使用ls和ln ...,但仍然不能使用sudo ln ...或sudo -E ln ...。我总是犯这个错误
sudo: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
这是一个远程服务器,所以我不能使用 Live CD。我现在有一个 ssh bash 会话,但无法建立新会话。我有 sudo 权限,但没有 root 密码。
所以目前我的问题是我需要运行sudo sln -s libc-2.12.so libc.so.6 来重新创建符号链接libc.so.6,但是如果没有libc.so.6,我就无法运行sudo。
我该如何解决?谢谢~
【问题讨论】:
-
@OlegMikheev 不,
$ su或$ sudo su -
也许你可以尝试从另一台机器上 scp 相同版本的 libc.so.6 到你的机器上......
-
从不同的映像(可能是 Live CD)启动。出于所有意图和目的,您将无法运行任何命令,直到您返回
libc.so.6,因此您必须找到一种运行 O/S 的方法,以允许您替换符号链接。您不必安装操作系统;你只需要运行它足够长的时间就可以挂载你的普通操作系统的根文件系统并修复符号链接。 -
@JonathanLeffler 我什至无法获得 sudo 权限来重新启动机器......
-
@rakib 是,但不是 root 拥有的文件