Заменяет ли загрузчик Linux (ld.so) символические ссылки?

Я наткнулся на проблему, пытаясь переместить файл ld.so.cache в другое место. Я попытался создать символическую ссылку для нее в своем предыдущем местоположении – /etc/ – но кажется, что загрузчик не может следовать этой символической ссылке. Кроме того, жесткая ссылка не является жизнеспособной, поскольку новое местоположение находится на другом разделе.

Моя конечная цель – иметь корневую файловую систему только для чтения, и это, возможно, последнее, что мешает мне.

Заранее спасибо!

Я могу подтвердить, что по крайней мере в Glibc, ld.so выполняет символические ld.so при открытии /etc/ld.so.cache . Код находится в elf/dl-cache.c в функции _dl_load_cache_lookup , ссылаясь на функцию _dl_sysdep_read_whole_file от elf/dl-misc.c . Эта функция открывает файл и отображает его в память; он ничего не делает о символических ссылках.

Избегание символических ссылок потребует дополнительных усилий, и я не могу думать о какой-либо причине, по которой загрузчик мог бы это сделать.

Чтобы отладить вашу проблему, вы можете использовать strace чтобы следить за файлами, которые загрузчик читает или пытается прочитать.