리눅스/CentOS

DNF 저장소 옵션(Repo Options)과 저장소 변수(Repo Variables)

씨실과 날실 2020. 2. 22. 09:00


안내

앞으로 상당 기간에 걸쳐 RPM 기반 리눅스 배포판을 위한 패키지 관리도구 DNF에 대해 연재하게 되었습니다.

이 연재는 레드햇 계열 리눅스를 처음 접하는 분들을 위해 초심자가 꼭 알야야 하거나 또는 알면 유용한 것들을 선별하여 내용을 작성하였습니다.

잘못된 정보가 있다면 댓글로 제보해주시면 감사하겠습니다.


연재 항목은 다음과 같습니다.

2020/01/13 - [리눅스/CentOS] - DNF 명령 - DNF 명령 연재 목록

2020/01/18 - [리눅스/CentOS] - DNF 패키지 기본 관리 명령 1 - 패키지 설치(install), 제거(remove), 재설치(reinstall), 자동 제거(autoremove), 패키지 제거와 설치 동시 수행(swap)

2020/01/19 - [리눅스/CentOS] - DNF 패키지 기본 관리 명령 2 - 패키지 정보(Info), 목록(List), 종속성 목록(Deplist), 문제점 검사(Check), 그룹 관련 명령(Group), 작업 표시(Mark), 검색(Search), 조건 검색(Provides)

2020/01/23 - [리눅스/CentOS] - DNF 패키지 버전 관리 - 패키지 업그레이드(Upgrade), 최소 업그레이드(Upgrade-Minimal), 다운그레이드(Downgrade), 업데이트 정보(Updateinfo), 업데이트 확인(Check-Update)

2020/01/27 - [리눅스/CentOS] - DNF 명령 관리 - 명령 별명(Alias), 대화식 쉘(Shell), 도움말(Help)

2020/01/30 - [리눅스/CentOS] - DNF 트랜잭션 관리 - 트랜잭션 이력(History)

2020/02/01 - [리눅스/CentOS] - DNF 저장소 관리 - 저장소 정보(Repolist), 저장소 내 임시 파일 정리(Clean), 저장소 메타 데이터 캐시 생성(Makecache), 저장소 쿼리 명령(Repoquery), 저장소 패키지 명령(Repository-Packages)

2020/02/03 - [리눅스/CentOS] - DNF 배포판 동기화 - 배포판 동기화(Distro-Sync)

2020/02/05 - [리눅스/CentOS] - DNF 모듈 관리 - 모듈 관리(Module)

2020/02/09 - [리눅스/CentOS] - DNF 명령줄 옵션 연재 목록

2020/02/11 - [리눅스/CentOS] - DNF 명령줄 분류별 옵션 - [01] 패키지 관리

2020/02/13 - [리눅스/CentOS] - DNF 분류별 명령줄 옵션 - [02] 환경 설정

2020/02/15 - [리눅스/CentOS] - DNF 분류별 명령줄 옵션 - [03] 부가 기능

2020/02/17 - [리눅스/CentOS] - DNF 분류별 명령줄 옵션 - [04] 정보 확인

2020/02/20 - [리눅스/CentOS] - DNF 환경 설정[구성] 파일(dnf.conf) [main] 섹션 옵션

2020/02/22 - [리눅스/CentOS] - DNF 저장소 옵션(Repo Options)과 저장소 변수(Repo Variables)

2020/02/24 - [리눅스/CentOS] - 유용한 DNF 플러그인

2020/02/26 - [리눅스/CentOS] - DNF와 YUM의 차이점

이 연재에 사용된 DNF 메뉴얼의 저작권 정보는 다음과 같습니다.

2012-2019, Red Hat, Licensed under GPLv2+


옵션값 형태

boolean - 참/거짓 구별

단 두 개의 값만 가능한 데이터 유형입니다.

1/0, True/False, yes/no 옵션 중 하나를 사용할 수 있습니다.

integer - 정수

분수 구성 요소 없이 쓸 수 있는 정수입니다.

list - 목록

공백 또는 쉼표로 구분되는 하나 이상의 문자열로 나타내는 옵션입니다.

string - 공백 없는 문자 집합

공백이 없는 일련의 기호 또는 숫자입니다.


DNF Repo Options

저장소 설정 파일(foo.repo)에만 사용되는 옵션


baseurl

자료형 - list
기본값 - []
작동 환경 - 저장소 사용 시

저장소의 URL 목록을 설정하는 옵션입니다.


cost

자료형 - integer
기본값 - 1000
작동 환경 - 저장소 사용 시

해당 저장소에 액세스하는 상대값입니다. 이 값은 둘 이상의  저장소의 우선순위가 같을 때 비교됩니다. 가장 낮은 값의 저장소가 선택됩니다.

라이브러리가 원격 저장소보다 시스템 디스크 내 저장소를 선호하도록 설정할 때 유용한 옵션입니다.

단 이 옵션이 작동되는 조건은 비교 대상의 저장소들이 모두 최신의 내용을 담고 있어야 합니다.


enabled

자료형 - boolean
기본값 - True
작동 환경 - 저장소 사용 시

해당 저장소를 활성화하여 패키지 다운로드 장소로 설정하는 옵션입니다.


gpgkey

자료형 - list of strings
기본값 -
작동 환경 - 저장소 사용 시

해당 저장소의 메타 데이터 및 패키지 서명에 사용할 수 있는 GPG 키 파일의 URL을 설정하는 옵션입니다.

이미 존재한 키를 사용하여 파일을 확인할 수 없는 경우 이 옵션에서 키를 가져와 확인합니다.


metalink

자료형 - string
기본값 -
작동 환경 - 저장소 사용 시

저장소에 대한 metalink의 URL입니다. 기본값은 비워져 있습니다.


mirrorlist

자료형 - string
기본값 -
작동 환경 - 저장소 사용 시

저장소에 대한 mirrorlist의 URL입니다. 즉, 미러 저장소의 주소를 설정하는 옵션입니다.

기본값은 비워져 있습니다.


module_hotfixes

자료형 - boolean
기본값 - False
작동 환경 - 저장소 사용 시

모듈 RPM 필터링을 사용하지 않고 저장소의 모든 RPM을 사용 가능하게 하려면 이 값을 True로 설정하십시오.

이를 통해 모듈러 시스템의 패키지 세트에 포함된 선별 핫픽스의 저장소를 만들 수 있습니다.


name

자료형 - string
기본값 - 저장소의 ID
작동 환경 - 저장소 사용 시

사용자가 이해하기 쉽게 지은 저장소 이름입니다.

기본값은 저장소의 ID입니다.


priority

자료형 - integer
기본값 - 99
작동 환경 - 저장소 사용 시

해당 저장소의 우선순위를 설정하는 옵션입니다. 기본값은 99입니다.

어떤 작업을 할 때,  활성화된 둘 이상의 저장소 각각에 사용 가능한 후보 패키지들이  있는 경우 우선순위 값이 가장 낮은 저장소의 패키지가 선택됩니다.


type

자료형 - string
기본값 -
작동 환경 - 저장소 사용 시

저장소 메타 데이터의 형식입니다.

지원하는 값은 rpm-md입니다.

rpm-md의 별칭은 다음과 같습니다.

rpm-md의 별칭

rpm, repomd, rpmmd, yum, YUM.


DNF 환경 설정[구성] 파일(dnf.conf) [main] 섹션과 저장소 설정 파일(foo.repo) 동시에 사용되는 옵션

bandwidth / countme / deltarpm / deltarpm_percentage / enablegroups / excludepkgs / fastestmirror / gpgcheck / includepkgs / ip_resolve / localpkg_gpgcheck / max_parallel_downloads / metadata_expire / minrate / password / proxy / proxy_username / proxy_password / proxy_auth_method / repo_gpgcheck / retries / skip_if_unavailable / sslcacert / sslverify / sslclientcert / sslclientkey / throttle / timeout / username / user_agent

위 옵션들은 DNF 환경 설정[구성] 파일(dnf.conf)의 [main] 섹션과 저장소 설정 파일(foo.repo) 둘 모두에서 사용되는 것들입니다.

이들 옵션에 대한 자세한 정보는 아래 글에서 다루었습니다.




DNF Repo Variables

모든 저장소의 옵션은 오른쪽에 다음의 변수로 조건을 보완할 수 있습니다.


$arch

컴퓨터 시스템의 CPU 아키텍처 변수입니다.

지원 아키텍처는 다음과 같습니다.

지원 CPU 아키텍처

aarch64, i586, i686, x86_64


$basearch

시스템의 기본 아키텍처를 나타냅니다.

참고

i586 및 i686 시스템은 모두 i386의 기본 아키텍처를 가집니다.

Intel64 및 AMD64 시스템은 x86_64의 기본 아키텍처를 갖습니다.


$releasever

DNF가 RPMDB에서 획득한 정보로부터 얻은 운영 체제의 릴리즈 버전을 말합니다.


사용자 정의 변수

이렇게 하드 코딩된 변수 외에도 사용자 정의 변수도 사용할 수 있습니다. 변수 파일을 통해 또는 특수 환경 변수를 사용하여 정의할 수 있습니다.

이 변수의 이름은 DNF_VAR_로 시작해야하며 영숫자 및 밑줄로만 구성 할 수 있습니다.

$DNF_VAR_MY_VARIABLE=value

$DNF_VAR_사용자_정의_변수명=변숫값