Ldconfig - Linux命令 - UNIX命令

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 )查看特定计算机上的命令使用方式。