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

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

在我的 UNIX 机器上,我观察到二进制文件默认在“ ”目录中寻找依赖的共享库,/lib即使“/lib”目录未在“ PATH”和“ LD_LIBRARY_PATH”变量中配置。

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

请让 mw 知道二进制文件是否默认引用“/lib”目录?

答案1

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

sudo ldconfig

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

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

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

相关内容