%EB%8A%94%20%EC%8B%AC%EB%B3%BC%EB%A6%AD%20%EB%A7%81%ED%81%AC%EB%A5%BC%20%EB%94%B0%EB%A5%B4%EB%82%98%EC%9A%94%3F.png)
ld.so.cache 파일을 다른 위치로 이동하려고 하다가 문제가 발생했습니다. 이전 위치에 심볼릭 링크를 만들려고 했지만 -- /etc/
-- 로더가 이 심볼릭 링크를 따라갈 수 없는 것 같습니다. 또한 새 위치가 다른 파티션에 있으므로 하드링크를 실행할 수 없습니다.
나의 최종 목적은 읽기 전용 루트 파일 시스템을 갖는 것이며 이것이 아마도 나를 막는 마지막 것일 것입니다.
미리 감사드립니다!
답변1
적어도 Glibc ld.so
에서는 /etc/ld.so.cache
. 코드는 다음과 같습니다.elf/dl-cache.c
함수에서 다음의 _dl_load_cache_lookup
함수를 참조합니다._dl_sysdep_read_whole_file
elf/dl-misc.c
. 이 함수는 파일을 열고 이를 메모리에 매핑합니다. 심볼릭 링크에 대해서는 아무 작업도 수행하지 않습니다.
기호 링크를 피하려면 추가 노력이 필요하며 로더가 이렇게 하는 이유가 무엇인지 생각할 수 없습니다.
strace
문제를 디버깅하려면 로더가 읽고 있거나 읽으려고 하는 파일을 추적하는 데 사용할 수 있습니다 .