[관련 게시물]
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>
1. 패키지 관리
1-1. 자주 쓰는 패키지 옵션
종속성이 깨지거나 사용할 수 없는 패키지 건너 뛰기
--skip-broken
사용 빈도 : 높음
트랜잭션 과정에서 문제를 일으키는 패키지를 제거하여 종속성 문제를 해결합니다.
dnf.conf의 [main] 섹션에 사용되는 구성 옵션 strict=FALSE를 dnf 명령에서도 사용할 수 있도록 해주는 옵션입니다.
[study@localhost ~]$ sudo dnf --skip-broken install httpd
GPG 키 미확인
--nogpgcheck
사용 빈도 : 중간
비고 : 보안상 사용을 권장하지 않음
일반적으로 패키지를 설치할 때 GPG 서명 확인을 건너 뜁니다.
[study@localhost ~]$ sudo dnf --nogpgcheck install httpd
불필요한 종속성 패키지 제거
--obsoletes
사용 빈도 : 높음
해당 옵션 사용 가능 명령 : install, upgrade, list, repoquery
관련 dnf.conf 구성 옵션과 기본값 : obsoletes=true
비고 : 이 옵션은 주로 upgrade 시 사용됨
주 기능은 불필요한 종속성을 제거하는 것입니다.
[study@localhost ~]$ sudo dnf --obsoletes upgrade
[study@localhost pkgs]$ dnf repoquery --obsoletes CentOS-8 - AppStream 952 kB/s | 6.4 MB 00:06 CentOS-8 - Base 1.6 MB/s | 5.0 MB 00:03 CentOS-8 - Extras 835 B/s | 2.1 kB 00:02 Cython < 0.28.1-5 GConf2-gtk < 3.2.6-6 NetworkManager < 1.0.0 NetworkManager < 1:0.9.9.95-1 NetworkManager < 1:1.5.3 NetworkManager-atm NetworkManager-bt NetworkManager-config-routing-rules < 1:1.20.0-3.el8 NetworkManager-gnome < 1:0.9.7 - 중략 - org-x11-drv-ati-firmware < 6.13.0-0.22 xorg-x11-drv-keyboard < 1.8.0-6 xorg-x11-drv-modesetting < 1.20.3-8.el8 xorg-x11-drv-mouse < 1.9.0-8 xorg-x11-drv-synaptics < 1.9.0-3 xorg-x11-drv-vmmouse < 13.1.0-4 xorg-x11-fonts-base <= 7.5-19.el8 xorg-x11-glamor < 1.20.3-8.el8 xz-compat-libs < 5.2.4-3.el8 [study@localhost pkgs]$ [study@localhost pkgs]$ dnf provides GConf2-gtk 마지막 메타 데이터 만료 확인 : 0:11:10 전에 2020년 02월 09일 (일) 오후 12시 18분 41초. GConf2-3.2.6-22.el8.x86_64 : A process-transparent configuration system Repo : @System 일치 항목 : 제공 : GConf2-gtk = 3.2.6-6 GConf2-3.2.6-22.el8.i686 : A process-transparent configuration system Repo : AppStream 일치 항목 : 제공 : GConf2-gtk = 3.2.6-6 GConf2-3.2.6-22.el8.x86_64 : A process-transparent configuration system Repo : AppStream 일치 항목 : 제공 : GConf2-gtk = 3.2.6-6 [study@localhost pkgs]$
최신 패키지 버전 사용
-b, --best
사용 빈도 : 낮음
해당 옵션 사용 가능 명령 : install, upgrade, list, repoquery
관련 dnf.conf 구성 옵션과 기본값 : best=true
비고 : 사용 빈도가 낮은 이유는 dnf 구성 옵션의 기본값이므로
트랜잭션에서 사용 가능한 최신의 패키지 버전을 사용하도록 합니다.
보통 dnf 명령으로 업그레이드를 할 때는 종속성을 이유로 설치할 수 없는 경우 해당 패키지 업그레이드를 건너뛰지만 이 옵션을 사용하면 강제적으로 DNF가 최신 패키지만 고려합니다.
[study@localhost ~]$ sudo dnf -b upgrade
설치된 패키지 삭제를 통한 종속성 해결
--allowerasing
사용 빈도 : 낮음
해당 옵션 주 사용 명령 : install
비고 : swap 명령 대신 사용 가능
종속성 문제를 해결하기 위한 기존 패키지 삭제를 허용하는 옵션입니다.
swap명령의 경우 제거해야 할 패키지와 새로 설치할 패키지를 명시적으로 지정해야만 사용할 수 있습니다. 그러나 문제가 되는 종속성 패키지를 모르는 경우가 많습니다. 이때 굳이 제거할 패키지를 지정해줄 필요 없는 이 옵션을 사용해주면 문제없이 새 패키지를 설치할 수 있습니다.
[study@localhost ~]$ sudo dnf --allowerasing install 패키지명
1-2. 일반 패키지 옵션
최신 패키지가 아니더라도 사용 가능
--nobest
사용 빈도 : 낮음
해당 옵션 주 사용 가능 명령 : install, upgrade
관련 dnf.conf 구성 옵션과 기본값 : --best=true
비고 :
best 옵션을 False로 설정합니다. 트랜잭션이 최상의 후보로만 제한되지 않습니다.
[study@localhost ~]$ sudo dnf --nobest upgrade
설명서 미설치
--nodocs
사용 빈도 : 낮음
해당 옵션 주 사용 가능 명령 : install, upgrade
관련 dnf.conf 구성 옵션과 기본값 : --best=true
비고 : 해당 옵션 사용 권장하지 않음
설명서를 설치하지 않습니다.
해당 옵션은 사용하지 않는 것을 강력히 권고합니다. 설명서 자체가 많은 용량을 차지하는 것도 아니며 사용법과 문제 해결 방법을 man 명령을 통해 쉽게 찾을 수 있게 되는데 굳이 설명서를 설치하지 않을 이유가 없습니다.
설명서 미설치 옵션 사용 시
[study@localhost ~]$ sudo dnf --nodocs install mc 마지막 메타 데이터 만료 확인 : 0:02:16 전에 2020년 02월 08일 (토) 오후 08시 01분 19초. 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ Installing: mc x86_64 1:4.8.19-9.el8 AppStream 1.9 M 거래 요약 ================================================================================ 설치 1 꾸러미 총 다운로드 크기 : 1.9 M 설치 크기 : 6.8 M 이게 괜찮습니까 [y / N] : y 패키지 다운로드중: mc-4.8.19-9.el8.x86_64.rpm 1.5 MB/s | 1.9 MB 00:01 -------------------------------------------------------------------------------- 합계 692 kB/s | 1.9 MB 00:02 트랜잭션 점검 실행 중 트랜잭션 검사가 성공했습니다. 트랜잭션 테스트 실행 중 트랜잭션 테스트가 완료되었습니다. 거래 실행 중 준비 중입니다 : 1/1 Installing : mc-1:4.8.19-9.el8.x86_64 1/1 스크립틀릿 실행: mc-1:4.8.19-9.el8.x86_64 1/1 확인 중 : mc-1:4.8.19-9.el8.x86_64 1/1 설치됨: mc-1:4.8.19-9.el8.x86_64 완료되었습니다! [study@localhost ~]$ man mc No manual entry for mc [study@localhost ~]$
설명서를 설치하지 않으면 man 명령어를 사용하는 경우 아래와 같은 오류 메시지를 출력합니다.
No manual entry for 패키지명
일반 설치 후(설명서 미설치 옵션 사용 안함)
[study@localhost ~]$ man mc
MC(1) GNU Midnight Commander MC(1) NAME mc - Visual shell for Unix-like systems. USAGE mc [-abcCdfhPstuUVx] [-l log] [dir1 [dir2]] [-e [file] ...] [-v file] DESCRIPTION GNU Midnight Commander is a directory browser/file manager for Unix-like operating systems. OPTIONS -a, --stickchars Disable usage of graphic characters for line drawing. -b, --nocolor Force black and white display. -c, --color Force color mode, please check the section Colors for more information. Manual page mc(1) line 1 (press h for help or q to quit)
설명서를 위, 아래로 이동해가며 읽으려면 화살표 키 ↑, ↓를 눌러 한 줄씩 이동하거나 PgUp, PgDn키를 눌러 한 페이지씩 이동합니다.
빠져 나가려면 q 키를 눌러줍니다.
1-3. 고급 패키지 옵션
지정 패키지 제외
-x <package-file-spec>, --exclude=<package-file-spec>
사용 빈도 : 높음
해당 옵션 주 사용 명령 : install, remove, upgrade
관련 dnf.conf 구성 옵션과 기본값 :
패키지 설치, 제거, 업그레이드 트랜잭션 작업이나 그외 정보 확인 관련 명령 작업 시 지정한 패키지를 제외합니다.
일반 설치 예
[study@localhost ~]$ [study@localhost ~]$ sudo dnf install httpd [sudo] study의 암호: 마지막 메타 데이터 만료 확인 : 0:06:48 전에 2020년 02월 08일 (토) 오후 08시 05분 28초. 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ Installing: httpd x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 1.7 M 종속성 설치: apr x86_64 1.6.3-9.el8 AppStream 125 k apr-util x86_64 1.6.1-6.el8 AppStream 105 k centos-logos-httpd noarch 80.5-2.el8 AppStream 24 k httpd-filesystem noarch 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 35 k httpd-tools x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 103 k mod_http2 x86_64 1.11.3-3.module_el8.1.0+213+acce2796 AppStream 158 k 약한 의존성 설치하기: apr-util-bdb x86_64 1.6.1-6.el8 AppStream 25 k apr-util-openssl x86_64 1.6.1-6.el8 AppStream 27 k Enabling module streams: httpd 2.4 거래 요약 ================================================================================ 설치 9 꾸러미 총 다운로드 크기 : 2.3 M 설치 크기 : 6.6 M 이게 괜찮습니까 [y / N] :
특정 패키지 제외 설치 예
[study@localhost ~]$ sudo dnf --exclude={apr-util-bdb,apr-util-openssl} install httpd 마지막 메타 데이터 만료 확인 : 0:17:58 전에 2020년 02월 08일 (토) 오후 08시 05분 28초. 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ Installing: httpd x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 1.7 M 종속성 설치: apr x86_64 1.6.3-9.el8 AppStream 125 k apr-util x86_64 1.6.1-6.el8 AppStream 105 k centos-logos-httpd noarch 80.5-2.el8 AppStream 24 k httpd-filesystem noarch 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 35 k httpd-tools x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 103 k mod_http2 x86_64 1.11.3-3.module_el8.1.0+213+acce2796 AppStream 158 k Enabling module streams: httpd 2.4 거래 요약 ================================================================================ 설치 7 꾸러미 총 다운로드 크기 : 2.2 M 설치 크기 : 6.5 M 이게 괜찮습니까 [y / N] :
[study@localhost ~]$ sudo dnf -x apr-util-bdb -x apr-util-openssl install httpd 마지막 메타 데이터 만료 확인 : 0:24:26 전에 2020년 02월 08일 (토) 오후 08시 05분 28초. 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ Installing: httpd x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 1.7 M 종속성 설치: apr x86_64 1.6.3-9.el8 AppStream 125 k apr-util x86_64 1.6.1-6.el8 AppStream 105 k centos-logos-httpd noarch 80.5-2.el8 AppStream 24 k httpd-filesystem noarch 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 35 k httpd-tools x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 103 k mod_http2 x86_64 1.11.3-3.module_el8.1.0+213+acce2796 AppStream 158 k Enabling module streams: httpd 2.4 거래 요약 ================================================================================ 설치 7 꾸러미 총 다운로드 크기 : 2.2 M 설치 크기 : 6.5 M 이게 괜찮습니까 [y / N] :
참고
-x 옵션은 단일 패키지만 지정 가능합니다. 만약 이 옵션을 사용해 다수의 패키지를 제외하려면 제외할 패키지마다 이 옵션을 붙여 주어야 합니다.
--exclude 옵션은 {} 기호의 globs를 사용해 한번에 다수의 패키지를 지정할 수 있습니다. 그러나 패키지 구별은 ,(쉼표)로 하며 패키지 간 또는 쉼표와 패키지 사이의 공백은 허용되지 않습니다.
예전에는 --excludepkgs 옵션이 사용되었습니다만 현재는 --exclude 옵션으로 대체되었습니다. 그러나 --excludepkgs 옵션도 과거 호환성을 위해 동일히 작동합니다. 그러나 언제 폐기될지는 모르므로 --exclude나 -x옵션을 사용할 것을 권장합니다.
지정 아키텍처 강제 사용
--forcearch=<arch>
사용 빈도 : 낮음
해당 옵션 주 사용 명령 : install, upgrade
관련 dnf.conf 구성 옵션과 기본값 : arch=자동 감지 되는 시스템 아키텍처 / ignorearc=false
비고 : 이 옵션을 사용하려면 dnf.conf의 ignorearch 구성 옵션이 true로 설정되어 있어야 합니다.
아키텍처를 사용하도록 강제합니다. 모든 아키텍처를 지정할 수 있습니다.
그러나 시스템의 CPU에서 지원하지 않는 아키텍처의 패키지를 사용하려면 에뮬레이션이 필요한데 레드햇 계열 리눅스는 QEMU를 통해 이루어집니다.
[study@localhost ~]$ sudo dnf --forcearch=aarch64 install 패키지명
[study@localhost ~]$ sudo dnf --forcearch="amd64" install \ > "https://github.com/tomboy-notes/tomboy-ng/releases/download/V0.23/tomboy-ng-0.23-2.amd64.rpm" 마지막 메타 데이터 만료 확인 : 0:00:03 전에 2020년 02월 08일 (토) 오후 11시 14분 00초. tomboy-ng-0.23-2.amd64.rpm 358 kB/s | 1.8 MB 00:05 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ Installing: tomboy-ng amd64 0.23-2 @commandline 1.8 M 거래 요약 ================================================================================ 설치 1 꾸러미 총합 크기: 1.8 M 설치 크기 : 5.0 M 이게 괜찮습니까 [y / N] :
패키지 설치 루트 지정
--installroot=<path>
사용 빈도 : 낮음
해당 옵션 주 사용 명령 : install
비고 : 이 옵션은 절대 경로로 설정해야 합니다.모든 패키지가 설치될 위치에 대한 대체 설치 루트를 지정합니다.
이 옵션은 리눅스 초심자인 경우 권장하지 않습니다.
이 옵션에 대한 자세한 설명은 위 링크를 참고하시기 바랍니다. 같은 내용을 아래 명령어로도 확인할 수 있습니다.
[study@localhost ~]$ man dnf
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. 특정 정보 패키지 포함
참고
1-4. 파트에서 소개되는 옵션들은 일반 리눅스 사용자라면 크게 신경쓰지 않아도 될 것입니다. 그러나 서버 관리자라면 이 옵션들과 친해져야할 것입니다.
참고
--bugfix, --enhancement, --security, --sec-severity=<severity> 또는 --secseverity=<severity>옵션을 통해 포함되는 패키지에 대한 정보는 아래의 레드햇 제품 개선 정보 페이지에서 확인할 수 있습니다.
레드햇 제품 개선 정보 페이지
특히 보안 관련 정보 사이트는 아래의 한 사이트에서 확인할 수 있습니다.
레드햇 보안 정보 페이지
https://access.redhat.com/security
레드햇 보안 권고 페이지
https://access.redhat.com/security/security-updates/#/security-advisories
레드햇 CVE 정보 페이지
버그 수정 패키지 포함
--bugfix
사용 빈도 : 중간
사용 가능 명령 : install, repoquery, updateinfo, upgrade
해당 옵션 주 사용 명령 : install, upgrade
버그 수정 패키지를 포함합니다.
[study@localhost ~]$ sudo dnf --bugfix upgrade 마지막 메타 데이터 만료 확인 : 0:04:42 전에 2020년 02월 09일 (일) 오후 02시 10분 01초. 보안 업데이트는 필요하지 않지만 598 업데이트가 제공됩니다. 종속성이 해결되었습니다. 할 것이 없음. 완료되었습니다! [study@localhost ~]$
기능 개선 관련 패키지 포함
--enhancement
사용 빈도 : 중간
사용 가능 명령 : install, repoquery, updateinfo, upgrade
해당 옵션 주 사용 명령 : install, upgrade
기능 개선 관련 패키지를 포함합니다.
[study@localhost ~]$ sudo dnf --enhancement install 패키지명
패키지 관련 새 패키지 포함
--newpackage
사용 빈도 : 중간
사용 가능 명령 : install, repoquery, updateinfo, upgrade
해당 옵션 주 사용 명령 : install, upgrade작업 패키지 관련 새 패키지를 포함합니다.
[study@localhost ~]$ sudo dnf --newpackage install 패키지명
보안 문제 해결 패키지 포함
--security
사용 빈도 : 중간
사용 가능 명령 : upgrade
보안 문제에 대한 수정 사항을 제공하는 패키지를 포함합니다.
[study@localhost ~]$ sudo dnf --security upgrade 마지막 메타 데이터 만료 확인 : 0:30:44 전에 2020년 02월 08일 (토) 오후 11시 14분 00초. 보안 업데이트는 필요하지 않지만 598 업데이트가 제공됩니다. 종속성이 해결되었습니다. 할 것이 없음. 완료되었습니다! [study@localhost ~]$
지정 심각도 수정 사항 패키자
--sec-severity=<severity>, --secseverity=<severity>
사용 빈도 : 중간
사용 가능 명령 : install, repoquery, updateinfo, upgrade
해당 옵션 주 사용 명령 : install, upgrade지정된 심각도의 문제에 대한 수정 사항을 제공하는 패키지를 포함합니다.
지정 가능한 심각도는 아래와 같습니다.
low / Moderate / Important / Critical
[study@localhost ~]$ sudo dnf --sec-severity=Critical upgrade 마지막 메타 데이터 만료 확인 : 0:24:33 전에 2020년 02월 09일 (일) 오후 02시 36분 43초. 보안 업데이트는 필요하지 않지만 598 업데이트가 제공됩니다. 종속성이 해결되었습니다. 할 것이 없음. 완료되었습니다! [study@localhost ~]$
참고
심각도를 지정할 때 심각도 영단어의 첫글자는 대문자로 입력해주어야 합니다.
만약 소문자로 입력하면 아래와 같은 오류가 출랷됩니다.
[study@localhost ~]$ sudo dnf --sec-severity=critical upgrade [sudo] study의 암호: usage: dnf [-c [config file]] [-q] [-v] [--version] [--installroot [path]] [--nodocs] [--noplugins] [--enableplugin [plugin]] [--disableplugin [plugin]] [--releasever RELEASEVER] [--setopt SETOPTS] [--skip-broken] [-h] [--allowerasing] [-b | --nobest] [-C] [-R [minutes]] [-d [debug level]] [--debugsolver] [--showduplicates] [-e ERRORLEVEL] [--obsoletes] [--rpmverbosity [debug level name]] [-y] [--assumeno] [--enablerepo [repo]] [--disablerepo [repo] | --repo [repo]] [--enable | --disable] [-x [package]] [--disableexcludes [repo]] [--repofrompath [repo,path]] [--noautoremove] [--nogpgcheck] [--color COLOR] [--refresh] [-4] [-6] [--destdir DESTDIR] [--downloadonly] [--comment COMMENT] [--bugfix] [--enhancement] [--newpackage] [--security] [--advisory ADVISORY] [--bzs BUGZILLA] [--cves CVES] [--sec-severity {Critical,Important,Moderate,Low}] [--forcearch ARCH] dnf: error: argument --sec-severity/--secseverity: invalid choice: 'critical' (choose from 'Critical', 'Important', 'Moderate', 'Low') [study@localhost ~]$
하단의 아래 문구를 참고하시기 바랍니다.
dnf: error: argument --sec-severity/--secseverity: invalid choice: 'critical' (choose from 'Critical', 'Important', 'Moderate', 'Low')
각 단어의 첫 문자를 대문자로 쓰라고 안내하고 있습니다.
Bugzilla ID 문제 해결 패키지 포함
--bz=<bugzilla>, --bzs=<bugzilla>
사용 빈도 : 중간
사용 가능 명령 : install, repoquery, updateinfo, upgrade
해당 옵션 주 사용 명령 : install, upgrade
Bugzilla ID 문제를 해결하는 패키지를 포함합니다.
버그 정보는 위 링크 사이트에서 확인하시면 됩니다.
[study@localhost ~]$ sudo dnf --bz=1684413 upgrade 마지막 메타 데이터 만료 확인 : 0:04:42 전에 2020년 02월 09일 (일) 오후 02시 10분 01초. 보안 업데이트는 필요하지 않지만 598 업데이트가 제공됩니다. 종속성이 해결되었습니다. 할 것이 없음. 완료되었습니다! [study@localhost ~]$
CVE (Common Vulnerabilities and Exposures) ID 문제 수정 패키지 포함
--cve=<cves>, --cves=<cves>
사용 빈도 : 중간
사용 가능 명령 : install, repoquery, updateinfo, upgrade
해당 옵션 주 사용 명령 : install, upgrade
CVE (Common Vulnerabilities and Exposures) ID 문제를 수정하는 패키지를 포함합니다.
CVE (Common Vulnerabilities and Exposures) 사이트
레드햇 CVE 정보 페이지
[study@localhost ~]$ sudo dnf --cve=CVE-2019-11764 upgrade 마지막 메타 데이터 만료 확인 : 0:58:21 전에 2020년 02월 09일 (일) 오후 02시 36분 43초. 보안 업데이트는 필요하지 않지만 598 업데이트가 제공됩니다. 종속성이 해결되었습니다. 할 것이 없음. 완료되었습니다! [study@localhost ~]$
참고
CVE란?
CVE (Common Vulnerabilities and Exposures)는 공개적으로 알려진 사이버 보안 취약점에 대한 일반적인 식별자 목록입니다.
우리는 CNA(CVE 번호 부여 기관)에서 할당한 CVE 번호를 사용하여 소프트웨어 또는 펌웨어 취약성에 대한 정보와 해결책을 공유할 수 있습니다.
권고(advisory) 패키지 포함
--advisory=<advisory>, --advisories=<advisory>
사용 빈도 : 중간
사용 가능 명령 : install, repoquery, updateinfo, upgrade
해당 옵션 주 사용 명령 : install, upgrade
권고 ID에 해당하는 패키지를 포함합니다.
[study@localhost ~]$ sudo dnf --advisory=RHEA-2020:0408 upgrade [sudo] study의 암호: 마지막 메타 데이터 만료 확인 : 1:03:46 전에 2020년 02월 09일 (일) 오후 02시 36분 43초. 보안 업데이트는 필요하지 않지만 598 업데이트가 제공됩니다. 종속성이 해결되었습니다. 할 것이 없음. 완료되었습니다! [study@localhost ~]$
참고
예시로 든 RHEA-2020:0408는 RHEL 7 용 권고안입니다.
이 글이 올라온 2월 11일 현재 RHEL 8 용 권고안은 검색 분류에 추가되지 않았습니다.
1-5. 패키지 단순 다운로드
패키지 세트 다운로드(설치 작업은 안함)
--downloadonly
사용 빈도 : 중간
사용 가능 명령 : install, upgrade, remove
rpm 트랜잭션을 수행하지 않고 종속성이 해결된 패키지 세트를 다운로드합니다.
[study@localhost ~]$ sudo dnf --downloadonly install mc [sudo] study의 암호: CentOS-8 - AppStream 1.6 kB/s | 4.3 kB 00:02 CentOS-8 - AppStream 1.3 MB/s | 6.4 MB 00:04 CentOS-8 - Base 1.4 kB/s | 3.8 kB 00:02 CentOS-8 - Base 1.2 MB/s | 5.0 MB 00:04 CentOS-8 - Extras 593 B/s | 1.5 kB 00:02 CentOS-8 - Extras 610 B/s | 2.1 kB 00:03 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ Installing: mc x86_64 1:4.8.19-9.el8 AppStream 1.9 M 거래 요약 ================================================================================ 설치 1 꾸러미 총 다운로드 크기 : 1.9 M 설치 크기 : 6.8 M DNF는 해당 거래에 대한 패키지 만 다운로드합니다. 이게 괜찮습니까 [y / N] : y 패키지 다운로드중: mc-4.8.19-9.el8.x86_64.rpm 37 kB/s | 1.9 MB 00:53 -------------------------------------------------------------------------------- 합계 36 kB/s | 1.9 MB 00:54 완료되었습니다! 다운로드 된 패키지는 다음 번 성공적인 트랜잭션까지 캐시에 저장되었습니다. 캐시 된 패키지를 제거하려면 'dnf clean packages'. [study@localhost ~]$
다운로드 패키지 리디렉션
--downloaddir=<path>, --destdir=<path>
사용 빈도 : 중간
사용 가능 명령 : install, upgrade, remove
관련 옵션 : --downloadonly
관련 명령 : download 명령 (dnf-plugins-core), system-upgrade명령 (dnf-plugins-extras)
다운로드한 패키지를 설정한 디렉터리로 이동합니다.
[study@localhost ~]$ mkdir pkgs [study@localhost ~]$ sudo dnf --downloadonly --downloaddir=/home/study/pkgs install mc [sudo] study의 암호: 마지막 메타 데이터 만료 확인 : 0:03:25 전에 2020년 02월 09일 (일) 오전 11시 34분 10초. 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ Installing: mc x86_64 1:4.8.19-9.el8 AppStream 1.9 M 거래 요약 ================================================================================ 설치 1 꾸러미 총 다운로드 크기 : 1.9 M 설치 크기 : 6.8 M DNF는 해당 거래에 대한 패키지 만 다운로드합니다. 이게 괜찮습니까 [y / N] : y 패키지 다운로드중: mc-4.8.19-9.el8.x86_64.rpm 32 kB/s | 1.9 MB 01:02 -------------------------------------------------------------------------------- 합계 31 kB/s | 1.9 MB 01:03 완료되었습니다! 다운로드 된 패키지는 다음 번 성공적인 트랜잭션까지 캐시에 저장되었습니다. 캐시 된 패키지를 제거하려면 'dnf clean packages'. [study@localhost ~]$ cd pkgs [study@localhost pkgs]$ ls mc-4.8.19-9.el8.x86_64.rpm [study@localhost pkgs]$
1-6. 자동 답변
가부 질의에 예 답변 미리 설정
-y, --assumeyes
사용 빈도 : 높음
모든 질문에 자동으로 예라고 대답합니다.
[study@localhost pkgs]$ sudo dnf -y install mc 마지막 메타 데이터 만료 확인 : 0:06:53 전에 2020년 02월 09일 (일) 오전 11시 34분 10초. 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ Installing: mc x86_64 1:4.8.19-9.el8 AppStream 1.9 M 거래 요약 ================================================================================ 설치 1 꾸러미 총합 크기: 1.9 M 설치 크기 : 6.8 M 패키지 다운로드중: [SKIPPED] mc-4.8.19-9.el8.x86_64.rpm: Already downloaded -------------------------------------------------------------------------------- 합계 194 MB/s | 1.9 MB 00:00 트랜잭션 점검 실행 중 트랜잭션 검사가 성공했습니다. 트랜잭션 테스트 실행 중 트랜잭션 테스트가 완료되었습니다. 거래 실행 중 준비 중입니다 : 1/1 Installing : mc-1:4.8.19-9.el8.x86_64 1/1 스크립틀릿 실행: mc-1:4.8.19-9.el8.x86_64 1/1 확인 중 : mc-1:4.8.19-9.el8.x86_64 1/1 설치됨: mc-1:4.8.19-9.el8.x86_64 완료되었습니다! [study@localhost pkgs]$
개인적으로 이 옵션을 쓰지 않는 것을 권장합니다. 확인하지 않고 예스맨이 되는 것은 사용자의 시스템 통제력을 약화시키고 예기치 못한 문제를 야기할 수 있습니다.
가부 질의에 아니오 답변 미리 설정
--assumeno
사용 빈도 : 낮음
모든 질문에 자동으로 아니오로 답변합니다.
[study@localhost pkgs]$ sudo dnf --assumeno remove mc 종속성이 해결되었습니다. ================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================ 삭제 중: mc x86_64 1:4.8.19-9.el8 @AppStream 6.8 M 거래 요약 ================================================================================ 삭제 1 꾸러미 자유 공간 : 6.8 M 작업이 중지됨. [study@localhost pkgs]$
번외. 구식 옵션
지정 패키지 제외
--excludepkgs=<package-file-spec>
관련 옵견 : -x, --exclude
더 이상 사용되지 않는 옵션입니다. --exclude 옵션으로 대체되었습니다.
그러나 호환을 위해 기능 자체는 유지되고 있습니다.
'리눅스 > CentOS' 카테고리의 다른 글
DNF 환경 설정[구성] 파일(dnf.conf) [main] 섹션 옵션 (0) | 2020.02.20 |
---|---|
DNF 분류별 명령줄 옵션 - [04] 정보 확인 (0) | 2020.02.17 |
DNF 분류별 명령줄 옵션 - [03] 부가 기능 (0) | 2020.02.15 |
DNF 분류별 명령줄 옵션 - [02] 환경 설정 (0) | 2020.02.13 |
DNF 명령줄 옵션 연재 목록 (0) | 2020.02.09 |
DNF 모듈 관리 - 모듈 관리(Module) (0) | 2020.02.05 |
DNF 배포판 동기화 - 배포판 동기화(Distro-Sync) (0) | 2020.02.03 |
DNF 저장소 관리 - 저장소 정보(Repolist), 저장소 내 임시 파일 정리(Clean), 저장소 메타 데이터 캐시 생성(Makecache), 저장소 쿼리 명령(Repoquery), 저장소 패키지 명령(Repository-Packages) (0) | 2020.02.01 |