Linux操作系统中,每个软件在运行时通常都会调用库文件。而不同的软件之间,也会调用彼此的库文件来进行特殊操作。因此,库文件在Linux中是一个很重要的概念。
Linux库文件包括两种,动态库文件和静态库文件。动态库文件没有被编译到程序内部,而是通过路径指向来实现调用,通常是当程序需要调用库文件时才会去特定路径下取。而静态库文件则是被编译到程序内部的库文件,由此也造成了这两种库文件在升级时的差异。动态库文件升级后,执行档不需要升级即可调用(前提是升级前后库文件名称以及路径相同);而静态库文件升级后,所有调用了该库文件的程序都需要重新编译。
库文件存储的位置:/usr/lib,/lib
Ldconfig的使用:
Ldconfig用于将动态库文件读入高速缓存,同时记录一份在快取暂存文档/etc/ld.so.cache中,以方便调用。为此,要将想要被读入高速缓存的动态函式库的路径填入档案/etc/ld.so.conf中。
常用选项:
ldconfig [-f conf] [ -C cache]
ldconfig [-p]
-f:修改动态函数库的取得路径,不加选项时默认是/etc/ld.so.conf
-C:修改快取暂存位置为cache,不加选项时默认是/etc/ld.so.conf
-p:列出目前快取中的资料,从/etc/ld.so.conf中读取。
Ldd的使用:
查询某个binary档案使用了哪些动态库文件,可以查看软件相依性
常用选项:
ldd [-vdr] [filename]
-v :列出所有内容信息;
-d :重新显示将资料有遗失的 link 点
-r :显示与 ELF 有关的错误内容