LDCONFIG - Linux手册页

时间:2019-08-20 18:02:05  来源:igfitidea点击:

Linux程序员手册 第8部分
更新日期: 2020-06-09

名称

ldconfig-配置动态链接程序运行时绑定

语法

/ sbin / ldconfig [-nNvXV] [-f conf] [-C缓存] [-r根]目录...

/ sbin / ldconfig -l [-v]库...

/ sbin / ldconfig -p

说明

ldconfig创建必要的链接并缓存到在命令行指定目录,/ etc / ld.so.conf文件以及受信任目录/ lib和/ usr / lib(位于一些64位体系结构(例如x86-64,/ lib和/ usr / lib)是32位库的受信任目录,而/ lib64和/ usr / lib64用于64位库)。

高速缓存由运行时链接程序ld.so或ld-linux.so使用。 ldconfig在确定应更新其链接的版本时,会检查它遇到的库的标头和文件名。

ldconfig将尝试基于链接的C库(如果有)来推断ELF库的类型(即libc5或libc6 / glibc)。

一些现有的库包含的信息不足,无法推导其类型。因此,/ etc / ld.so.conf文件格式允许指定期望的类型。这仅用于我们无法解决的ELF库。格式为" dirname = TYPE",其中TYPE可以是libc4,libc5或libc6。 (此语法在命令行上也适用。)不允许使用空格。另请参见-p选项。 ldconfig通常应由超级用户运行,因为它可能需要对某些根目录拥有的目录和文件具有写许可权。

请注意,ldconfig将仅查看名为lib * .so (对于常规共享库)或ld-。so *(对于动态加载程序本身)的文件。其他文件将被忽略。同样,ldconfig期望如何设置符号链接,例如本示例,其中中间文件(此处为libfoo.so.1)是库的SONAME:

libfoo.so -> libfoo.so.1 -> libfoo.so.1.12

不遵循此模式可能会导致升级后出现兼容性问题。

选项

-cfmt, --format=fmt
(自glibc 2.2起)要使用的缓存格式:旧,新或兼容。从glibc 2.32开始,默认值为new。在此之前,它是兼容的。
-C cache
使用缓存而不是/etc/ld.so.cache。
-f conf
使用conf代替/etc/ld.so.conf。
-i, --ignore-aux-cache
(从glibc 2.7开始)忽略辅助缓存文件。
-l
(自glibc 2.2开始)库模式。手动链接各个库。仅供专家使用。
-n
仅处理在命令行上指定的目录。不要处理受信任的目录,也不要处理在/etc/ld.so.conf中指定的目录。表示-N。
-N
不要重建缓存。除非也指定了-X,否则链接仍将更新。
-p, --print-cache
打印存储在当前缓存中的目录和候选库列表。
-r root
更改为root并将其用作根目录。
-v, --verbose
详细模式。打印当前版本号,扫描时每个目录的名称以及创建的任何链接。覆盖安静模式。
-V, --version
打印程序版本。
-X
不要更新链接。除非也指定了-N,否则仍将重建高速缓存。

文件

/lib/ld.so
运行时链接程序/加载器。
/etc/ld.so.conf
包含目录列表的文件,每行一个,在其中搜索库。
/etc/ld.so.cache
该文件包含在/etc/ld.so.conf中指定的目录中找到的库以及在受信任目录中找到的库的有序列表。

另外参见

ldd(1),ld.so(8)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/