온라인에서 사용할 수 있는 수많은 Linux 패키지가 어떻게 우리 컴퓨터에 설치될까요? 각 소프트웨어의 다운로드 페이지를 방문할 수도 있지만, 훨씬 더 효율적인 해결책이 있습니다. 바로 패키지 저장소 (repository) 입니다.
패키지 저장소란 무엇인가
패키지 저장소는 소프트웨어의 중앙 저장 위치입니다. 이 저장소들은 인터넷상의 서버에 호스팅되며, 선별된 Linux 패키지 모음을 포함하고 있어 수동 다운로드 및 설치의 필요성을 없애줍니다. 이 시스템은 현대 Linux 패키지 관리의 초석이며, 소프트웨어를 간소화되고 안전한 방식으로 관리할 수 있도록 제공합니다.
저장소 작동 방식
시스템의 패키지 관리자는 이러한 저장소를 어디서 찾아야 하는지 알아야 합니다. 사용자에게 소스 링크를 제공하면 나머지는 패키지 관리자가 처리합니다.
예를 들어, Docker 를 설치할 때 웹사이트에서 직접 다운로드하지 않습니다. 대신, https://download.docker.com/linux/ubuntu와 같은 URL 에 호스팅된 Docker 의 공식 저장소를 사용하도록 패키지 관리자를 구성합니다. 구성이 완료되면 시스템은 해당 저장소 내의 docker-ce, docker-ce-cli, containerd.io와 같은 모든 패키지에 액세스할 수 있습니다.
저장소 소스 구성
사용자의 Linux 배포판에는 이미 시스템의 모든 기본 패키지에 대한 사전 구성된 저장소 세트가 포함되어 있습니다. Ubuntu 와 같은 Debian 기반 시스템에서는 이러한 소스에 대한 기본 구성이 apt sources list를 통해 관리됩니다.
전통적으로 이 목록은 단일 파일인 /etc/apt/sources.list입니다. 시스템의 패키지 관리자는 이 파일을 읽어 사용 가능한 소프트웨어 및 업데이트를 확인해야 할 저장소가 무엇인지 파악합니다.
또한 /etc/apt/sources.list.d/ 디렉터리에 새 저장소 구성을 추가하는 것이 일반적인 관행입니다. 최신 Ubuntu 버전 (22.04 이상) 은 기본적으로 이 디렉터리를 사용하여 소스를 구조화된 .sources 파일로 구성합니다. 이 접근 방식은 타사 저장소를 시스템 기본 소스와 분리하여 패키지 관리를 더 깔끔하고 체계적으로 만듭니다. /etc/apt/sources.list와 /etc/apt/sources.list.d/ 내의 파일 모두 apt 패키지 관리자에 의해 사용됩니다.