리눅스 파일의 속성과 참조 라이브러리를 알고 싶을때...
(주)스마일서브 고객기술지원팀 / 이선규
(neosky@smileserv.com)   
http://www.nple.comhttp://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) 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)

감사합니다.

2009/01/05 15:41 2009/01/05 15:41








마음튼튼 이 작성.

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

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다