매일 업데이트
2023-09-29 11:20 10 min

우분투 리포지토리란 무엇입니까? 작동 방식 및 활성화/비활성화 방법

우분투 저장소에 대해 들어보신 적 있으신가요? 우분투에서 소프트웨어를 다운로드, 설치, 제거하거나 업데이트할 때마다 사용되는 중요한 요소입니다.

그렇다면 이러한 모든 저장소가 운영체제 내부에 있는 걸까요? 아니면 외부 어딘가에 있는 걸까요?

이 글에서는 우분투 저장소의 역할, 작동 방식, 활성화 및 비활성화 방법에 대해 자세히 알아보겠습니다.

자, 시작해 볼까요?

우분투 저장소란 무엇일까요?

우분투 저장소는 우분투에서 관리하는 소프트웨어 보관소입니다. 인터넷을 통해 접근 가능하며, 누구나 이를 이용하여 우분투 도구와 소프트웨어에 접속할 수 있습니다.

이 저장소에는 수백, 수천 개의 소프트웨어가 포함되어 있으며, 일반 사용자가 자유롭게 이용할 수 있습니다. 일종의 거대한 소프트웨어 라이브러리라고 생각하시면 됩니다.

우분투 저장소는 사용자에게 필요한 소프트웨어를 안전하고 중앙화된 장소에서 제공하는 것을 목표로 합니다. 저장소에 추가되는 소프트웨어는 엄격한 규칙을 준수하며, 우분투 버전과의 호환성을 철저히 테스트한 후에 배포됩니다.

우분투는 데비안 기반이기 때문에 APT 패키지 관리자를 사용하여 소프트웨어를 관리합니다. 패키지는 .deb 형식으로 제공되며, 소프트웨어 실행에 필요한 라이브러리와 프로그램을 포함하고 있습니다.

이러한 방식은 소프트웨어 접근 방식에서 macOS나 Windows와 차이가 있습니다. macOS나 Windows에서는 소프트웨어가 압축된 형태로 제공되는 경우가 많지만, 리눅스에서는 다양한 버전에 맞는 다양한 패키지 형식을 제공합니다. 예를 들어 데비안 계열은 DEB 패키지를 사용하는 반면, RHEL 기반 배포판은 RPM 패키지를 사용합니다.

우분투에서는 APT 패키지 관리자를 사용하기 때문에, 소프트웨어를 설치하려면 `apt` 명령어를 사용해야 합니다.

우분투 저장소가 어떻게 작동하는지 더 잘 이해하기 위해 패키지 관리자에 대해 좀 더 자세히 살펴보겠습니다.

우분투 저장소는 패키지 관리자와 어떻게 협력할까요?

우분투 저장소의 작동 원리를 이해하려면 패키지 관리자가 어떤 역할을 하는지 알아야 합니다.

패키지 관리자는 리눅스 배포판에서 패키지를 관리하는 데 사용되는 소프트웨어 도구입니다. 패키지를 설치, 업데이트, 제거 또는 구성할 수 있도록 도와줍니다.

이러한 작업은 저장소의 개념과 밀접하게 연결되어 있습니다.

저장소는 모든 패키지의 정보가 기록된 가상의 장소입니다. 각 패키지에는 메타데이터 정보가 함께 제공됩니다.

따라서 업데이트, 검색, 설치 등과 같은 작업을 수행할 때 패키지 관리자는 소프트웨어 저장소와 협력하여 작업을 성공적으로 완료합니다.

예를 들어 특정 패키지를 설치하려면 패키지 관리자가 해당 패키지를 저장소에서 찾아서 설치를 진행합니다.

그러나 패키지 관리자는 저장소와 직접 통신하기 전에 로컬 메타데이터 캐시를 먼저 확인합니다. 로컬 캐시를 사용하면 명령을 실행할 때마다 원격 저장소에 연결할 필요가 없습니다. 하지만 캐시가 오래된 경우 "패키지를 찾을 수 없음" 오류가 발생하며 소프트웨어 설치에 실패할 수 있습니다.

참고: [해결됨] Linux에서 “E: 패키지를 찾을 수 없습니다” 오류

따라서 패키지를 설치하거나 업데이트하기 전에 로컬 캐시를 업데이트해야 합니다.

우분투 저장소의 종류

우분투 저장소는 크게 다섯 가지 범주로 나눌 수 있습니다. 주요 범주는 다음과 같습니다.

  • 기본(Main)
  • 제한된(Restricted)
  • 유니버스(Universe)
  • 멀티버스(Multiverse)
  • 개인 패키지 저장소(PPA)

일반적으로 사용자는 이 정도만 알고 있어도 충분하지만, 우분투 저장소에 대한 완벽한 이해를 위해서는 각 저장소 유형이 제공하는 내용에 대해 알아두는 것이 좋습니다.

#1. 기본 (Main)

기본(Main) 우분투 저장소는 자유 소프트웨어의 중심지입니다. 이 저장소에 등록된 모든 소프트웨어는 무료로 재배포할 수 있으며, 우분투 팀에서 기술 지원을 제공합니다. 이러한 이유로 기본 저장소는 매우 인기 있으며, 사용자는 다양한 오픈 소스 앱에 쉽게 접근할 수 있습니다. 우분투 개발자 및 커뮤니티는 사용자에게 가치를 제공하기 위해 소프트웨어를 직접 선택하여 기본 저장소의 소프트웨어 목록을 관리합니다. 또한 각 소프트웨어는 Canonical의 기술 지원과 함께 보안 업데이트를 제공받습니다.

참고: 이 저장소는 우분투를 처음 설치할 때 기본적으로 활성화되어 있습니다.

#2. 제한된 (Restricted)

제한된(Restricted) 저장소는 무료가 아닌 도구나 드라이버를 포함합니다. 우분투는 오픈 소스를 지향하지만, 사용자가 하드웨어를 정상적으로 사용하려면 독점 도구나 드라이버가 필요한 경우가 있습니다. 제한된 저장소에 있는 소프트웨어는 우분투 개발자나 커뮤니티에서 업데이트할 수 없으며, 업데이트 작업은 원래 개발자에게 맡겨집니다.

#3. 유니버스 (Universe)

유니버스(Universe) 저장소는 수많은 무료 오픈 소스 소프트웨어를 제공합니다. 하지만 기본 저장소와 달리 우분투 팀에서 보안 업데이트를 관리하지 않으므로, 정기적인 보안 업데이트를 받을 수 없습니다. 유니버스 저장소는 커뮤니티에서 관리하며, 우분투는 커뮤니티 중심이기 때문에 수많은 유용한 소프트웨어에 접근할 수 있습니다.

#4. 멀티버스 (Multiverse)

멀티버스(Multiverse) 저장소는 FOSS (Free and Open Source Software)가 아닌 소프트웨어를 제공합니다. 이 저장소에서는 법적 또는 라이선스 비용이 발생하거나 문제가 있을 수 있는 비자유 소프트웨어에 접근할 수 있습니다. 따라서 멀티버스를 이용하는 경우, 저장소에서 소프트웨어를 다운로드하거나 설치하기 전에 주의를 기울여야 합니다.

#5. 개인 패키지 저장소 (PPA)

개인 패키지 저장소(PPA)는 개인이나 개발자 팀이 직접 관리하여 소프트웨어를 제공하는 저장소입니다. 다른 저장소를 통해 패키지를 사용할 수 없는 경우, PPA를 통해 쉽게 소프트웨어를 사용할 수 있습니다.

우분투 저장소 유형 활성화/비활성화

우분투 저장소 유형(기본, 유니버스, 멀티버스, 제한됨)은 그래픽 인터페이스를 사용하거나 명령어를 통해 활성화 또는 비활성화할 수 있습니다.

아래에서는 두 가지 방법을 모두 살펴보겠습니다.

#1. 그래픽 인터페이스 사용

우분투 저장소를 그래픽 인터페이스를 통해 켜거나 끄려면 “소프트웨어 및 업데이트”를 실행해야 합니다.

애플리케이션 메뉴에서 “소프트웨어 및 업데이트”를 검색하거나 실행하여 접근할 수 있습니다.

기본적으로 4개의 저장소가 모두 활성화되어 있습니다. 각 옵션을 켜거나 끄고 창을 닫으면 변경 사항이 적용됩니다.

파트너 저장소를 활성화하려면 “기타 소프트웨어” 탭으로 이동한 다음 “Canonical 파트너” 옵션을 선택하면 됩니다.

#2. 명령어 사용

명령어를 사용하여 우분투 저장소를 활성화할 수도 있습니다.

다음 명령어를 실행하여 각각의 저장소를 활성화할 수 있습니다.

$ sudo add-apt-repository main

$ sudo add-apt-repository restricted

$ sudo add-apt-repository universe

$ sudo add-apt-repository multiverse

하나의 명령어로 네 가지 저장소를 모두 활성화할 수도 있습니다.

$ sudo add-apt-repository main restricted universe multiverse
#output
sudo add-apt-repository main restricted universe multiverse

Adding component(s) 'main, restricted, universe, multiverse' to all repositories.

Press [ENTER] to continue or Ctrl-c to cancel.

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease

Hit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease

Hit:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease

Hit:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease

Reading package lists... Done

nitt ~

저장소를 제거하려면 `-r` 인수와 함께 동일한 명령어를 실행해야 합니다. 다음은 유니버스 저장소를 제거하는 명령어입니다.

$ sudo add-apt-repository -r universe

저장소를 비활성화하거나 삭제하려면 `sources.list` 파일을 편집하거나 그래픽 인터페이스를 사용해야 합니다.

다음 명령어를 사용하여 `sources.list` 파일을 편집할 수 있습니다.

$ sudo gedit /etc/apt/sources.list

만약 Gedit가 설치되어 있지 않다면 Vim을 사용하거나 다음 명령어를 사용하여 Gedit를 설치할 수 있습니다.

$ sudo apt-get install gedit

위 이미지에서 볼 수 있듯이, 제거하려는 저장소 줄의 주석 처리를 해제할 수 있습니다.

PPA: 우분투 저장소와 비교했을 때 어떤 위치에 있을까요?

우분투 저장소의 4가지 주요 유형 외에도 알아두어야 할 또 다른 유형이 있습니다. 바로 개인 패키지 저장소(PPA)입니다.

PPA는 개별 팀이나 개발자가 관리하며, 사용자에게 중앙화된 소프트웨어 저장소를 제공합니다. PPA는 향상된 호환성, 빠른 업데이트, 비공식 패키지 지원을 통해 기존 저장소에 비해 장점을 제공합니다.

하지만 신뢰성과 안정성이 더 중요하다면, 공식적으로 관리되는 우분투 저장소를 사용하는 것이 좋습니다.

PPA를 사용하려면 시스템의 저장소 목록에 해당 PPA를 추가해야 합니다.

PPA는 공식 PPA와 비공식 PPA의 두 가지 유형으로 나뉩니다. 공식 PPA는 공식 단체 또는 신뢰할 수 있는 조직에서 관리합니다. 이러한 공식 PPA는 일반적으로 사용하기에 안전하다고 여겨집니다. 반면, 비공식 PPA는 우분투와 아무런 관련이 없는 제3자 조직이나 개인이 생성하므로 신뢰성이 떨어질 수 있습니다.

우분투 저장소 관련 명령어

이 섹션에서는 저장소와 관련된 다양한 명령어를 요약해 보겠습니다.

저장소 목록 보기

시스템에 등록된 모든 저장소 목록을 확인하려면 다음 명령어를 실행합니다.

$ nano /etc/apt/sources.list

저장소 파일은 `/etc/apt/` 폴더에 있는 `source.list` 파일입니다.

하지만 `/etc/apt/sources.list.d/` 폴더와 같이 다른 위치에서도 찾을 수 있습니다.

이 파일은 편집 가능하며, 해당 줄에 주석 처리를 추가하여 저장소를 비활성화할 수 있습니다.

# deb http://archive.ubuntu.com/ubuntu focal multiverse

새로운 저장소 추가

앞서 설명한 것처럼 `apt-add-repository` 명령어를 실행하여 저장소를 추가할 수 있습니다. 이 명령어는 리포지토리 이름을 입력으로 받아들이는 `add-apt-repository`와는 다릅니다.

$ apt-add-repository ‘deb http://repository_address version branch’

여기에는 저장소 주소, 해당 버전, 그리고 분기를 입력해야 합니다.

또한 저장소를 추가할 때 해당 GPG 보안 키를 설치해야 할 수도 있습니다.

저장소 제거

다음 명령어를 사용하여 저장소를 제거할 수 있습니다.

$ add-apt-repository --remove ‘deb http://repository_address version branch'

우분투의 PPA 저장소

우분투에 PPA 저장소를 추가하려면 먼저 `software-properties-common` 패키지를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.

$ sudo apt-get install software-properties-common

설치가 완료되면 다음 명령어를 사용하여 PPA 저장소를 추가할 수 있습니다.

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

예를 들어 `notepadqq` PPA를 추가하려면 다음 명령어를 실행해야 합니다.

$ sudo add-apt-repository ppa:notepadqq-team/notepadqq

마찬가지로, 다음 명령어를 사용하여 PPA를 제거할 수 있습니다.

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

결론

우분투는 뛰어난 리눅스 배포판입니다. 리눅스 세계에 처음 입문하는 사용자에게 쉬운 길을 제공하며, 우분투 저장소는 우분투가 자체 APT 패키지 관리자를 통해 패키지를 관리하는 방법을 보여주는 좋은 예입니다.

이제 우분투 저장소가 어떻게 작동하는지 완벽하게 이해했으므로, 필요에 따라 이를 사용자 정의할 수 있습니다.

다음으로 우분투 PPA에 대한 자세한 내용과 설치 방법에 대해 알아보세요.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.