Shared-Library

可以排序 /etc/ld.so.conf

  • January 28, 2016

我想知道是否可以對條目進行/etc/ld.so.conf排序。

ld.so.conf現在的樣子是這樣的:

/usr/X11R6/lib64/Xaw3d
/usr/X11R6/lib64
/usr/lib64/Xaw3d
/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib
/usr/lib/Xaw3d
/usr/x86_64-suse-linux/lib
/usr/local/lib
/opt/kde3/lib
/usr/local/lib64
/opt/kde3/lib64
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/cuda-6.5/lib64

當我排序時,它看起來像這樣 - 我可以安全地做到這一點,還是它們是我會用排序“破壞”的一些依賴項?

/lib
/lib64
/opt/kde3/lib
/opt/kde3/lib64
/usr/X11R6/lib
/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib64
/usr/X11R6/lib64/Xaw3d
/usr/lib
/usr/lib/Xaw3d
/usr/lib64
/usr/lib64/Xaw3d
/usr/local/cuda-6.5/lib64
/usr/local/lib
/usr/local/lib64
/usr/x86_64-suse-linux/lib
include /etc/ld.so.conf.d/*.conf

中的條目/etc/ld.so.conf按順序搜尋。因此,順序很重要。

僅當多個目錄中存在相同的庫名稱(準確地說,相同的 SONAME)時,這才有意義。如果您絕對確定某些目錄永遠不會包含相同的庫,那麼您可以按照您喜歡的順序放置它們。

特別是這意味著目錄 in/usr/local應該在目錄 outside 之前/usr/local,因為這些目錄的重點是優先於預設系統文件。在分發管理的目錄中,這可能無關緊要。

引用自:https://unix.stackexchange.com/questions/257943