주식회사 누리아이티

정보자산의 보안강화를 위한 다계층 인증SW (BaroPAM) 전문기업.

▶ Tuxedo/기술자료

▶ 오브젝트와 라이브러리 관련된 명령어(AIX)

누리아이티 2012. 2. 23. 10:56

   - dump
     실행파일과 공유 오브젝트의 헤더정보를 보려면 dump 명령을 사용한다. 공유 라이브러리를 사용할 때 유용한 옵션으로 -H 옵션(헤더정보)과 -Tv 옵션(심볼정의정보)이 있다.
     $ dump -H func1.so
     $ dump -Tv func1.so
   - genkld
     시스템 공유 라이브러리 세그먼트에 로드되어 있는 공유 오브젝트를 보기위해 genkld 명령을 사용한다. 결과는 세 개의 컬럼에 나오는데 각각은 시스템 세그먼트 내의 오브젝트의 가상 주소, 오브젝트의 크기, 로드된 파일의 이름이다.
     32bit 공유 오브젝트의 가상 주소는 0xD 부터 시작하고, 64bit 공유 오브젝트의 주소는 0x90000000 에서 시작한다.
     $ genkld | head -1; genkld | grep 'libc.a'
   - ldd
     ldd 명령은 실행파일을 수행하기 위해 로드할 공유 오브젝트와 아카이브 멤버를 나열한다.
     $ ldd helloworld
   - nm
     nm 명령은 오브젝트 파일, 실행파일, 공유 오브젝트등의 파일을 지정해서 이 파일의 심볼 정보를 보여준다.
     $ nm libone.so
   - rtl_enable
     rtl_enable 명령으로 런타임 링킹이 활성화되지 않은 공유 라이브러리를 런타임 링킹 활성화시킨다.
   - slibclean
     root는 slibclean 명령으로 시스템 공유 라이브러리 세그먼트에서 count값이 0인 공유 오브젝트를 내릴 수 있다. 공유 라이브러리를 개발하는 환경에서 이 명령을 유용하게 사용할 수 있다. genkld 다음 slibclean 명령을 사용하면 시스템 공유 라이브러리 세그먼트에 개발중인 공유 오브젝트가 올라가지 않도록 확인할 수 있다. 이 경우 어플리케이션을 시작하면 시스템 로더가 가장 최근 버전의 공유 오브젝트를 올리게 된다. 시스템 세그먼트 안에 동일한 오브젝트가 여러 가지 버전이 올라오지 않도록 한다.