误删除libc.so.6后的修复 /lib/libc.so.6 -> libc-2.3.6.so(系统中本来的样子)
然后
libc-2.3.6.so 被误改名成了 libc-2.3.6.so.bak
这时,系统中ls, mv ,ln 等等命令已经不能使用了
# LD_PRELOAD=<real libc> ln ......
相当于直接调用 ln命令,
所以,
先删除连接 :
# cd /lib
# LD_PRELOAD=/lib/libc-2.3.6.so.bak rm libc.so.6
再建立新连接 :
# LD_PRELOAD=/lib/libc-2.3.6.so.bak ln -s /lib/libc-2.3.6.so.bak libc.so.6
搞定,
运气好的是,出问题后,我没有关机,这个库也是被改名的,不是被删除的,
然后
libc-2.3.6.so 被误改名成了 libc-2.3.6.so.bak
这时,系统中ls, mv ,ln 等等命令已经不能使用了
# LD_PRELOAD=<real libc> ln ......
相当于直接调用 ln命令,
所以,
先删除连接 :
# cd /lib
# LD_PRELOAD=/lib/libc-2.3.6.so.bak rm libc.so.6
再建立新连接 :
# LD_PRELOAD=/lib/libc-2.3.6.so.bak ln -s /lib/libc-2.3.6.so.bak libc.so.6
搞定,
运气好的是,出问题后,我没有关机,这个库也是被改名的,不是被删除的,
这个故事教导我们,一定不要乱搞系统的库,有什么比较危险的动作时,一定做好备份
本文转自gaodi2002 51CTO博客,原文链接:http://blog.51cto.com/gaodi2002/1618129