리눅스 파일의 속성과 참조 라이브러리를 알고 싶을때...
(주)스마일서브 고객기술지원팀 / 이선규 (neosky@smileserv.com)
http://www.nple.com, http://www.seroot.com/
(1) 먼저, file 이란 명령으로 속성을 조회할 수 있다.
- 예를 들어 mysql 이란 파일에 대한 속성을 알고 싶을 때
- 아래와 같이 뜨게 되는데...
- 각각의 정보를 살펴보면
(2) ldd 이란 명령으로 특징을 조회할 수 있다.
- 예를 들어 mysql 이란 파일이 실행할 때 필요한 참조 라이브러리를 알고 싶을 때...
- 아래와 같이 참고한 라이브러리가 뜨게 된다.
감사합니다.
(주)스마일서브 고객기술지원팀 / 이선규 (neosky@smileserv.com)
http://www.nple.com, http://www.seroot.com/
(1) 먼저, file 이란 명령으로 속성을 조회할 수 있다.
# file 파일명
- 예를 들어 mysql 이란 파일에 대한 속성을 알고 싶을 때
# file /usr/local/mysql/bin/mysql
- 아래와 같이 뜨게 되는데...
/usr/local/mysql/bin/mysql: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
- 각각의 정보를 살펴보면
(1) /usr/local/mysql/bin/mysql : 파일명
(2) ELF 64-bit or 32-bit : ELF 포멧이 일반적이고, 64bit 또는 32bit 표시
(3) AMD x86-64 : x86-64 시스템 Intel 도 AMD로 표시되니 놀라지 말자.
만약 32bit 라면 Intel 80386으로 표시, 참고로 arm cpu는 실행이 안된단다.
(2) ELF 64-bit or 32-bit : ELF 포멧이 일반적이고, 64bit 또는 32bit 표시
(3) AMD x86-64 : x86-64 시스템 Intel 도 AMD로 표시되니 놀라지 말자.
만약 32bit 라면 Intel 80386으로 표시, 참고로 arm cpu는 실행이 안된단다.
(2) ldd 이란 명령으로 특징을 조회할 수 있다.
# ldd 파일명
- 예를 들어 mysql 이란 파일이 실행할 때 필요한 참조 라이브러리를 알고 싶을 때...
# ldd /usr/local/mysql/bin/mysql
- 아래와 같이 참고한 라이브러리가 뜨게 된다.
# ldd /usr/local/mysql/bin/mysql
libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x00000034f7200000)
libmysqlclient.so.12 => /usr/local/mysql/lib/mysql/libmysqlclient.so.12 (0x00002acc105ab000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00000034f4e00000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000034f6a00000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000034f6e00000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000034f6600000)
libm.so.6 => /lib64/libm.so.6 (0x00000034f4600000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000034f5e00000)
libc.so.6 => /lib64/libc.so.6 (0x00000034f3e00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000034f4200000)
/lib64/ld-linux-x86-64.so.2 (0x00000034f3a00000)
libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x00000034f7200000)
libmysqlclient.so.12 => /usr/local/mysql/lib/mysql/libmysqlclient.so.12 (0x00002acc105ab000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00000034f4e00000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000034f6a00000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000034f6e00000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000034f6600000)
libm.so.6 => /lib64/libm.so.6 (0x00000034f4600000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000034f5e00000)
libc.so.6 => /lib64/libc.so.6 (0x00000034f3e00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000034f4200000)
/lib64/ld-linux-x86-64.so.2 (0x00000034f3a00000)
감사합니다.


당신의 의견을 작성해 주세요.