개념 사전 · 프로그램

APT

Advanced Package Tool · 에이피티

는 계열에서 저장소의 패키지 후보와 의존성을 관리하는 도구 집합이다. 사용자가 요청한 프로그램을 설치하기 위해 필요한 패키지를 계산하고, 로컬 설치 작업은 와 연결한다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

01무엇이고, 어떤 일을 하나

  • 설정된 저장소의 패키지 인덱스를 내려받아 검색과 후보 버전 비교에 사용한다.
  • 요청한 설치·업데이트와 의존성 조건을 만족하는 거래 계획을 만든다.
  • 직접 설치와 의존성 설치를 구분하여 불필요해진 패키지를 관리한다.

02어떤 순서로 동작하나

  1. 저장소 정보 읽기

    sources 설정과 로컬 패키지 상태를 읽는다. 저장소 주소·배포 계열·구성요소가 후보 집합을 결정하므로 다른 배포판의 주소를 임의로 섞지 않는다.

  2. 메타데이터 갱신

    동작이 패키지 인덱스를 받아 로컬 후보 정보를 갱신한다. 이 단계만으로 설치된 실행 파일이 새 버전으로 교체되지는 않는다.

  3. 의존성 계획

    버전·의존성·충돌·우선순위와 요청을 비교하여 설치·교체·제거할 집합을 정한다. 업그레이드 방식에 따라 기존 패키지 제거 허용 여부가 달라진다.

  4. 다운로드와 설치

    선택한 패키지를 받아 검증하고 의 풀기·설정 단계로 넘긴다. 거래가 끝난 뒤에도 서비스 재시작이나 애플리케이션 상태 확인이 별도 필요할 수 있다.

03먼저 알아둘 용어와 구성요소

사용자와 상호작용하기 편한 고수준 명령이다. 자동화에서 출력·동작의 장기 호환성이 필요하면 -get·-cache 등의 목적별 인터페이스를 고려한다.
설치 버전과 후보 버전, 저장소 우선순위를 비교하는 조회 명령 형태이다.
저장소 인덱스 갱신 작업이다. 설치 패키지 업그레이드와 목적이 다르다.
설치된 패키지의 업그레이드를 계산·수행하는 동작이다. 기존 패키지를 제거하는 해결이 필요한 경우에는 처리 정책을 구분한다.
의존성 때문에 설치된 패키지인지 추적하는 정보이며 autoremove 후보 계산에 영향을 준다.
여러 버전·저장소 가운데 선택할 후보의 우선순위를 조정하는 정책이다.

04예제로 따라가기

  • 에서 Installed와 Candidate가 다르면 설치된 버전과 다음 설치 후보가 다르다는 뜻이다.
  • list --installed는 설치 상태를 조회하는 예이다. 저장소에 존재하는 전체 목록과 구분한다.
  • 다른 프로그램의 의존성으로 설치된 라이브러리는 해당 프로그램을 제거한 뒤 autoremove 후보가 될 수 있다. 직접 사용하는 도구라면 설치 표시와 제거 계획을 살핀다.

05혼동하기 쉬운 점과 확인 기준

  • 를 실행했다는 사실만으로 보안 패치가 실행 코드에 적용됐다고 말하지 않는다.
  • 이름이 같더라도 다른 배포판·다른 주 버전의 패키지를 섞으면 의존성·ABI가 맞지 않을 수 있다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.