Linux

Linux 載入程序 (ld.so) 是否遵循符號連結?

  • June 19, 2014

我試圖將 ld.so.cache 文件移動到另一個位置時偶然發現了一個問題。我試圖在它以前的位置為它創建一個符號連結/etc/——但似乎載入器無法遵循這個符號連結。此外,硬連結不可行,因為新位置位於另一個分區上。

我的最終目的是擁有一個只讀的根文件系統,這可能是阻止我這樣做的最後一件事。

先感謝您!

我可以確認,至少在 Glibc 中,ld.so打開時確實遵循符號連結/etc/ld.so.cache。程式碼在elf/dl-cache.c函式中,從_dl_load_cache_lookup中引用函式。該函式打開文件並將其映射到記憶體中;它對符號連結沒有任何作用。_dl_sysdep_read_whole_fileelf/dl-misc.c

避免符號連結需要額外的努力,我想不出載入器會這樣做的任何原因。

要調試您的問題,您可以使用strace跟踪載入程序正在讀取或嘗試讀取的文件。

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