ldconfig为文件/etc/ld.so.conf中命令行中指定的目录中找到的最新共享库创建必要的链接和缓存(供运行时链接程序ld.so使用 ),以及在受信任的目录( / usr / lib和/ lib )中。 在确定哪些版本的链接已更新时, ldconfig会检查它遇到的库的头文件和文件名。 扫描库时, ldconfig会忽略符号链接。
ldconfig将根据C库(如果有库链接)来尝试推断ELF库的类型(即,libc 5.x或libc 6.x(glibc)),因此,在制作动态库时,明智地链接反对libc(使用-lc)。 ldconfig能够将多个ABI类型的库存储到允许本地运行多个ABI的体系结构中的单个缓存中,如ia32 / ia64 / x86_64或sparc32 / sparc64。
一些现有的库没有足够的信息来允许扣除它们的类型,因此/etc/ld.so.conf文件格式允许指定预期的类型。 这只用于那些我们无法解决的ELF库。 格式是这样的“dirname = TYPE”,其中类型可以是libc4,libc5或libc6。 (这种语法也适用于命令行)。 空间是不允许的。 另请参阅-p选项。
包含=的目录名称不再合法,除非它们也有预期的类型说明符。
ldconfig通常应该由超级用户运行,因为它可能需要对某些根目录和文件的写权限。 如果使用-r选项来更改根目录,只要您有足够的权利访问该目录树,则不必是超级用户。
概要
ldconfig [选项...]
选项
-v --verbose
详细模式。 打印当前版本号,扫描每个目录的名称以及创建的所有链接。
-n
只处理在命令行中指定的目录。 不要处理受信任的目录( / usr / lib和/ lib ),也不要处理/etc/ld.so.conf中指定的目录。 意味着-N 。
-N
不要重建缓存。 除非指定-X ,链接仍会更新。
-X
不要更新链接。 除非还指定了-N ,否则缓存仍将重建。
-f conf
使用conf而不是/etc/ld.so.conf 。
-C缓存
使用缓存而不是/etc/ld.so.cache 。
-r根
更改并使用root作为根目录。
-l
库模式。 手动链接各个库。 仅供专家使用。
-p --print-cache
打印存储在当前缓存中的目录和候选库的列表。
-c --format = FORMAT
使用FORMAT作为缓存文件。 选择是旧的,新的和compat(默认)。
- ? - 帮助 - 使用
打印使用信息。
-V - 版本
打印版本并退出。
例子
#/ sbin / ldconfig -v
将为共享二进制文件设置正确的链接并重建缓存。
#/ sbin / ldconfig -n / lib
以root身份安装新的共享库之后,会正确更新/ lib中的共享库符号链接。
也可以看看
ldd (1)
重要提示:使用man命令( %man )查看特定计算机上的命令使用方式。