在CentOS 6.4中意外删除了符号链接libc.so.6。如何获得sudo特权重新创建它?

时间:2013-06-30 04:56:50

标签: linux centos

我不小心删除了符号链接/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

在此之后我可以使用lsln ...,但仍然无法使用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

我该如何解决?感谢〜

3 个答案:

答案 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)并且就这样做了。

只是一些具体细节:

  1. 我让一位好朋友用他的电脑半小时
  2. 我从这里下载了我的确切Ubuntu iso(12.04.3,如果你已经开始了;你错过了符号链接,它可能是任何版本,它可以安装驱动器):link
  3. 我确定他的Ubuntu有usb-creator-gtk($ sudo apt-get install usb-gtk-creator,我确信Windows有一个等效的USB启动创建者)
  4. 使用usb-creator-gtk
  5. 创建了liveUSB
  6. 用它启动我的电脑(您可能需要更改BIOS设置以允许首先启动外部USB)
  7. 一旦我从现场USB启动,我通过运行Ubuntu分区工具(实时USB有一个)来计算我的硬盘驱动器分区 - 我的类型为ext4并且在/dev/sdb1
  8. 我通过执行$ mkdir /home/ubuntu/mnt然后$ sudo mount-t ext4 /dev/sdb1 /home/ubuntu/mnt
  9. 来安装它
  10. 然后我继续前往该文件夹$ cd /home/ubuntu/mnt
  11. 然后,我从该位置创建了$ sudo ln -s lib/x86_64-linux-gnu/libc-2.15.so lib/x86_64-linux-gnu/libc.so.6
  12. 的符号链接

    重启后我很好。

    希望它可以帮助你(或某人......)

答案 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