意外删除的符号链接libc.so.6在centos6.4.如何获得sudo特权来重新创建它



我不小心删除了带有的符号链接/lib64/libc.so.6->/lib64/libc-2.12.so

$ 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

这是一个远程服务器,所以我不能使用活动CD。我现在有一个活动的ssh-bash会话,但不能建立新的会话。我有sudo权限,但没有root密码。

所以目前我的问题是,我需要运行sudo sln -s libc-2.12.so libc.so.6来重新创建符号链接libc.so.6,但如果没有libc.so.6,我就无法运行sudo

我该怎么修?感谢~

我通过使用服务器/sbin中已经存在的静态链接版本"ln"解决了这个问题。

例如,这为我的配置恢复了它:/sbin/sln/lib64/libc-2.5so/lib64/libc.so.6

有点尴尬:)但这也发生在Ubuntu 12.04.3上(这不是CentOS 6.4,但我认为这可能仍然有帮助)。

因为我的Ubuntu无法启动,我用liveUSB启动,然后安装硬盘并创建符号链接(我确实有文件本身libc-2.15.so),就这样完成了。

只是一些具体细节:

  1. 我请一个好朋友用他的电脑半个小时
  2. 我从这里下载了我的Ubuntu iso(12.04.3,如果你在上的话;y缺少符号链接,它可能是任何版本,以至于可以安装驱动器):链接
  3. 我确保他的Ubuntu有usb创建者gtk($ sudo apt-get install usb-gtk-creator,我相信Windows有一个等效的usb引导创建者)
  4. 使用usb创建者gtk创建liveUSB
  5. 用它启动了我的计算机(您可能需要更改BIOS设置,以允许首先启动外部USB)
  6. 一旦我从实时USB启动,我就通过运行Ubuntu分区工具(实时USB有一个)来确定我的硬盘分区在哪里——我的分区类型是ext4,在/dev/sdb1
  7. 我先安装$ mkdir /home/ubuntu/mnt,然后安装$ sudo mount-t ext4 /dev/sdb1 /home/ubuntu/mnt
  8. 然后我转到文件夹$ cd /home/ubuntu/mnt
  9. 然后,我从那个位置通过$ sudo ln -s lib/x86_64-linux-gnu/libc-2.15.so lib/x86_64-linux-gnu/libc.so.6创建了符号链接

重启后我表现不错。

希望它能帮助你(或某人…)

我会在@wilfo answer中添加更多内容,因为我也发生了同样的事情[意外删除了lib.so.6,并且在启动时得到/sbin/init缺少libc.so.6]。在windows中创建liveUSB后(使用UNetbootin等[http://unetbootin.sourceforge.net/])或者像@wilfo建议的那样在ubuntu中。从liveUSB启动时,我选择了"体验ubuntu而不安装它",并很高兴在第6步之前应用wilfo的方法,然后我找不到ext3/4类型的硬盘分区。所有的都是nftf/脂肪/扩展的东西。

因此,我通过以下链接恢复了以前的ubuntu(缺少libc.So的那个…)https://help.ubuntu.com/community/Boot-Repair

确保遵循所有必要的步骤并备份您的ubuntu分区。您可以在/mnt/boot sav/wubi1/home中查看以前的ubuntu文件从这里备份到您的windows部件/mnt/boot sav/sda。。。按照这里的剩余步骤https://help.ubuntu.com/community/Boot-Repair

最新更新