리눅스 ldd 라이브러리 의존성 명령어

ldd(List Dynamic Dependencies)

리눅스 명령어 ldd는 지정한 프로그램의 공유 라이브러리(shared libraries) 의존성을 확인할 때 사용하는 명령어입니다.

 

경로

/usr/bin/ldd

 

사용법

ldd [옵션] 파일명

java 의존성 확인

ldd /bin/java

or

[root@localhost bin] # ldd java

linux-vdso.so.1 => (0x00007ffd0af56000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa007820000)
libz.so.1 => /lib64/libz.so.1 (0x00007fa00760a000)
libjli.so => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa007406000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa007038000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa007c3e000)

공유라이브러리 so 파일들의 의존성들이 나타납니다.

so 파일들은 윈도우의 dll 파일과 흡사하다고 보시면 됩니다.

 

 

ldd /bin/ls

 

실행 파일의 라이브러리 의존성 및 버전정보 확인하기

ldd -v

-v 옵션을 사용해서 자세하게 나타내 의존성을 확인할 수 있습니다.

# ldd -v /bin/java

 

옵션

옵션 Long옵션 설명
-d --data-relocs 존재해야 할 곳에 없는 오브젝트의 위치를 다시 배치하고, 그 결과를 출력
-r --function-relocs 데이터 오브젝트와 함수를 재배치하고 오브젝트나 함수 중에 찾지 못한 결과를 출력
-v --verbose 상세 정보를 출력
  --help ldd 명령어의 사용법 출력
  --version ldd 명령어의 버전 정보를 출력

 

ldd 명령어 사용 이유

ldd 명령어는 프로세스, 모듈의 실행이 라이브러리의 부재로 되지 않거나 하는 경우 역추적하여 라이브러리를 확인하여 넣어주는 형태로 많이 사용합니다.

댓글

Designed by JB FACTORY