我不小心删除了符号链接/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
,但是如果没有sudo
我就无法运行libc.so.6
。
我该如何解决?感谢〜
答案 0 :(得分:2)
我通过使用服务器/ sbin中已经存在的“ln”的静态链接版本解决了这个问题。
例如,这为我的配置恢复了它: / sbin / sln /lib64/libc-2.5.so /lib64/libc.so.6
答案 1 :(得分:0)
有点尴尬:)但它也发生在 Ubuntu 12.04.3 (这不是CentOS 6.4,但我认为这可能仍然有用)。
因为我的Ubuntu无法启动,所以我使用了liveUSB启动,然后安装了我的硬盘并创建了符号链接(我确实拥有了文件本身libc-2.15.so
)并且就这样做了。
只是一些具体细节:
$ sudo apt-get install usb-gtk-creator
,我确信Windows有一个等效的USB启动创建者)ext4
并且在/dev/sdb1
$ mkdir /home/ubuntu/mnt
然后$ sudo mount-t ext4 /dev/sdb1 /home/ubuntu/mnt
$ cd /home/ubuntu/mnt
$ sudo ln -s lib/x86_64-linux-gnu/libc-2.15.so lib/x86_64-linux-gnu/libc.so.6
重启后我很好。
希望它可以帮助你(或某人......)
答案 2 :(得分:0)
我会在@wilfo回答中添加更多内容,因为同样的事情也发生在我身上[意外删除lib.so.6并且在启动时让/ sbin / init缺少libc.so.6]。 在Windows中创建liveUSB(使用UNetbootin等[http://unetbootin.sourceforge.net/])或在ubuntu中创建@wilfo建议。 从liveUSB启动,我选择“体验ubuntu而不安装它”,很高兴应用wilfo的方法直到第6步,然后我找不到我的类型为ext3 / 4的硬盘分区。所有都是nftf / fat / extended。
所以我通过以下链接恢复了以前的ubuntu(缺少libc.so的那个...) https://help.ubuntu.com/community/Boot-Repair
确保遵循所有必要步骤并备份您的ubuntu分区。 你可以在/ mnt / boot-sav / wubi1 / home中看到你以前的ubuntu文件 从这里备份到你的windows partations / mnt / boot-sav / sda ... 并按照此处的剩余程序https://help.ubuntu.com/community/Boot-Repair