Linuxローダー(ld.so)はシンボリックリンクに従いますか?

Linuxローダー(ld.so)はシンボリックリンクに従いますか?

ld.so.cache ファイルを別の場所に移動中に問題が発生しました。以前の場所にシンボリックリンクを作成しようとしましたが、/etc/ローダーはこのシンボリックリンクをたどることができないようです。また、新しい場所が別のパーティションにあるため、ハードリンクは機能しません。

私の究極の目標は、読み取り専用のルートファイルシステムを持つことであり、これがおそらく私がそうするのを防ぐ最後のものです。

よろしくお願いします!

答え1

少なくともGlibcld.soでは/etc/ld.so.cacheelf/dl-cache.c関数内で_dl_load_cache_lookup関数を参照_dl_sysdep_read_whole_fileelf/dl-misc.c。この関数はファイルを開き、それをメモリにマップします。シンボリックリンクには影響しません。

シンボリックリンクを回避するには追加の努力が必要で、ローダーがこれを行う理由はわかりません。

strace問題をデバッグするには、ローダーが読み込んでいるか、読み取ろうとしているトレースファイルを使用できます。

関連情報