ld.so.conf 和 ldconfig
1. 查看执行文件的链接库
ldd
例子:
# ldd /sbin/sln
not a dynamic executable
“not a dynamic executable”是 ldd 说明 sln 是静态链接的一种方式。
# ldd /bin/ln
libc.so.6 => /lib/libc.so.6 (0x40021000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
如您所见,ln 依赖外部共享库 libc.so.6 和 ld-linux.so.2。
2.动态装入器
动态装入器(dynamic loader), 负责装入动态链接的可执行程序运行所需的共享库,以使它们能正确执行.
动态装入器找到共享库要依靠两个文件 — /etc/ld.so.conf 和 /etc/ld.so.cache。
/etc/ld.so.conf必须将转换到 ld.so.cache 文件中才可以使用。可以通过运行 ldconfig 命令做到这一点。(当etc/ld.so.conf文件更新后,也是需要ldconfig一次更新到ld.so.cache中)
要查看 ldconfig 可以“看到”的所有共享库,请输入:
# ldconfig -p | less