LPI Linux 認證/管理共享庫
外觀
(LPIC-1 版本 5.0)
權重:1
描述
考生應該能夠確定可執行程式所依賴的共享庫,並在必要時安裝它們。
關鍵知識領域
- 識別共享庫。
- 識別系統庫的典型位置。
- 載入共享庫。
以下是用到的檔案、術語和實用程式的列表
lddldconfig/etc/ld.so.confLD_LIBRARY_PATH
庫是一組函式,程式可以使用它們來實現其功能。在構建(連結)程式時,這些庫可以靜態或動態地連結到可執行檔案。靜態連結意味著最終程式將包含其檔案內的庫函式。(lib.a)動態連結意味著在程式需要執行時,需要將需要的庫載入到 RAM 中。(lib.so)
所有標準庫的預設目錄為
- /lib:主要用於 /bin 程式。
- /usr/lib:主要用於 /usr/bin 程式。
檔案/etc/ld.so.conf用於系統指定其他庫位置。要構建執行時載入程式使用的所有可用庫的快取檔案,請使用 ldconfig。檔案/etc/ld.so.cache將被生成。
要列印共享程式或庫依賴項,請使用 ldd。
ldd [-vdr] program|library
示例
$ ldd -d -v /bin/cp
libc.so.6 => /lib/libc.so.6 (0x40027000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Version information:
/bin/cp:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1.1) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.2.3) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.1) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
執行時載入程式ld.so找到程式所需的庫,並將其載入到 RAM 中。ld.so 的搜尋順序是
- LD_LIBRARY_PATH
- 快取檔案 /etc/ld.so.cache
- 預設目錄 /lib 和 /usr/lib。