패키지 저장소
100%

패키지 · 레슨 2

패키지 저장소

저장소가 서명된 패키지 인덱스를 게시하는 방식과 APT가 설정된 데비안 계열 소스를 찾는 방식을 알아봅니다.

패키지 저장소는 패키지와 함께 인덱스 및 릴리스 메타데이터를 게시합니다. 패키지 관리자는 이 인덱스를 내려받아 설정된 배포판과 아키텍처에 맞는 버전을 선택하고, 저장소 인증을 확인한 뒤 필요한 패키지 파일을 가져옵니다.

저장소 메타데이터와 로컬 카탈로그

저장소는 단순한 아카이브 디렉터리가 아닙니다. 저장소 메타데이터에는 사용 가능한 패키지 이름, 버전, 아키텍처, 체크섬, 의존성 및 저장소 섹션이 기술됩니다. 클라이언트는 모든 아카이브를 먼저 내려받지 않고도 패키지를 검색하고 의존성을 해결할 수 있도록 로컬 카탈로그를 캐시합니다.

데비안 계열 시스템에서는 다음 명령으로 설정된 메타데이터를 새로 고칩니다.

$ sudo apt update

이 명령은 로컬 패키지 인덱스를 갱신할 뿐, 사용 가능한 업그레이드를 모두 설치하지는 않습니다. 실패한 항목을 무시하지 말고 보고된 소스와 인증 오류를 검토하십시오.

apt update가 주로 새로 고치는 것은 무엇입니까?

APT 소스 설정

APT는 다음 두 위치에서 설정된 소스를 읽습니다.

  • /etc/apt/sources.list
  • /etc/apt/sources.list.d/ 아래에서 .list 또는 .sources로 끝나는 파일

.list 확장자는 전통적인 한 줄 형식을 사용합니다. .sources 확장자는 deb822 방식의 스탠자를 사용하며, 현재 APT 문서에서는 새 설정에 이 형식을 권장합니다. 배포판은 기본 소스를 어느 위치에나 둘 수 있으므로, /etc/apt/sources.list에 전체 설정 또는 주 설정이 반드시 들어 있는 것은 아닙니다.

deb822 방식 소스는 다음과 같은 형태입니다.

Types: deb
URIs: https://deb.example.invalid/repository
Suites: stable
Components: main
Signed-By: /etc/apt/keyrings/example.gpg

이는 구문을 보여 주기 위한 예시일 뿐이며, 예약된 .invalid 도메인은 실제 저장소로 사용할 수 없습니다.

APT는 어디에서 활성 저장소 정의를 읽을 수 있습니까?

저장소 인증

APT는 서명된 저장소 릴리스 메타데이터를 검증한 다음, 내려받은 패키지 파일을 인증된 메타데이터의 체크섬과 대조합니다. Signed-By를 사용하면 해당 저장소에서 전역으로 설정된 모든 키를 신뢰하는 대신 특정 키링으로 소스의 신뢰 범위를 제한할 수 있습니다.

유효한 서명은 메타데이터가 허용된 서명 키의 소유자에게서 왔으며 탐지되지 않은 채 변조되지 않았음을 보여 줍니다. 하지만 게시자의 소프트웨어에 결함이 없거나, 악의적이지 않거나, 해당 시스템에 적합하다는 사실까지 증명하지는 않습니다. 독립적으로 신뢰할 수 있는 경로를 통해 키 지문과 소스 설정 지침을 확인하십시오.

APT 소스 정의에서 Signed-By의 보안 목적은 무엇입니까?

신중하게 서드파티 소스 추가하기

저장소는 시스템 권한으로 패키지와 수명 주기 스크립트를 설치할 수 있으므로, 저장소를 추가하면 시스템의 소프트웨어 신뢰 경계가 확장됩니다. 추가하기 전에는 다음 사항을 확인하십시오.

  1. 요구 사항을 충족한다면 배포판 저장소를 우선 사용합니다.
  2. 게시자, 지원 릴리스, 아키텍처 및 서명 키 지문을 확인합니다.
  3. 전용 소스 파일과 범위가 제한된 키링을 사용합니다.
  4. 설치 전에 패키지 이름과 의존성 변경 사항을 살펴봅니다.
  5. 소스를 비활성화하고 그 패키지를 마이그레이션하거나 제거하는 방법을 문서화합니다.

서명 검사를 끄거나 검토하지 않은 원격 스크립트를 권한 있는 셸로 전달하는 오래된 지침을 그대로 따라 하지 마십시오.

서드파티 저장소를 추가하면 시스템의 신뢰 경계가 확장되는 이유는 무엇입니까?

레슨 완료

패키지 저장소 완료

이제 설정된 저장소가 어떻게 신뢰할 수 있는 패키지 메타데이터로 이어지는지 설명할 수 있습니다.

  • 저장소 인덱스와 패키지 아카이브를 구분합니다.

  • apt update로 로컬 카탈로그를 새로 고칩니다.

  • 한 줄 형식과 deb822 방식의 APT 소스 정의 위치를 모두 찾습니다.

  • 서명 키의 범위를 제한하고 서드파티 신뢰를 신중하게 검토합니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
패키지(으)로 돌아가기