-
[Linux] 우분투 패키지 저장소 추가하기IT Tech/Linux 2021. 2. 2. 16:29
패키지 저장소는 왜 추가해야 할까요?
ifconfig, netstat과 같이 정식 버전을 지원하는 소프트웨어는 apt install 명령어를 통해 간편하게 설치할 수 있습니다.
하지만 우분투 버전보다 높은 버전 또는 소프트웨어의 베타 버전 아니면 개인이 만들어서 유명하지 않는 소프트웨어를 패키지로 설치하려면 저장소를 추가하고 설치를 진행해야 합니다.
sources.list
소스 목록 /etc/apt/sources.list에 포함된 파일은 여러 곳의 활성화된 소스 레포지토리를 지정하는 파일입니다.
형식으로는
-
하나의 줄에 한 곳의 소스 저장소를 지정하는 한 줄 스타일
-
여러 줄을 지정하는 deb822 스타일
이 있습니다. 파일은 두 스타일을 포함하며 가장 선호되는 소스가 가장 먼저 나열됩니다.
이 파일에 구성된 소스 정보를 기반으로 apt update (구 apt-get update) 명령어를 통해 저장소 내 패키지 정보를 업데이트하고 이렇게 업데이트된 패키지 정보를 기반으로 apt-get install 명령어를 통해 패키지를 설치하거나 apt upgrade 명령어를 통해 패키지를 업그레이드하게 됩니다.
* upgrade를 하기위해 update가 먼저 실행되어야 한다.
인수
아카이브 유형
-
deb : deb 유형은 일반적으로 사용하는 사전 컴파일된 패키지인 바이너리 패키지 .deb 파일 저장소를 사용하겠다는 의미입니다.
-
deb-src : 패키지의 원본 소스와 Debian control(.dsc)파일 그리고 프로그램 패키징에 필요한 변경 사항이 포함된 diff.gz 파일이 존재하는 저장소를 사용하겠다는 의미입니다.
소스 저장소 URL과 URI 사양
http | https | file | cdrom | ftp | copy | rsh,ssh
Suite
Suite 유형은 두가지 방식으로 지정할 수 있습니다.
릴리스 기반
Bionic | Eoan | Focal
focal | focal-security | focal-updates | focal-backports | focal-security
개발 클래스
저장소가 제품 릴리스가 아니라 개발 단계에 따라 나누어지는 경우 사용하는 방식입니다.
stable | testing | unstable
옵션
특정 조건을 만족하는 패키지를 가져오기 위해 옵션을 설정합니다. 자주 쓰이는 옵션만 살펴보도록 하겠습니다.
-
아키텍처 : 아키텍처(arch)는 어떤 아키텍처 정보를 다운로드할지 정릐하는 다중값 옵션입니다. ex)[arch=amd64]
-
언어 지정(lang) : 가져올 특정 언어 번역 패키지를 정의하는 다중값 옵션입니다.
-
타겟(target) : 해당 소스에서 다운로드할 대상을 정의하는 다중값 옵션입니다.
-
인덱스 비교(pdiffs) : APT가 새 인덱스를 완전히 다운로드하는 대신 PDiff를 사용하여 이전 인덱스를 업데이트할지 여부를 제어하는 설정값으로, 설정은 yes/no로 설정합니다.
-
해시(by-hash) : APT는 잘 알려진 안정적인 인덱스 파일 이름을 사용하는 대신 예상 파일의 해시섬으로 구성된 URI를 통해 인덱스를 가져올지의 여부를 설정하는 옵션입니다.
-
신뢰할 수 있는 소스(trusted) : 소스가 신뢰할 수 있는 것으로 간주할지 또는 이 소스에서 패키지를 설치하기 전에 경고를 발생시킬지 설정하는 옵션입니다.
우분투에 캐시된 패키지 목록
$ apt-cache dump # 우분투에 캐시된 패키지 목록 $ apt-cache dump | grep "Package" | wc -l # Package에 해당하는 정보를 행 단위로 셈
PPA(Personal Pacakage Archive)란
우분투 패키지 저장소에는 유명한 프로그램이 아닌 일반 프로그램의 최신 버전이 담겨져 있지 않기 때문에 PPA에서 업데이트 및 설치를 해야합니다.
즉, 우분투의 공식 패키지 저장소에 없는 서드 파티 소프트웨어를 위한 개인용 소프트웨어 패키지 저장소입니다.
$ apt install software-properties-common
위의 명령어 없이도 대부분의 PPA가 잘 설치되지만 만에 하나 우분투나 패키지의 버전에 따라 오류가 발생하는 것을 방지할 수 있습니다.
$ add-apt-repositiory [저장소 이름] $ apt-get update $ apt-get install [프로그램명] # 삭제 시 $ add-apt-repository --remove [저장소 이름]
'IT Tech > Linux' 카테고리의 다른 글
[Linux] 파일 접근 허가와 사용자 추가 (0) 2021.02.02 [Linux] 특정 조건으로 파일 찾기 (0) 2021.02.02 [Linux] 특정 시간에 반복적으로 작업하기 (0) 2021.02.02 [Linux] 서비스 포트 관리 (0) 2021.01.28 [Linux] grep (0) 2021.01.23 -