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