LDCONFIG - Linux手册页
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中指定的目录中找到的库以及在受信任目录中找到的库的有序列表。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。