Aller au contenu principal

39. Configure the Repositories of Package Manager


개요

Ubuntu의 패키지 매니저는 소프트웨어 배포를 위해 저장소(repository)에 의존합니다. 공식 저장소, 서드파티 소스, PPA(Personal Package Archives)를 지원하여 기본 제공 이상의 광범위한 애플리케이션에 접근할 수 있습니다.

sources.list 란?

sources.list는 APT가 패키지를 가져올 저장소 목록을 정의하는 설정 파일입니다.

경로설명
/etc/apt/sources.list구버전 Ubuntu의 메인 설정 파일 (단일 파일)
/etc/apt/sources.list.d/ubuntu.sourcesUbuntu 22.04+ 새 형식 (DEB822)
/etc/apt/sources.list.d/*.list서드파티 저장소 추가 파일

확인 방법:

cat /etc/apt/sources.list
# 또는 (Ubuntu 22.04+)
cat /etc/apt/sources.list.d/ubuntu.sources
.list.d/ 폴더를 사용하나?

메인 파일 하나에 모두 쓰는 대신, 저장소별로 파일을 분리하면 관리가 쉬워집니다. 서드파티 저장소를 제거할 때 해당 파일만 삭제하면 됩니다.

저장소 설정 구조

Ubuntu 22.04 이상은 저장소 설정을 /etc/apt/sources.list.d/ubuntu.sources에 저장합니다. 설정에는 4가지 핵심 구성 요소가 있습니다:

Types: 저장소 형식 지정. "deb"는 .deb 패키지 형식의 실행 프로그램, 설정 파일, 문서를 포함하는 Debian 스타일 저장소를 나타냅니다.

URIs: 저장소 위치를 가리킵니다. 예: http://us.archive.ubuntu.com/ubuntu/는 Ubuntu 공식 미러 서버를 가리킵니다.

Suites: 릴리즈별 패키지 그룹을 정의합니다:

  • noble: 현재 릴리즈의 핵심 패키지
  • noble-updates: 버그 수정 및 보안 패치
  • noble-backports: 최신 Ubuntu 버전의 패키지

Components: 라이선스 및 지원 상태로 패키지를 분류합니다:

  • Main: 공식 지원 오픈소스 소프트웨어
  • Restricted: 사용 제한이 있는 오픈소스
  • Universe: 비지원 오픈소스 소프트웨어
  • Multiverse: 라이선스 제한이 있는 비무료 패키지

서드파티 저장소 추가

공식 저장소에 없는 소프트웨어가 필요할 때 서드파티 소스를 추가합니다. 프로세스:

  1. curl을 사용하여 패키지 검증용 공개 키 다운로드
    curl "https://download.docker.com/linux/ubuntu/gpg" -o docker.key
  2. gpg --dearmor바이너리 형식으로 변환
    gpg --dearmor docker.key
  3. /etc/apt/keyrings/키 저장
    sudo mv docker.key.gpg /etc/apt/keyrings/
  4. /etc/apt/sources.list.d/설정 파일 생성 → 아래 실전 예시 참고

실전 예시 — docker.list 파일 직접 생성

/etc/apt/sources.list.d/직접 .list 파일을 생성하는 방법도 있습니다:

sudo vim /etc/apt/sources.list.d/docker.list

파일 내부에 아래 한 줄 입력:

deb [signed-by=/etc/apt/keyrings/docker.key.gpg] https://download.docker.com/linux/ubuntu noble stable
각 필드 설명
  • deb — 바이너리 패키지 저장소 형식
  • signed-by=... — 패키지 서명 검증에 사용할 GPG 키 경로
  • https://download.docker.com/linux/ubuntu — Docker 공식 저장소 URL
  • noble — Ubuntu 24.04 (Noble Numbat) 코드네임
  • stable — 안정화 채널

저장 후 패키지 데이터베이스 갱신:

sudo apt update

갱신 결과에 Docker 저장소가 포함된 것을 확인할 수 있습니다:

Hit:1 https://download.docker.com/linux/ubuntu noble InRelease
Get:2 https://download.docker.com/linux/ubuntu noble/stable amd64 Packages [...]
astuce

.list 파일 방식은 한 줄로 간단하게 저장소를 추가할 때 사용합니다. 반면 ubuntu.sources 형식(DEB822)은 여러 저장소를 구조적으로 관리할 때 유용합니다.

PPA (Personal Package Archives)

PPA는 커뮤니티 유지 저장소를 간편하게 추가하는 방법입니다.

PPA 추가:

sudo add-apt-repository ppa:graphics-drivers/ppa

활성화된 PPA 목록 확인:

sudo add-apt-repository --list

PPA 제거:

sudo add-apt-repository --remove ppa:graphics-drivers/ppa

최종 설정

저장소 수정 후 항상 다음 명령을 실행하여 시스템이 사용 가능한 모든 패키지와 업데이트를 인식하도록 합니다:

sudo apt update