Linux 機器上的二進位檔案預設在 /lib 中尋找函式庫

Linux 機器上的二進位檔案預設在 /lib 中尋找函式庫

/lib在我的 UNIX 機器上,我觀察到二進位檔案預設在「 」目錄中尋找依賴共享庫,即使「/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

/etc/ld.so.conf庫(在 Linux 作業系統上)正在從(而不是從 $PATH)的路徑中搜尋。更改此文件後,您必須運行:

sudo ldconfig

您可以透過命令查看庫搜尋路徑:

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

預設路徑:在預設路徑中/lib,然後/usr/libLinux 載入器及其如何查找程式庫

相關內容