误删libc.so.6解决方案
想编译点东西?想升级libc的库?然后装好libc的更高版本后想重新搞个连接?发现libc.so.6已经存在,就动了删掉它的念头?于是。。。你就在看这里了。
大兄弟,我明白你奔溃的心理,因为我也是那样奔溃,关键是自己对内核的掌握不够深,心里没底,就更加慌了,这可能是生长的毕竟之路。
----------------------------------------------为了写这篇,我再次删掉了那个可爱的libc.so.6文件。-------------------------------------------------------
----进入正题:
我还不是在主机上直接装的ubuntu,而是在VMware上安装的,所以我更奔溃。
我的ubuntu版本是16.04
libc.so.6信息:
我是打算升级到2.27,在删除前我就看到有人删除后的痛苦,我提前备份了,以为可以很简单复原,但是删除之后就懵了,不知道是不是碰到知己了?
删除后的症状:
重启也会失败。
我在第二次删除libc文件后试了网上说的:
LD_PRELOAD=/lib/libc-2.6.1.so ln -s /lib/libc-2.6.1.so libc.so.6
这个命令,当然我不是直接的搬过来,也改了文件路径和名字。然后并没有生效。不知道你是不是可行。
附:我查到的资料都是比较老的资料
我的做法:通过桌面版的ubuntu,将之前备份的文件导上去。我不能进入救援模式。
1、首先,编译虚拟机设置,通过镜像文件启动:
2、启动VMware的bios
在之下图中有选择 :打开电源是进入固件。
则进入了bios,非虚拟机的则可以通过F12(看各自情况进入bios)
选择:Boot,将CD-ROM优先级调高。F10启动。如图:
3、就开始了装机的界面,关掉这个界面。
通过可以打开文件系统看看以前的系统有没有挂载上,就是有没有红框文件。
查看挂载文件的路径:df(可能你需要打开一下之间的文件夹,系统会自动挂载上,才能看到路径):我的路径就是
/media/ubuntu/63.........205c
可以看看之前的内容还在不在,好让自己安心。
4、还原之前的文件。
然后有两种方法,我推荐使用第二种:
第一种将现在系统中的libc.so.6导到之前的文件目录下:
这种方法可能问文件没有连接,我第一次使用的这个方法可以开机,第二次失效。打开查看后,libc.so.6文件没有连接到之前的libc-2.27.so。
第二种是在之前问文件系统下重新建立链接。
cd到原系统的lib目录
然后 :sudo ln -s libc-2.27.so libc.so.6
之后重启就可以看到心心念念的老文件了。
希望可以帮到一起进步的你,如果解决了你的问题,你也可以点赞,评论,让更多人因此问题崩溃的人更大概率的看到这篇文章,也是一种帮助别人。