博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
libc.so.6加载出错
阅读量:6457 次
发布时间:2019-06-23

本文共 866 字,大约阅读时间需要 2 分钟。

    有时候我们在做一些操作的时候会不小心把libc.so.6这个文件进行误操作,导致一些简单的命令都不能够使用。比如我把这个文件改个名字:

或者有时候提示:“/lib//libc.so.6 error,file is too short”;这些都是这个文件的损坏造成的;

libc.so.6是几乎所有linux命令的动态链接库,其中有标准c的各种函数,不能轻易动。

其实还有一点大家比较容易忽视的是,libc.so.6这个文件只是libc-2.12.so(不同的版本这个文件的名称可能不一样)的一个链接:

Linux下的共享链接库主要放在/lib目录下,以lib*.so.*为典型的文件名。Linux下的共享链接库对于Linux非常重要,几乎所有的程序都要调用共享链接库,类似于Windows下的*.dll文件。 

    这里最easy的解决办法就是一条命令:#ldconfig,如果你有同名的libc.so.6,可以先删除之后再执行这条命令,要不然也不生效。实在不行就进救援模式,把光盘里的libc.so.6文件拷贝到系统的/lib/(或者/lib64)下:

例如在救援模式的shell下

#cp lib/libc.so.6 mnt/sysimage/lib/libc.so.6

  如果想进单用户模式是徒劳的,结果同样提示libc.so.6文件找不到!这是因为Linux调用共享链接库是在读取/etc/inittab文件之前进行的。Linux的启动首先要引导内核,然后进行设备检测,紧接着调用一个称为init的进程,该进程按照一定的规则,读取/etc/inittab文件的内容并且执行文件中的相关进程,指引系统进入某一特定的运行规则进程,也就是大家众所周知的6种模式。init进程首先调用共享链接库,由于共享链接库发生错误, 所以现在单用户模式也进不去,只有用启动盘和修复盘进入Linux的急救模式。

      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1529900,如需转载请自行联系原作者
你可能感兴趣的文章
4、数据表的创建与更新
查看>>
Hibernate3动态条件查询
查看>>
换一种生活方式
查看>>
linux和windows时间同步问题(UTC&localtime)
查看>>
asp.net正则表达式类的定义
查看>>
C#静态方法和非静态方法
查看>>
MySQL字符集的一个坑
查看>>
Apache Storm源码阅读笔记
查看>>
cmd批处理常用符号详解
查看>>
Oracle简易界面工具 (Oracle 10g, Oracle 11g)
查看>>
shell之脚本片断
查看>>
使用作业自动清理数据库日志文件
查看>>
【Java】 环境变量如何配置?
查看>>
使用一般处理程序HTTPHandler下载文件
查看>>
腾迅股票数据接口 http/javascript
查看>>
yii 创建步骤
查看>>
WPF ICommandSource Implementations Leak Memory!
查看>>
【原创】开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式
查看>>
地图投影——高斯-克吕格投影、墨卡托投影和UTM投影
查看>>
超级简单却不知道:html标签的嵌套规则
查看>>