이러한 연습 과제를 이용하여 다음과 같은 것을 관리하는 실습을 할 수 있다.
- 동적 및 정적으로 링크되는 프로그램
- 공유 오브젝트 라이브러리 캐시
- 공유 오브젝트 라이브러리 경로
- 링크 공유 오브젝트
본 시리즈의 연습 과제를 최대한 활용하려면 Linux에 대한 기본적인 지식과 이 기사에서 다루는 연습 과제를 실습할 수 있는 Linux 시스템이 있어야 한다.
연습 과제 1. 동적으로 링크되는 공유 오브젝트 나열하기
자신이 Linux 파일 서버 시스템 관리자라고 가정한다. 디렉토리를 새로 작성하는 작업을 수행 중에 갑자기 자주 사용하는 mkdir 명령에서 오류가 발생한다. 이 오류는
동적으로 링크되는 라이브러리가 누락된 결과이다. 아마도 mkdir 도구를 셀 수 없이 많이 사용했을 것이다. 이 도구는 제대로 기능하려면 외부 공유 오브젝트에
의존해야 하는 프로그램의 한 가지 예에 불과하다.
- 적절한 명령을 사용하여
mkdir이 외부에서 호출하는 공유 라이브러리를 적절하게 식별한다.
이제 mkdir 명령에 동적으로 링크되는 공유 라이브러리를 찾았다.
- 외부 공유 라이브러리를 사용하지 않는 실행 파일을 /bin 디렉토리에서 찾는다.
Linux는 동적으로 링크되는 프로그램의 라이브러리 위치 정보를 캐시하여 성능을 개선한다.
- 해당 Linux 컴퓨터에서 캐싱 디렉토리를 찾고 적절한 명령을 사용하여
mkdir이 필요로 하는 라이브러리를 찾는다.
일반적으로 사용되는 Linux 실행 파일(예: mkdir)은 전형적으로 Linux 배포판에 설정된 공통 경로를 사용한다. 자신이 근무하고 있는 조직에서
일반적인 Linux 컴퓨터의 라이브러리 검색 경로에는 없는 공유 라이브러리에 동적으로 링크되는 써드파티 프로그램을 사용해야 한다고 가정한다. 이러한 경우에는
별도의 라이브러리 디렉토리를 작성하는 것을 고려할 수 있다. 그러나 이 프로그램은 프로그램이 실행될 때 라이브러리를 찾아야 한다. 이 태스크에서는
써드파티 애플리케이션 foo가 제공되었지만 이전 버전은 Linux 컴퓨터에 설치되지 않은 공유 라이브러리를 사용한다고 가정한다.
- 디렉토리 경로가 /opt/foo/lib인 디렉토리를 작성한다.
- /opt/foo/lib 디렉토리에 파일을 작성하고 이 파일의 이름을 foo.so로 지정한다.
export명령을 사용하여 런타임 시에 애플리케이션이 foo.so를 찾을 수 있게 라이브러리 경로 변수를 설정한다.
연습 과제 5. 공유 라이브러리를 가리키는 기호 링크 작성하기
foo 소프트웨어가 foo.so 대신에 최신 /lib/libcat.so 라이브러리를 사용하도록 업데이트되고 문서화되었을 가능성을 고려한다. 이 새 소프트웨어가 역호환성이 있어서 foo.so를 사용할 수 있다고 하더라도 다음과 같이 기호 링크를 작성하여 새 라이브러리를 사용하는 것을 시험할 수 있다.
- 원본 foo.so를 foo.so.old로 이름을 바꾼다.
- /lib/libcat.so에서 /opt/foo/lib/foo.so로 향하는 기호 링크를 작성한다.
다음 해답을 단계별로 따라가면서 수행한 작업을 확인한다.
- developerWorks 기사 "Linux 학습, 기초 과정: 공유 라이브러리 관리"(developerWorks, 2010년 3월)에는 이러한 연습 과제를 완료하는 데 필요한 명령이 설명되어 있다.
- LPIC Program 사이트에서 LPI의 세 가지 Linux 시스템 관리 인증 레벨의 자세한 목적과, 태스크 목록 및 샘플 질문을 확인하자. 특히, LPI-101의 자세한 목적과 샘플 질문을 살펴보자.
- Linux 기초를 학습하고 2009년 4월 이전의 LPI 시험 목적을 바탕으로 하는 시스템 관리자 인증 시험을 준비하려면
developerWorks에서 전체 LPI exam prep series를 검토하자.
-
Exam Preparation Resources for Revised LPIC Exams에는 LPI에서 유지하는 기타 인증 교육 참고자료 목록이 있다.
