[관련 게시물]
2020/01/13 - [리눅스/CentOS] - DNF 명령 - DNF 명령 연재 목록
2020/01/27 - [리눅스/CentOS] - DNF 명령 관리 - 명령 별명(Alias), 대화식 쉘(Shell), 도움말(Help)
2020/01/30 - [리눅스/CentOS] - DNF 트랜잭션 관리 - 트랜잭션 이력(History)
2020/02/03 - [리눅스/CentOS] - DNF 배포판 동기화 - 배포판 동기화(Distro-Sync)
2020/02/05 - [리눅스/CentOS] - DNF 모듈 관리 - 모듈 관리(Module)
2020/02/09 - [리눅스/CentOS] - DNF 명령줄 옵션 연재 목록
안내
앞으로 상당 기간에 걸쳐 RPM 기반 리눅스 배포판을 위한 패키지 관리도구 DNF에 대해 연재하게 되었습니다.
이 연재는 레드햇 계열 리눅스를 처음 접하는 분들을 위해 초심자가 꼭 알야야 하거나 또는 알면 유용한 것들을 선별하여 내용을 작성하였습니다.
잘못된 정보가 있다면 댓글로 제보해주시면 감사하겠습니다.
연재 항목은 다음과 같습니다.
2020/01/13 - [리눅스/CentOS] - DNF 명령 - DNF 명령 연재 목록
2020/01/27 - [리눅스/CentOS] - DNF 명령 관리 - 명령 별명(Alias), 대화식 쉘(Shell), 도움말(Help)
2020/01/30 - [리눅스/CentOS] - DNF 트랜잭션 관리 - 트랜잭션 이력(History)
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)
DNF 옵션 목록(총 53개)
-4
-6
--advisory=<advisory>, --advisories=<advisory>
--allowerasing
--assumeno
-b, --best
--bugfix
--bz=<bugzilla>, --bzs=<bugzilla>
-C, --cacheonly
--color=<color>
--comment=<comment>
-c <config file>, --config=<config file>
--cve=<cves>, --cves=<cves>
-d <debug level>, --debuglevel=<debug level>
--debugsolver
--disableexcludes=[all|main|<repoid>], --disableexcludepkgs=[all|main|<repoid>]
--disable, --set-disabled
--disableplugin=<plugin names>
--disablerepo=<repoid>
--downloaddir=<path>, --destdir=<path>
--downloadonly
-e <error level>, --errorlevel=<error level>
--enable, --set-enabled
--enableplugin=<plugin names>
--enablerepo=<repoid>
--enhancement
-x <package-file-spec>, --exclude=<package-file-spec>
--excludepkgs=<package-file-spec>
--forcearch=<arch>
-h, --help, --help-cmd
--installroot=<path>
--newpackage
--noautoremove
--nobest
--nodocs
--nogpgcheck
--noplugins
--obsoletes
-q, --quiet
-R <minutes>, --randomwait=<minutes>
--refresh
--releasever=<release>
--repofrompath <repo>,<path/url>
--repo=<repoid>, --repoid=<repoid>
--rpmverbosity=<name>
--sec-severity=<severity>, --secseverity=<severity>
--security
--setopt=<option>=<value>
--skip-broken
--showduplicates
-v, --verbose
--version
-y, --assumeyes
DNF 명령줄 분류별 옵션
1. 패키지 관리
1-1. 자주 쓰는 패키지 옵션
종속성이 깨지거나 사용할 수 없는 패키지 건너 뛰기
--skip-broken
GPG 키 미확인
--nogpgcheck
불필요한 종속성 패키지 제거
--obsoletes
최신 패키지 버전 사용
-b, --best
1-2. 일반 패키지 옵션
최신 패키지가 아니더라도 사용 가능
--nobest
설명서 미설치
--nodocs
1-3. 고급 패키지 옵션
지정 패키지 제외
-x <package-file-spec>, --exclude=<package-file-spec>
지정 아키텍처 강제 사용
--forcearch=<arch>
패키지 설치 루트 지정
--installroot=<path>
1-4. 특정 정보 패키지 포함
버그 수정 패키지 포함
--bugfix
기능 개선 관련 패키지 포함
--enhancement
패키지 관련 새 패키지 포함
보안 문제 해결 패키지 포함
--security지정 심각도 수정 사항 패키자
--sec-severity=<severity>, --secseverity=<severity>
Bugzilla ID 문제 해결 패키지 포함
--bz=<bugzilla>, --bzs=<bugzilla>
CVE (Common Vulnerabilities and Exposures) ID 문제 수정 패키지 포함
--cve=<cves>, --cves=<cves>
권고(advisory) 패키지 포함
--advisory=<advisory>, --advisories=<advisory>
1-5. 패키지 단순 다운로드
패키지 세트 다운로드(설치 작업은 안함)
--downloadonly
다운로드 패키지 리디렉션
--downloaddir=<path>, --destdir=<path>
1-6. 자동 답변
가부 질의에 예 답변 미리 설정
-y, --assumeyes
가부 질의에 아니오 답변 미리 설정
--assumeno
번외. 구식 옵션
지정 패키지 제외
--excludepkgs=<package-file-spec>
2. 주요 환경설정
2-1. 환경설정 파일
환경설정 파일 위치
-c <config file>, --config=<config file>
구성 파일 내 옵션 재정의
--setopt=<option>=<value>
2-2. 저장소 관련 설정
저장소 활성화 여부
--disablerepo=<repoid>
특정 리포지토리만 활성화
--repo=<repoid>, --repoid=<repoid>
저장소 추가
--repofrompath <repo>,<path/url>
2-3. 플러그인 설정
플러그인 활성화 여부
모든 플러그인 비활성화
2-4. 기타 설정 옵션 비활성화
종속성 제거 설정 비활성화
--noautoremove
제외 설정 비활성화
--disableexcludes=[all|main|<repoid>], --disableexcludepkgs=[all|main|<repoid>]
2-5. 배포판 설정
배포판 지정
--releasever=<release>
3. 부가 기능
메타 데이터 만료
--refresh
최대 명령 대기 시간 설정
-R <minutes>, --randomwait=<minutes>
시스템 캐시 사용
-C, --cacheonly
터미널 내 색상 사용
--color=<color>
트랜잭션 주석 추가
--comment=<comment>
IP
-6
4. 정보 확인
4-1. 자주 쓰는 정보
도움말
-h, --help, --help-cmd
일반 상세 정보
-v, --verbose
중복 패키지
--showduplicates
버전 정보
--version
4-2. 특수 정보
종속성 해결사 디버그 정보
--debugsolver
DNF의 현재 상태 또는 동작 표시 메시지 미출력
-q, --quiet
RPM 디버그 스크립틀릿 정보 출력 수준
--rpmverbosity=<name>
번외. 구식 옵션
디버그 정보 출력 수준
-d <debug level>, --debuglevel=<debug level>
오류 정보 출력 수준
-e <error level>, --errorlevel=<error level>
1. 패키지 관리
1-1. 자주 쓰는 패키지 옵션
종속성이 깨지거나 사용할 수 없는 패키지 건너 뛰기
--skip-broken
트랜잭션에서 문제를 일으키는 패키지를 제거하여 종속성 문제를 해결합니다.
값이 False 인 strict 구성 옵션의 별명입니다.
GPG 키 미확인
--nogpgcheck
패키지에서 GPG 서명 확인을 건너 뜁니다 (RPM 정책이 허용하는 경우).
불필요한 종속성 패키지 제거
--obsoletes
이 옵션은 설치 / 업데이트 중에만 영향을 끼칩니다. dnf의 obsoletes 처리 절차를 활성화합니다. 즉, 주어진 패키지의 종속성이 더 이상 필요하지 않은지 dnf가 확인하고 제거합니다. 리눅스 배포판 수준 업그레이드를 수행 할 때 유용합니다. 기본값은 'true'입니다.
최신 패키지 버전 사용
-b, --best
트랜잭션에서 사용 가능한 최신의 패키지 버전을 사용하도록 합니다.
특히 dnf 업그레이드 중에 기본적으로는 종속성을 이유로 설치할 수 없는 업데이트를 건너뛰지만 이 옵션은 강제적으로 DNF가 최신 패키지만 고려하도록 합니다.
설치된 패키지 삭제를 통한 종속성 해결
--allowerasing
설치된 패키지를 지워서 종속성을 해결합니다.이 옵션은 제거할 패키지가 명시적으로 정의되지 않은 yum swap 명령의 대안으로 사용될 수 있습니다.
1-2. 일반 패키지 옵션
최신 패키지가 아니더라도 사용 가능
--nobest
best 옵션을 False로 설정합니다. 트랜잭션이 최상의 후보로만 제한되지 않습니다.
설명서 미설치
--nodocs
설명서를 설치하지 않습니다. rpm 플래그 'RPMTRANS_FLAG_NODOCS'를 설정합니다.
1-3. 고급 패키지 옵션
지정 패키지 제외
-x <package-file-spec>, --exclude=<package-file-spec>
지정한 패키지를 제외합니다.
지정 아키텍처 강제 사용
--forcearch=<arch>
아키텍처를 사용하도록 강제합니다. 모든 아키텍처를 지정할 수 있습니다. 그러나 CPU에서 기본적으로 지원하지 않는 아키텍처를 사용하려면 에뮬레이션이 필요합니다. 에뮬레이션은 보통 QEMU를 통해 이루어집니다.
패키지 설치 루트 지정
--installroot=<path>
모든 패키지가 설치될 위치에 대한 대체 설치 루트를 지정합니다.
--installroot 옵션의 사용은 chroot가 작성되기 전에 dnf가 작동하도록한다는 점을 제외하고는 chroot <root>를 수행하는 것과 같습니다.
이 옵션을 사용하려면 설정값에 상대 경로가 아닌 절대 경로가 필요합니다.
참고 사항
cachedir, 로그 파일, releasever 및 gpgkey
cachedir, 로그 파일, releasever 및 gpgkey는 installroot에서 가져 오거나 installroot에 저장됩니다.
Gpgkeys는 구성 파일의 저장소 섹션에서 지정된 호스트에 대한 경로에서 installroot로 가져옵니다.
환경설정(구성) 파일 및 reposdir
구성 파일 및 reposdir은 우선적으로 installroot에서 검색됩니다. 만약 존재하지 않으면 호스트 시스템에서 가져옵니다.
참고 : 경로가 명령줄 인수 (구성 파일의 경우 --config=<config file> 및 reposdir의 경우 --setopt=reposdir=<reposdir> 인 경우) 내에 지정된 경우 이 경로는 예외 없이 항상 호스트를 기준으로 합니다.
vars
reposdir에 따라 호스트 시스템 또는 installroot에서 vars를 가져옵니다. reposdir 경로가 명령행 인수 내에 지정되면 vars는 installroot에서 가져옵니다. varsdir 경로가 명령줄 인수 (--setopt = varsdir=<reposdir>) 내에 지정되면 해당 경로는 예외없이 항상 호스트를 기준으로 합니다..
pluginpath 및 pluginconfpath
pluginpath 및 pluginconfpath는 호스트와 관련이 있습니다.
참고로 installroot를 만들 때 명령줄 옵션 --releasever=<release>를 사용할 수도 있습니다. 그렇지 않으면 $releasever값은 installroot 내의 rpmdb에서 가져옵니다 (따라서 생성 시 비어있고 트랜잭션 수행 시 실패함). --releasever=/를 사용하면 호스트 (/) 시스템에서 릴리스가 감지됩니다. 작성시 새 installroot 경로에는 저장소, releasever 및 dnf.conf 파일이 없습니다.
모듈러
시스템에서는 installroot를 만들 때
--setopt=module_platform_id=<module_platform_name:stream> 명령줄 옵션을
사용할 수도 있습니다. 그렇지 않으면 installroot 내의 /etc/os-release 파일에서
module_platform_id 값을 가져옵니다 (따라서 작성시 비어있을 수 있으며, 모듈러 종속성이 만족스럽지 않고 모듈
컨텐츠가 제외될 수 있습니다).
Installroot 사용례:
<installroot> 디렉토리의 시스템 releasever를 영구적으로 <release>로 설정합니다.[study@localhost ~]$ sudo dnf --installroot=<installroot> --releasever=<release> install system-release
[study@localhost ~]$ sudo dnf --installroot=<installroot> --setopt=reposdir=<path> --config /path/dnf.conf upgrade/path/dnf.conf의 구성을 사용하여 --setopt에 설명된 저장소에서 installroot 내의 패키지를 업그레이드합니다.
1-4. 특정 정보 패키지 포함
버그 수정 패키지 포함
--bugfix
버그 수정 패키지를 포함합니다.
install, repoquery, updateinfo 및 upgrade 명령에 적용 가능합니다.
기능 개선 관련 패키지 포함
--enhancement
기능 개선 관련 패키지를 포함합니다.
패키지 관련 새 패키지 포함
--newpackage
패키지 관련 새 패키지를 포함합니다.
보안 문제 해결 패키지 포함
--security
보안 문제에 대한 수정 사항을 제공하는 패키지를 포함합니다.
지정 심각도 수정 사항 패키자
--sec-severity=<severity>, --secseverity=<severity>
지정된 심각도의 문제에 대한 수정 사항을 제공하는 패키지를 포함합니다.
Bugzilla ID 문제 해결 패키지 포함
--bz=<bugzilla>, --bzs=<bugzilla>
Bugzilla ID 문제를 해결하는 패키지를 포함합니다. (예 : 123123)
CVE (Common Vulnerabilities and Exposures) ID 문제 수정 패키지 포함
--cve=<cves>, --cves=<cves>
CVE (Common Vulnerabilities and Exposures) ID(http://cve.mitre.org/about/) 문제를 수정하는 패키지를 포함합니다. (예 : CVE-2201-0123)
install, repoquery, updateinfo 및 upgrade 명령에 적용 가능합니다.
참고
CVE란?
CVE (Common Vulnerabilities and Exposures)는 공개적으로 알려진 사이버 보안 취약점에 대한 일반적인 식별자 목록입니다.
우리는 CNA(CVE 번호 부여 기관)에서 할당한 CVE 번호를 사용하여 소프트웨어 또는 펌웨어 취약성에 대한 정보와 해결책을 공유할 수 있습니다.
권고(advisory) 패키지 포함
--advisory=<advisory>, --advisories=<advisory>
권고 ID에 해당하는 패키지를 포함합니다.(예 : FEDORA-2201-123)
install, repoquery, updateinfo 및 upgrade 명령에 적용 가능합니다.
1-5. 패키지 단순 다운로드
패키지 세트 다운로드(설치 작업은 안함)
--downloadonly
rpm 트랜잭션을 수행하지 않고 해결된 패키지 세트를 다운로드합니다.
다운로드 패키지 리디렉션
--downloaddir=<path>, --destdir=<path>
다운로드한 패키지를 설정한 디렉터리로 리디렉션합니다.
1-6. 자동 답변
가부 질의에 예 답변 미리 설정
-y, --assumeyes
모든 질문에 자동으로 예라고 대답합니다.
가부 질의에 아니오 답변 미리 설정
--assumeno
모든 질문에 자동으로 아니오로 답변합니다.
번외. 구식 옵션
지정 패키지 제외
--excludepkgs=<package-file-spec>
더 이상 사용되지 않는 옵션입니다. --exclude 옵션으로 대체되었습니다 .
2. 주요 환경설정
2020/02/13 - [리눅스/CentOS] - DNF 분류별 명령줄 옵션 - [02] 환경 설정
2-1. 환경설정 파일
환경설정 파일 위치
-c <config file>, --config=<config file>
환경설정 파일 위치
구성 파일 내 옵션 재정의
--setopt=<option>=<value>
구성 파일에서 구성 옵션을 대체합니다.
저장소의 구성 옵션을 재정의하려면 <option>에 repoid.option을 사용하십시오.
excludepkgs, includepkgs, installonlypkgs 및 tsflags와 같은 구성 옵션값은 원래 값에 추가되며 기존값을 덮어쓰지 않습니다.
2-2. 저장소 관련 설정
저장소 활성화 여부
--enable, --set-enabled
지정한 저장소를 활성화합니다 (자동 저장됩니다.).
--disable, --set-disabled
지정한 저장소를 비활성화합니다 (자동으로 저장됩니다.).
--enablerepo=<repoid>
repoid 또는 globs로 특정 저장소를 활성화합니다.
--disablerepo=<repoid>
repoid 또는 globs로 특정 저장소를 비활성화합니다. 이 옵션은 --repo 옵션과 상호 배타적입니다.
특정 리포지토리만 활성화
--repo=<repoid>, --repoid=<repoid>
repoid 또는 globs로 특정 리포지토리만 활성화합니다. 여러 번 사용가능 하며, 효과가 누적됩니다.
저장소 추가
--repofrompath <repo>,<path/url>
추가할 저장소를 저장소에 지정합니다.
참고
저장소 레이블은 <repo>로 지정됩니다.
저장소의 경로 또는 URL은 <path/url>로 지정됩니다. 이것은 baseurl과 동일한 경로이며 repo 변수로 보강될 수도 있습니다.
저장소의 구성은 --setopt=<repo>.<option>=<value>를 사용하여 조정할 수 있습니다.
이 저장소에서 패키지만 보려면 --repo=<repo>또는 --disablerepo="*"를 덧붙입니다.
2-3. 플러그인 설정
플러그인 활성화 여부
--enableplugin=<plugin names>
이름 또는 globs로 지정된 나열 플러그인을 활성화합니다.
--disableplugin=<plugin names>
이름 또는 globs로 지정된 나열 플러그인을 비활성화합니다.
모든 플러그인 비활성화
--noplugins
모든 플러그인을 비활성화합니다.
2-4. 기타 설정 옵션 비활성화
종속성 제거 설정 비활성화
--noautoremove
더 이상 사용되지 않는 종속성 제거를 비활성화합니다.
제외 설정 비활성화
--disableexcludes=[all|main|<repoid>], --disableexcludepkgs=[all|main|<repoid>]
환경설정(구성) 파일의 제외 설정을 비활성화합니다.
다음 세가지 옵션을 사용할 수 있습니다.
all : 모든 구성 파일의 제외 설정을 비활성화합니다.
main : [main]섹션에 정의된 제외 설정을 비활성화합니다.
repoid : 지정된 저장소에 대해 정의된 제외 설정을 비활성화합니다.
2-5. 배포판 설정
배포판 지정
--releasever=<release>
배포판 릴리스가 구성된 것처럼 DNF를 설정합니다. 이는 캐시 경로, 구성 파일의 설정값, 미러 목록 URL 등에 영향을 미칩니다.
부가 기능
2020/02/15 - [리눅스/CentOS] - DNF 분류별 명령줄 옵션 - [03] 부가 기능
메타 데이터 만료
--refresh
명령을 실행하기 전에 메타 데이터를 만료된 것으로 설정합니다.
최대 명령 대기 시간 설정
-R <minutes>, --randomwait=<minutes>
최대 명령 대기 시간을 설정합니다.
시스템 캐시 사용
-C, --cacheonly
시스템 캐시에서 완전히 실행하고 캐시를 업데이트하지 않고 만료된 경우에도 사용합니다.
DNF는 각 사용자마다 별도의 캐시를 사용합니다.
터미널 내 색상 사용
--color=<color>
터미널 출력에 색상 사용 여부를 제어합니다.
트랜잭션 주석 추가
--comment=<comment>
트랜잭션 이력(history)에 주석을 추가합니다.
IP
-4
IPv4 주소로만 해결합니다.
-6
IPv6 주소로만 해결합니다.4. 정보 확인
2020/02/17 - [리눅스/CentOS] - DNF 분류별 명령줄 옵션 - [04] 정보 확인
2020/01/27 - [리눅스/CentOS] - DNF 명령 관리 - 명령 별명(Alias), 대화식 쉘(Shell), 도움말(Help)
4-1. 자주 쓰는 정보
도움말
-h, --help, --help-cmd
해당 명령어의 도움말을 보여줍니다.
일반 상세 정보
-v, --verbose
상세 작업, 디버그 메시지를 표시합니다.
중복 패키지
--showduplicates
활성화된 저장소 내에 있는 중복 패키지를 표시합니다.
list 및 search 명령에 적용 가능합니다.
버전 정보
--version
DNF 버전을 표시하고 종료합니다.
4-2. 특수 정보
종속성 해결사 디버그 정보
--debugsolver
종속성 해결사가 디버깅하는데 도움되는 데이터를 ./debugdata로 덤프합니다.
DNF의 현재 상태 또는 동작 표시 메시지 미출력
-q, --quiet
비대화식 명령과 함께 관련 내용만 표시합니다. DNF의 현재 상태 또는 동작을 알려주는 메시지를 표시하지 않습니다.
RPM 디버그 스크립틀릿 정보 출력 수준
--rpmverbosity=<name>
RPM 디버그 스크립틀릿 정보 출력 수준입니다. 지정한 RPM 스크립틀릿에 대한 디버그 수준을 설정합니다.
번외. 구식 옵션
디버그 정보 출력 수준
-d <debug level>, --debuglevel=<debug level>
디버깅 정보 출력 수준을 뜻합니다.
0에서 10까지의 정수값을 가지는데 0은 추가 정보 미출력을 의미하고 10은 모든 디버깅 정보를 출력을 의미하는데 10의 경우 출력 정보가 사용자가 이해하지 못할 수도 있습니다. 참고로 기본값은 2입니다.
오류 정보 출력 수준
-e <error level>, --errorlevel=<error level>
오류 정보 출력 수준이며 0과 10 사이의 정수값을 가집니다. 0은 오류 정보 미출력, 10은 모든 오류 메시지 표시를 뜻합니다. 기본값은 3입니다.
현재는 더 이상 쓰이지 않는 옵션이며 -v를 대신 사용하시기 바랍니다.'리눅스 > CentOS' 카테고리의 다른 글
DNF 분류별 명령줄 옵션 - [04] 정보 확인 (0) | 2020.02.17 |
---|---|
DNF 분류별 명령줄 옵션 - [03] 부가 기능 (0) | 2020.02.15 |
DNF 분류별 명령줄 옵션 - [02] 환경 설정 (0) | 2020.02.13 |
DNF 명령줄 분류별 옵션 - [01] 패키지 관리 (0) | 2020.02.11 |
DNF 모듈 관리 - 모듈 관리(Module) (0) | 2020.02.05 |
DNF 배포판 동기화 - 배포판 동기화(Distro-Sync) (0) | 2020.02.03 |
DNF 저장소 관리 - 저장소 정보(Repolist), 저장소 내 임시 파일 정리(Clean), 저장소 메타 데이터 캐시 생성(Makecache), 저장소 쿼리 명령(Repoquery), 저장소 패키지 명령(Repository-Packages) (0) | 2020.02.01 |
DNF 트랜잭션 관리 - 트랜잭션 이력(History) (0) | 2020.01.30 |