O carregador Linux (ld.so) segue links simbólicos?

O carregador Linux (ld.so) segue links simbólicos?

Me deparei com um problema ao tentar mover o arquivo ld.so.cache para outro local. Tentei criar um link simbólico para ele em seu local anterior - /etc/- mas parece que o carregador não consegue seguir esse link simbólico. Além disso, um hardlink não é viável porque o novo local está em outra partição.

Meu objetivo final é ter um sistema de arquivos raiz somente leitura e esta é talvez a última coisa que me impede disso.

Agradeço antecipadamente!

Responder1

Posso confirmar que pelo menos no Glibc, ld.sosegue links simbólicos ao abrir arquivos /etc/ld.so.cache. O código está emelf/dl-cache.cna função _dl_load_cache_lookup, referenciando a função _dl_sysdep_read_whole_filedeelf/dl-misc.c. Essa função abre o arquivo e o mapeia na memória; não faz nada sobre links simbólicos.

Evitar links simbólicos exigiria um esforço extra e não consigo pensar em nenhum motivo para o carregador fazer isso.

Para depurar seu problema, você pode usar stracepara acompanhar quais arquivos o carregador está lendo ou tentando ler.

informação relacionada