你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux下的lib文件故障解决实例

[日期:2017-05-04] 来源:Linux社区  作者:xjsunjie [字体: ]

说到这个LIB文件,先从一个小故障说起。某日开发说,一台测试用虚机可以PING通SSH不能连了。运维同学就赶紧去查,SSHD_CONFIG配置文件都正确啊,一点错误都没有,那为什么呢?

测试下,不管连自己还是其他机,都是报错

Linux下的lib文件故障解决实例

这里注意看,提示你有个libcom_err.so.2共享库文件找不到。

询问开发,才了解他们测试一个软件,意外删除了某个库文件。

那么在正常的相同虚机的机器查看下,再和出错的虚机比对下,发现少了2个库文件

Linux下的lib文件故障解决实例

挂载系统光盘或从正常的虚机上把这个两个文件拷贝过来,放到lib64下就可以了

再试正常了

Linux下的lib文件故障解决实例

这个小故障很容易解决,那么你怎么理解Linux中的库文件呢?学习下也不误工作。

Linux下的库文件分为共享库和静态库两大类,它们两者的差别仅在程序执行时所需的代码是在运行时动态加载的,还是在编译时静态加载的。 

Linux的库一般在/lib 或/usr/lib 目 录下,如果是64位的系统则会有lib64目录。lib是库(Library)的英文缩写,它主要存放系统的链接库文件,没有该目录则系统就无法正常运行。/lib目录中存储着程序运行时使用的共享库。通过共享库,许多程序可以重复使用相同的代码,并且这些库可以存储在一个公共的位置上,因此能减小运行程序的大小。这个目录包含程序在链接时使用的 各种库。

库的知识

1.库的命名


库的命名比较简单,第一个特点是所有的库以lib开头,GCC命令在在-l选项所指定的文件名前会自动加入lib。

第二个特点文件名以.a结尾的库是静态库。

第三个特点文件名是.so的库为共享库(共享库是在运行的时候动态加载的 )。默认情况下,GCC在链接时优先使用共享库,只有当共享库不存在时才考虑使用静态库。 

2、库的编号

库的编号格式如下: 

library_name .major.num .minor_.min .pathch_num 
例如,笔者Red Hat Linux 9.0的GUN数据库是libgdbm.so.0.0.2,详细表述如下:

◆library_name是libc.so(标准C库);

◆major_num是2(主版本号);

◆minor_.min是0(次版本号);

◆pathch_num是0(补丁级别号又称发行号)。

完整PDF文档可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017年资料/5月/4日/Linux下的lib文件故障解决实例/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-05/143444.htm

linux
相关资讯       Linux lib文件 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款