리눅스/CentOS

DNF 분류별 명령줄 옵션 - [02] 환경 설정

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

[관련 게시물]

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] 패키지 관리


안내

앞으로 상당 기간에 걸쳐 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 옵션 목록(총 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 명령줄 분류별 옵션


명령줄 옵션 분류별 전체 항목


2. 주요 환경설정

2-1. 환경설정 파일

환경설정 파일 위치

-c <config file>, --config=<config file>

구성 파일 내 옵션 재정의

--setopt=<option>=<value>


2-2. 저장소 관련 설정

저장소 활성화 여부

--enable, --set-enabled
--disable, --set-disabled

--enablerepo=<repoid>
--disablerepo=<repoid>


특정 리포지토리만 활성화

--repo=<repoid>, --repoid=<repoid>

저장소 추가

--repofrompath <repo>,<path/url>


2-3. 플러그인 설정

플러그인 활성화 여부

--enableplugin=<plugin names>
--disableplugin=<plugin names>

모든 플러그인 비활성화

--noplugins


2-4. 기타 설정 옵션 비활성화

종속성 제거 설정 비활성화

--noautoremove

제외 설정 비활성화

--disableexcludes=[all|main|<repoid>], --disableexcludepkgs=[all|main|<repoid>]


2-5. 배포판 설정

배포판 지정

--releasever=<release>




2. 주요 환경설정

2-1. 환경설정 파일

환경설정 파일 위치

-c <config file>, --config=<config file>

사용 빈도 : 낮음

해당 명령에 적용할 환경설정 파일을 설정하는 옵션입니다.



구성 파일 내 옵션 재정의

--setopt=<option>=<value>

사용 빈도 : 높음

관련 명령 : config-manager

DNF 일반 명령 수행시 기본 옵션값 대신 재정의한 옵션값 적용 

구성 파일의 구성 옵션을 대체합니다. 여기서 대체한다는 것은 기존의 내용 대신 새로 정의된 값을 적용한다는 것입니다.

이 때 중요한 것은 dnf의 일반 명령 사용 시 이 옵션이  dnf.conf나 foo.repo 파일 자체의 내용을 변경하는 것은 아니라는 점입니다. 단지 해당 트랜잭션 작업 등에서 본래의 옵션값 대신 명령줄에 추가된 옵션이 대신 적용된다고 보면 됩니다.

단, excludepkgs, includepkgs, installonlypkgs 및 tsflags와 같은 구성 옵션값은 원래 값에 추가되며 기존값을 덮어쓰지 않습니다.

그러나 빈 값 (예 : --setopt=tsflags=)을 지정하면 옵션이 지워집니다.

저장소의 구성 옵션을 재정의하려면 <option>에 <repoid>.<option>을 사용해야 합니다.

사용 예

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

DNF 환경설정[구성] 파일이나 저장소 파일의 기본 옵션값 자체를 변경

DNF 환경설정[구성] 파일이나 저장소 파일의 옵션값을 직접 변경하여 저장하려면 config-manager 명령을 사용해야 하는데 이 명령을 사용하려면 dnf-plugins-core 패키지가 설치되어 있어야 합니다.


1. 기존 dnf.conf 파일 내용 확인

[study@localhost ~]$ cat /etc/dnf/dnf.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
[study@localhost ~]$
cat [파일 경로] 명령을 통해 파일 내용을 확인합니다.


2. config-manager 명령을 사용해 옵션값 변경

$ sudo dnf config-manager --save --setopt=gpgcheck=0


[study@localhost ~]$ sudo dnf config-manager --save --setopt=gpgcheck=0
[sudo] study의 암호: 
[study@localhost ~]$

3. 변경된 내용 확인

[study@localhost ~]$ cat /etc/dnf/dnf.conf
[main]
gpgcheck=0
installonly_limit=3
clean_requirements_on_remove=True
best=True
[study@localhost ~]$ 


2-2. 저장소 관련 설정

저장소 활성화 여부

--enable, --set-enabled

사용 빈도 : 중간

관련 명령 : config-manager

지정한 저장소를 활성화합니다 (자동 저장됩니다.).

이 옵션은  config-manager 명령을 사용해야 하는데 이 명령을 사용하려면 dnf-plugins-core 패키지가 설치되어 있어야 합니다.


1. 전체 저장소 확인

[study@localhost ~]$ dnf repolist --all
CentOS-8 - AppStream                            2.1 MB/s | 6.4 MB     00:03    
CentOS-8 - Base                                  81 kB/s | 5.0 MB     01:03    
CentOS-8 - Extras                               1.6 kB/s | 2.1 kB     00:01    
repo id                      repo name                               status
AppStream                    CentOS-8 - AppStream                    사용: 5,093
AppStream-source             CentOS-8 - AppStream Sources            사용 않음
BaseOS                       CentOS-8 - Base                         사용: 2,080
BaseOS-source                CentOS-8 - BaseOS Sources               사용 않음
PowerTools                   CentOS-8 - PowerTools                   사용 않음
base-debuginfo               CentOS-8 - Debuginfo                    사용 않음
c8-media-AppStream           CentOS-AppStream-8 - Media              사용 않음
c8-media-BaseOS              CentOS-BaseOS-8 - Media                 사용 않음
centosplus                   CentOS-8 - Plus                         사용 않음
centosplus-source            CentOS-8 - Plus Sources                 사용 않음
cr                           CentOS-8 - cr                           사용 않음
extras                       CentOS-8 - Extras                       사용:     3
extras-source                CentOS-8 - Extras Sources               사용 않음
fasttrack                    CentOS-8 - fasttrack                    사용 않음
[study@localhost ~]$ 

2. 저장소 활성화

[study@localhost ~]$ sudo dnf config-manager --enable PowerTools
[sudo] study의 암호: 
[study@localhost ~]$ 

이 옵션은 앞서 다룬 --setopt= 옵션과는 달리 --save 옵션을 붙여 줄 필요가 없습니다. 설정값이 자동으로 저장되기 때문입니다.


3. 활성화된 저장소 확인

[study@localhost ~]$ dnf repolist
CentOS-8 - PowerTools                            60 kB/s | 2.0 MB     00:33    
마지막 메타 데이터 만료 확인 : 0:00:01 전에 2020년 02월 09일 (일) 오후 09시 02분 18초.
repo id                        repo name                                  status
AppStream                      CentOS-8 - AppStream                       5,093
BaseOS                         CentOS-8 - Base                            2,080
PowerTools                     CentOS-8 - PowerTools                      1,515
extras                         CentOS-8 - Extras                              3
[study@localhost ~]$ 

참고

예시로 든 PowerTools 저장소의 설정 파일을 아래와 같이 명령을 입력해 파일 내용을 확인해 봅시다.

[study@localhost ~]$ cat /etc/yum.repos.d/CentOS-PowerTools.repo

그러면 enabled= 값이 0에서 1로 바뀐 것을 확인할 수 있습니다.


--disable, --set-disabled

사용 빈도 : 중간

관련 명령 : config-manager

지정한 저장소를 비활성화합니다 (자동으로 저장됩니다.).

--enable, --set-enabled 내용과 동일합니다.


--enablerepo=<repoid>

사용 빈도 : 낮음

해당 옵션 주 사용 명령 : install, upgrade

이미 활성화되어 있는 기존의 저장소 외에 repoid 또는 globs로 특정 저장소를 추가로 활성화합니다.

이 옵션은 해당 명령에서만 적용되며, 저장소 설정값 자체를 변경하는 것은 아닙니다.


예를 들어 kernel-plus라는 패키지를 설치해봅시다.

[study@localhost ~]$ sudo dnf install kernel-plus
마지막 메타 데이터 만료 확인 : 0:42:17 전에 2020년 02월 10일 (월) 오전 11시 25분 27초.
인수와 일치하는 항목 없음 : kernel-plus
오류: 경기를 찾을 수 없습니다.
[study@localhost ~]$ 
기본적으로 활성화되어 있는 저장소에서는 해당 패키지를 찾을 수 없습니다.

이 패키지는 비활성화되어 있는 centosplus 저장소에서 배포됩니다.

임시로 해당 저장소를 활성화하여 패키지를 설치해봅시다.

[study@localhost ~]$ sudo dnf --enablerepo=centosplus install kernel-plus
[sudo] study의 암호: 
CentOS-8 - Plus                                  70 kB/s | 570 kB     00:08    
마지막 메타 데이터 만료 확인 : 0:00:01 전에 2020년 02월 10일 (월) 오후 12시 04분 34초.
종속성이 해결되었습니다.
================================================================================
 꾸러미              아키텍처
                            버전                               리포지토리  크기
================================================================================
Installing:
 kernel-plus         x86_64 4.18.0-147.3.1.el8_1.centos.plus   centosplus 1.5 M
종속성 설치:
 kernel-plus-core    x86_64 4.18.0-147.3.1.el8_1.centos.plus   centosplus  26 M
 kernel-plus-modules x86_64 4.18.0-147.3.1.el8_1.centos.plus   centosplus  23 M

거래 요약
================================================================================
설치  3 꾸러미

총 다운로드 크기 : 50 M
설치 크기 : 80 M
이게 괜찮습니까 [y / N] : 
정상적으로 수행되는 것을 확인할 수 있습니다.


--disablerepo=<repoid>

사용 빈도 : 낮음

해당 옵션 주 사용 명령 : install, upgrade

repoid 또는 globs로 특정 저장소를 비활성화합니다. 이 옵션은 --repo 옵션과 상호 배타적입니다.

이 옵션은 해당 명령에서만 적용되며, 저장소 설정값 자체를 변경하는 것은 아닙니다.


특정 리포지토리만 활성화

--repo=<repoid>, --repoid=<repoid>

사용 빈도 : 낮음

해당 옵션 주 사용 명령 : install, upgrade

repoid 또는 globs로 특정 저장소만 활성화합니다.

기본적으로 --disablerepo="*" --enablerepo=<repoid> 옵션의 짧은 표기입니다. 이것이 무슨 의미냐면 기존에 활성화되어 있는 모든 저장소를 비활성화하고 새로 지정한 저장소만 활성화한다는 뜻입니다.

--disablerepo 옵션과는 상호 배타적입니다

이 옵션은 여러 번 사용 가능 하며, 효과가 누적됩니다. 즉 다수의 저장소를 설정할 수 있다는 뜻입니다. 그러나 저장소를 나열할 때 쉼표로 구분하며 저장소 간 공백이 있어서는 안됩니다.


사용 예

미드나잇 커맨더(mc)를 예로 들어 봅시다. 일반적인 방법으로 설치를 하면 다음과 같이 진행됩니다.

[study@localhost ~]$ sudo dnf install mc
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 0:14:11 전에 2020년 02월 09일 (일) 오후 09시 35분 39초.
종속성이 해결되었습니다.
================================================================================
 꾸러미      아키텍처        버전                      리포지토리          크기
================================================================================
Installing:
 mc          x86_64          1:4.8.19-9.el8            AppStream          1.9 M

거래 요약
================================================================================
설치  1 꾸러미

총 다운로드 크기 : 1.9 M
설치 크기 : 6.8 M
이게 괜찮습니까 [y / N] :
보면 mc 패키지는 AppStream 저장소에서 배포된다는 것을 알 수 있습니다. 그럼 AppStream 저장소를 제외한 다른 저장소에서 설치를 시도해봅시다.


[study@localhost ~]$ sudo dnf --repo=BaseOS,extras install mc
마지막 메타 데이터 만료 확인 : 0:17:33 전에 2020년 02월 09일 (일) 오후 09시 35분 39초.
인수와 일치하는 항목 없음 : mc
오류: 경기를 찾을 수 없습니다.
[study@localhost ~]$ 
위 옵션을 사용하면 옵션에 설정된 저장소만 활성화되고 나머지 저장소들은 비활성화됩니다.

여기서는 BaseOS와 extras 저장소만 활성화되고 AppStream 저장소는 비활성화되어 AppStream  저장소에서만 배포되던 mc 패키지를 설치할 수 없게 된 것입니다.


외부 저장소 임시 추가

--repofrompath <repo>,<path/url>

사용 빈도 : 중간

해당 옵션 주 사용 명령 : install, upgrade

작업에 사용할 임시 저장소를 추가합니다.

참고

사용자가 설정한저장소 레이블은 임시 <repo>로 지정됩니다.

임시 저장소의 경로 또는 URL을 <path/url>로 설정합니다. 이것은 저장소의 baseurl이 됩니다.

저장소의 구성은 --setopt=<repo>.<option>=<value>를 사용하여 조정할 수 있습니다.

이 저장소에서 패키지만 보려면 --repo=<repo>또는 --disablerepo="*"를 덧붙입니다.


[study@localhost ~]$ dnf repolist --all --repofrompath epel,http://mirror.kakao.com/epel/8/Everything/x86_64/
추가됨 epel 에서 repo http://mirror.kakao.com/epel/8/Everything/x86_64/
마지막 메타 데이터 만료 확인 : 0:19:25 전에 2020년 02월 09일 (일) 오후 11시 26분 24초.
Repo ID                      레포 이름                               상태
AppStream                    CentOS-8 - AppStream                    사용: 5,093
AppStream-source             CentOS-8 - AppStream Sources            사용 않음
BaseOS                       CentOS-8 - Base                         사용: 2,080
BaseOS-source                CentOS-8 - BaseOS Sources               사용 않음
PowerTools                   CentOS-8 - PowerTools                   사용 않음
base-debuginfo               CentOS-8 - Debuginfo                    사용 않음
c8-media-AppStream           CentOS-AppStream-8 - Media              사용 않음
c8-media-BaseOS              CentOS-BaseOS-8 - Media                 사용 않음
centosplus                   CentOS-8 - Plus                         사용 않음
centosplus-source            CentOS-8 - Plus Sources                 사용 않음
cr                           CentOS-8 - cr                           사용 않음
epel                                                                 사용: 4,702
extras                       CentOS-8 - Extras                       사용:     3
extras-source                CentOS-8 - Extras Sources               사용 않음
fasttrack                    CentOS-8 - fasttrack                    사용 않음
[study@localhost ~]$ 

패키지를 설치할 때

[study@localhost ~]$ sudo dnf  --repofrompath epel,http://mirror.kakao.com/epel/8/Everything/x86_64/ install man2html
[sudo] study의 암호: 
추가됨 epel 에서 repo http://mirror.kakao.com/epel/8/Everything/x86_64/
epel                                            2.1 MB/s | 5.6 MB     00:02    
마지막 메타 데이터 만료 확인 : 0:00:02 전에 2020년 02월 10일 (월) 오후 12시 20분 20초.
종속성이 해결되었습니다.
================================================================================
 꾸러미            아키텍처
                          버전                                  리포지토리
                                                                           크기
================================================================================
Installing:
 man2html          x86_64 1.6-24.g.el8                          epel       32 k
종속성 설치:
 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             x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 1.7 M
 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
 man2html-core     x86_64 1.6-24.g.el8                          epel       61 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                                                  

거래 요약
================================================================================
설치  11 꾸러미

총 다운로드 크기 : 2.4 M
설치 크기 : 6.7 M
이게 괜찮습니까 [y / N] : 


2-3. 플러그인 설정

기본 지원 플러그인 목록

기본 지원 플러그인 명령은 아래 명을에서 확인할 수 있습니다.

[study@localhost ~]$ dnf --help

플러그인 명령리스트 :

builddep                  Install build dependencies for package or spec file
changelog                 Show changelog data of packages
config-manager            dnf 구성 옵션 및 저장소 관리
copr                      Copr 저장소와 상호 작용하십시오.
debug-dump                설치된 rpm 패키지에 대한 정보를 파일에 덤프하십시오.
debug-restore             디버그 덤프 파일에 기록 된 패키지 복원
debuginfo-install         debuginfo 패키지 설치
download                  현재 디렉토리에 패키지 다운로드
needs-restarting          다시 시작해야하는 업데이트 된 바이너리 결정
playground                놀이터 저장소와 상호 작용하십시오.
repoclosure               저장소에 대한 확인되지 않은 종속성 목록 표시
repodiff                  List differences between two sets of repositories
repograph                 도트 형식의 전체 패키지 종속성 그래프 출력
repomanage                rpm 패키지 디렉토리 관리
reposync                  원격 저장소에서 모든 패키지를 다운로드하십시오.

위의  dnf 기본 플러그인들은 dnf-plugins-core 패키지가 설치되어 있어야 사용 가능 합니다.

일반적으로 레드햇 계열 리눅스들은 자동으로 깔릴 것이나 최소 설치 등을 사용한 경우 이 패키지가 설치되지 않으므로 따로 설치해주어야 합니다.


플러그인 환경 설정 파일(구성 파일)

/etc/dnf/plugins

dnf 플러그인 환경설정 파일(구성 파일)은 위 디렉터리에 존재합니다.

특별한 설정을 하지 않았다면 아래와 같이 구성됩니다.

디렉터리 : copr.d

파일 : copr.conf    debuginfo-install.conf  spacewalk.conf


플러그인 활성화/비활성화 설정

--disableplugin=<plugin names>

사용 빈도 : 낮음

이름 또는 globs로 지정된 나열 플러그인을 비활성화합니다.


[study@localhost ~]$ dnf changelog --count=3 dnf
CentOS-8 - AppStream                            1.6 MB/s | 7.3 MB     00:04    
CentOS-8 - Base                                 686 kB/s | 5.5 MB     00:08    
CentOS-8 - Extras                               860  B/s | 3.3 kB     00:03    
Listing 3 latest changelogs
Changelogs for dnf-4.2.7-7.el8_1.noarch
* 월 10월 21 00시 00분 00초 2019 Pavla Kratochvilova  - 4.2.7-7
- Prevent reinstalling modified packages with same NEVRA (RhBug:1728252,1644241,1760825)

* 화  9월 03 00시 00분 00초 2019 Jaroslav Mracek  - 4.2.7-6
- Remove patch to not fail when installing modular RPMs without modular metadata

* 금  8월 30 00시 00분 00초 2019 Pavla Kratochvilova  - 4.2.7-5
- Fix: --setopt and repo with dots (RhBug:1746349)

[study@localhost ~]$ 

플러그인이 활성화되어 있다면 위와 같이 작동합니다.

참고

예시로 든 플러그인은 패키지의 로그 변경 기록을 확인할 수 있는 dnf의 changelog 플러그인입니다.

이 플러그인 뿐만 아니라 레드햇 계열 리눅스를 설치하면 다수의 dnf 플러그인을 기본적으로 지원해줍니다.(최소 설치 제외)

기본 지원


[study@localhost ~]$ dnf --disableplugin=changelog changelog --count=3 dnf
그러한 명령이 없습니다. changelog. 사용 해주세요 /usr/bin/dnf --도움
DNF 플러그인 명령 일 수도 있습니다. "dnf install 'dnf-command (changelog) ''
[study@localhost ~]$ 
그런데 해당 플러그인을 비활성화한 채로 실행하면 위처럼 오류를 출력하며 종료됩니다.



--enableplugin=<plugin names>

사용 빈도 : 낮음

이름 또는 globs로 지정된 나열 플러그인을 활성화합니다.



모든 플러그인 비활성화

--noplugins

사용 빈도 : 낮음

모든 플러그인을 비활성화합니다.


2-4. 기타 설정 옵션 비활성화

종속성 제거 설정 비활성화

--noautoremove

사용 빈도 : 중간

해당 옵션 주 사용 명령 : remove

더 이상 사용되지 않는 종속성 제거를 비활성화합니다.

이는 이 옵션이 사용된 작업(주로 패키지 작업)에서 clean_requirements_on_remove 구성 옵션을 임시로 False로 설정하여 사용자가 명시적으로 지정하지 않은 패키지들은 종속성으로 연결된 것이라도 삭제되지 않도록 하는 것입니다.


제외 설정 비활성화

--disableexcludes=[all|main|<repoid>], --disableexcludepkgs=[all|main|<repoid>]

사용 빈도 : 중간

환경설정(구성) 파일의 제외 설정을 비활성화합니다.

다음 세가지 옵션을 사용할 수 있습니다.

all : 모든 구성 파일의 제외 설정을 비활성화합니다.

main : [main]섹션에 정의된 제외 설정을 비활성화합니다.

repoid : 지정된 저장소에 대해 정의된 제외 설정을 비활성화합니다.




2-5. 배포판 설정

배포판 지정

--releasever=<release>

사용 빈도 : 낮음

배포판 릴리스가 구성된 것처럼 DNF를 설정합니다. 이는 캐시 경로, 구성 파일의 설정값,  미러 목록 URL 등에 영향을 미칩니다.

[study@localhost ~]$ dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync