使用“ldconfig”为系统库设置适当的链接和缓存

ldconfig Linux 命令创建必要的链接和缓存(供运行时链接器 ld.so 使用)到在命令行指定的目录中找到的最新共享库,文件 /etc/ld.so 中。
conf,并在受信任的目录(/usr/lib 和 /lib)中。

在确定应该更新链接的版本时,它会检查遇到的库的头文件名;它在扫描库时忽略符号链接。

Ldconfig 将尝试根据库所链接的 C 库推断 ELF 库的类型(即 libc 5.x 或者 libc 6.x (glibc)),因此在创建动态库时,明确地链接到 libc(使用 -lc)。

Ldconfig 通常应该由超级用户运行,因为它可能需要对某些根目录和文件的写权限。

如果我们使用 -r 选项来更改根目录,只要我们对该目录树有足够的权限,我们就不必是超级用户。

选项

该命令支持以下选项:

  • -v :详细模式。打印当前版本号、扫描时每个目录的名称以及创建的任何链接。
  • -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 : 更改并使用 root 作为根目录。
  • -l :库 模式。手动链接各个库。仅供专家使用。
  • -p :使用 print-cache 打印存储在当前缓存中的目录和候选库列表。
  • -c : format=FORMAT : 指定缓存文件的格式。选项是旧的、新的和兼容的(默认)。
  • -?, help/usage : 显示使用信息。
  • -V – version :显示程序版本。

语法

该命令采用以下通用格式:

ldconfig [OPTION...]
Unix/Linux 命令 ldconfig

例子

使用 ldconfig 设置链接。
例如,

# /sbin/ldconfig -v

为共享二进制文件建立正确的链接并重建缓存,同时运行

# /sbin/ldconfig -n /lib

安装新共享库后以 root 身份将正确更新 /lib 中的共享库符号链接。

日期:2020-07-15 11:16:31 来源:oir作者:oir