Linux机器上的二进制文件默认情况下在/ lib中查找库


1

在我的UNIX机器上,我发现二进制文件/lib默认在' '目录中查找依赖的共享库,即使' PATH'和' LD_LIBRARY_PATH'变量中没有配置'/ lib'目录。

我在下面看到库' libssl.so.4'是从' /lib'目录中找到的。

bash-3.00$ ldd openssl
        /lib/libcwait.so (0x00f86000)
        libssl.so.4 => /lib/libssl.so.4 (0x00408000)

我的'PATH'和'LD_LIBRARY_PATH'如下:

bash-3.00$ echo $LD_LIBRARY_PATH
:/opt/oracle/product/11.2.0/client32/lib:

bash-3.00$ echo $PATH
/opt/pure/releases/purify.hp.2003a.06.15.FixPack.0214/cache/opt/star-ncf-prod/ep_patch/usr/lib:/usr/ccs/bin:/usr/bin:/usr/ucb:/etc:/bin:.:/opt/ccm71/bin:/opt/oracle/product/11.2.0/client32/bin:/opt/tools/bin:/usr/local/bin

请让我们知道二进制文件默认是否引用'/ lib'目录?

Answers:


1

库(在Linux OS上)正在从/etc/ld.so.conf(不是来自$ PATH)的路径中进行搜索。更改此文件后,您必须运行:

sudo ldconfig

您可以通过命令查看库搜索路径:

ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012

默认路径:在默认路径中/lib,然后/usr/libLinux加载器以及它如何找到库

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.