ldconfig 는 무엇입니까~??

김건형의 이미지

ldconfig에 대해 알고싶습니다..

리눅스 사용자 인데요..

아파치나 mysql같은 것을 설치하면 /etc/ld.so.conf에 라이브러리 폴더를 추가해주고

"ldconfig"를 해서 돌려 주는데..

그 이유를 좀 자세하게 알고 싶습니다..

ldconfig를 치면 리눅스에서 어떻게 돌아가는지 과정을 알고 싶습니다..

어디에 어떻게 등록되고.. 왜 링크파일이 생기는지도요..

제가 잘 몰라서 질문이 맞나 모르겠습니다..(__)

답변 부탁드립니다..

dalgarak의 이미지

원하시는 내용은 man 8 ldconfig (또는 그냥 man ldconfig) 에 다 들어있습니다. 읽어보세요.

ldconfig는 runtime때 여러 위치에 존재하는 shared object, 쉽게말해 동적 라이브러리를 연결해주는 dynamic linker의 설정프로그램이라고 보시면 됩니다. 여기서 runtime dynamic linker는 /lib/ld.so 를 말하는 겁니다.

어떤 shared object가 필요한지는 실행파일이 말해줍니다.

# ldd /bin/ls

을 실행해보시면, ls가 동작하기위해 필요한 so들 목록이 나오고, 해당 so파일을 어느 경로에 있는걸 가져올껀지도 보여줄껍니다. /etc/ld.so.conf는 이 경로를 지정해주는 설정파일이라고 보시면 편합니다.

----
안드로메다는 이미 개념만으로도 빅뱅직전.

bushi의 이미지

설정프로그램이라기보다는... cache (/etc/ld.so.cache) 를 만들어줍니다.
prelink 도 뒤져보세요.