리눅스/Debian or Ubuntu

우분투(Ubuntu) 패키지 관리 - add-apt-repository 명령 사용법

씨실과 날실 2020. 5. 20. 09:00


add-apt-repository 설명

repository는 우리말로는 저장소를 뜻합니다. 일반적으로 각 리눅스 배포판들은 각자의 공식 리포지터리(저장소)를 제공하고 있어 널리 사용되고 있는 주요 패키지들의 손쉬운 업그레이드를 지원하고 있습니다.

그러나 이 공식 리포지터리(저장소)에 올라와 있는 패키지들은 해당 패키지의 최신 버전이 아닌 경우가 대부분입니다. 그 이유는 각 리눅스 배포판들의 공식 저장소들은 안정성이 검증된 패키지를 지원하기 위해 패키지 정보의 업데이트를 늦추는 경향이 있기 때문입니다.

그러나 다양한 이유로 공식 저장소에서는 지원하지 않는 패키지가 필요할 때가 있습니다. 이러한 패키지를 제공하는 저장소는 크게 두 형태로 나눌 수 있습니다.

먼저 해당 패키지 제작사 또는 제작팀의 최신 버전의 패키지가 올라오는 공식 배포 리포지터리(저장소)를 이용할 경우입니다.

공식 패키지 제작팀의 저장소의 경우 아래 링크의 글에 사용된 방식을 사용하는 것이 일반적입니다.

두번째로 개인이나 소규모 팀이 새로 개발한 패키지를 배포하거나 기존의 공식 개발 팀이 배포한 패키지의 개인적인 버그 수정이나 기능 개선 등 특정 목적으로 패키지를 수정해 재배포할 때 개인 패키지 아카이브를 제공하는 업체의 저장소를 사용하는 경우입니다.

우분투의 경우, Launchpad가 제공하는 Launchpad PPA(Personal Package Archive) 리포지토리를 사용할 수 있으며 add-apt-repository에서 해당 PPA를 지원합니다.

참고

DNF를 주 패키지 관리자로 사용하는 레드햇 계열 리눅스의 경우 공식 지원 저장소 외에 Fedora 프로젝트에서 지원하는 copr과 playground라는 저장소가 존재합니다. dnf-plugins-core 패키지를 설치하여 copr저장소와 playground 저장소를 관리할 수 있습니다.

보다 자세한 내용은 위 링크를 참고하시기 바랍니다.


apt-add-repository는 패키지 저장소를 관리하는 스크립트입니다.

패키지 저장소를 추가하기 위해서는 apt sources.list에 저장소를 추가하거나 sources.list.d 디렉터리에 저장소 구성 파일을 생성해주어야 합니다.

apt-add-repository는 저장소 추가 뿐만 아니라 제거 등 저장소를 관리하는데 사용되는 명령입니다.

apt-add-repository는 앞서 언급한 바와 같이 Launchpad PPA (Personal Package Archive) 리포지토리를 추가하기 위한 간단한 구문도 제공합니다.


add-apt-repository 명령 구문의 예(synopsis)

SYNOPSIS
       add-apt-repository [OPTIONS] REPOSITORY


add-apt-repository 명령(commands)

$ sudo apt-add-repository <-옵션> <소스 라인>

<sourceline>의 올바른 형식은 다음과 같습니다.

   따옴표로 묶인 완전한 apt 줄

apt-add-repository 'deb http://myserver/path/to/repo stable myrepo'


   리포지토리 URL 및 따옴표로 묶은 영역 (기본값은 'main')

$ sudo apt-add-repository http://extras.ubuntu.com/ubuntu

$ sudo apt-add-repository 'http://myserver/path/to/repo myrepo'

$ sudo apt-add-repository 'https://packages.medibuntu.org free non-free'

이상의 형식은 저장소(repository)가 /etc/apt/sources.list에 추가됩니다.


   PPA 단축 주소.

$ sudo apt-add-repository ppa:user/repository

$ sudo apt-add-repository ppa:user/distro/repository

ppa:<user> / <ppa-name> 형식은 /etc/apt/sources.list.d/ 디렉토리의 새 파일에 추가됩니다.

새로 추가된 PPA의 GPG 공개키도 다운로드되어 apt의 키링에 추가됩니다.


  배포 구성 요소

$ sudo apt-add-repository multiverse

주어진 배포 구성 요소가 모든 소스에 대해 활성화됩니다.


--remove가 제공되면 도구는 소스에서 지정된 소스를 제거합니다.



add-apt-repository 옵션 (Options)

-h, --help

show this help message and exit

-m, --massive-debug

명령줄에 많은 디버그 정보 출력

-r, --remove

sources.list.d 디렉터레 안의 저장소 제거

-s, --enable-source

저장소에서 소스 패키지를 다운로드할 수 있도록 합니다.

-y, --yes

모든 질의예 동의

-n, --no-update

추가 후 패키지 캐시를 업데이트하지 말기

-u, --update

추가 후 패키지 캐시를 업데이트하기 (기존 옵션)

-k KEYSERVER, --keyserver=KEYSERVER

레거시 옵션, 사용하지 않음.