패스잇
인프라 & 클라우드 · 중급

`apt`나 `yum`과 같은 패키지 관리자가 소프트웨어 패키지 설치 시 의존성 문제를 어떻게 해결하는지 그 원리를 설명해 주세요. 또한, 특정 패키지의 의존성 목록을 확인하는 방법을 제시해 주세요.

힌트 · 패키지 관리자는 메타데이터를 사용하여 필요한 라이브러리나 다른 패키지를 자동으로 탐색하고 설치합니다. `apt-cache depends` 또는 `yum deplist` 명령을 사용할 수 있습니다.

의존성 해결메타데이터저장소의존성 그래프재귀적 탐색

모범답안

패키지 관리자는 소프트웨어 설치 시 의존성 문제를 해결하기 위해 패키지 메타데이터를 활용합니다. 이 메타데이터에는 해당 패키지가 정상적으로 작동하기 위해 필요한 다른 패키지 및 라이브러리 정보가 담겨 있습니다.

aptyum 같은 패키지 관리자는 먼저 설치하려는 패키지의 메타데이터를 확인하고, 의존성 목록을 파악합니다. 그 후, 설정된 저장소(repository)에서 해당 의존성들을 찾아서 함께 설치합니다. 만약 의존성 패키지에도 또 다른 의존성이 있다면, 이 과정을 재귀적으로 반복하여 모든 의존성을 해결합니다.

특정 패키지의 의존성 목록을 확인하는 방법은 다음과 같습니다. apt를 사용하는 경우 apt-cache depends [패키지 이름] 명령어를, yum을 사용하는 경우 yum deplist [패키지 이름] 명령어를 사용하면 됩니다. 예를 들어, apt-cache depends apache2를 실행하면 apache2 패키지의 의존성 목록을 확인할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Linux 면접 질문

← Linux 면접 질문 전체 보기