Linux 로더(ld.so)는 심볼릭 링크를 따르나요?

Linux 로더(ld.so)는 심볼릭 링크를 따르나요?

ld.so.cache 파일을 다른 위치로 이동하려고 하다가 문제가 발생했습니다. 이전 위치에 심볼릭 링크를 만들려고 했지만 -- /etc/-- 로더가 이 심볼릭 링크를 따라갈 수 없는 것 같습니다. 또한 새 위치가 다른 파티션에 있으므로 하드링크를 실행할 수 없습니다.

나의 최종 목적은 읽기 전용 루트 파일 시스템을 갖는 것이며 이것이 아마도 나를 막는 마지막 것일 것입니다.

미리 감사드립니다!

답변1

적어도 Glibc ld.so에서는 /etc/ld.so.cache. 코드는 다음과 같습니다.elf/dl-cache.c함수에서 다음의 _dl_load_cache_lookup함수를 참조합니다._dl_sysdep_read_whole_fileelf/dl-misc.c. 이 함수는 파일을 열고 이를 메모리에 매핑합니다. 심볼릭 링크에 대해서는 아무 작업도 수행하지 않습니다.

기호 링크를 피하려면 추가 노력이 필요하며 로더가 이렇게 하는 이유가 무엇인지 생각할 수 없습니다.

strace문제를 디버깅하려면 로더가 읽고 있거나 읽으려고 하는 파일을 추적하는 데 사용할 수 있습니다 .

관련 정보