리눅스/CentOS

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

씨실과 날실 2020. 1. 19. 19: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)




안내

앞으로 상당 기간에 걸쳐 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 명령 목록

Alias
Auto Remove
Check
Check-Update
Clean
Deplist
Distro-Sync
Distribution-Syncronization
Downgrade
Erase
Group
Groups
Help
History
Info
Install
List
Localinstall
Makecache
Mark
Module
Provides
Reinstall
Remove
Repoinfo
Repolist
Repoquery
Repo-Pkgs
Repository-Packages
Search
Shell
Swap
Update
Updateinfo
Update-Minimal
Upgrade-Minimal
Update-To
Upgrade-To



패키지 기본 관리


[패키지 기본 관리]

패키지 설치 : Install / Localinstall
패키지 재설치 : Reinstall
패키지 제거 : Remove / Erase
패키지 자동 제거 : Auto Remove
패키지 제거와 설치 동시 작업 : Swap

패키지 정보 확인 : Info
패키지 목록 : List
패키지 종속성 리스트 확인 : Deplist
패키지 문제점 확인 : Check
패키지 그룹화 : Group / Groups
패키지 관리 작업 표시 : Mark
패키지 검색 : Search
시스템 내 조건을 만족하는 패키지 검색 : Provides




Info(패키지 정보)

dnf info [패키지명]

이미 시스템에 설치되어 있거나 설치 가능한 패키지에 대한 설명 및 요약 정보를 보여줍니다.


설치되어 있는 패키지의 정보 확인

[study@localhost ~]$ dnf info gzip
CentOS-8 - AppStream                            1.2 MB/s | 6.3 MB     00:05    
CentOS-8 - Base                                 1.7 MB/s | 7.9 MB     00:04    
CentOS-8 - Extras                               603  B/s | 2.1 kB     00:03    
마지막 메타 데이터 만료 확인 : 0:00:01 전에 2020년 01월 14일 (화) 오후 05시 29분 25초.
설치된 패키지
이름         : gzip
버전         : 1.9
릴리즈       : 4.el8
아키텍처     : x86_64
크기         : 359 k
소스         : gzip-1.9-4.el8.src.rpm
리포지터리   : @System
레포에서     : anaconda
요약         : The GNU data compression program
URL          : http://www.gzip.org/
라이선스     : GPLv3+ and GFDL
설명         : The gzip package contains the popular GNU gzip data compression
             : program. Gzipped files have a .gz extension.
             : 
             : Gzip should be installed on your system, because it is a
             : very commonly used data compression program.

사용 가능한 패키지
이름         : gzip
버전         : 1.9
릴리즈       : 4.el8
아키텍처     : i686
크기         : 167 k
소스         : gzip-1.9-4.el8.src.rpm
리포지터리   : BaseOS
요약         : The GNU data compression program
URL          : http://www.gzip.org/
라이선스     : GPLv3+ and GFDL
설명         : The gzip package contains the popular GNU gzip data compression
             : program. Gzipped files have a .gz extension.
             : 
             : Gzip should be installed on your system, because it is a
             : very commonly used data compression program.

[study@localhost ~]$ 

설치되어 있지 않은 패키지의 정보 확인

[study@localhost ~]$ dnf info php
마지막 메타 데이터 만료 확인 : 0:01:22 전에 2020년 01월 14일 (화) 오후 05시 29분 25초.
사용 가능한 패키지
이름         : php
버전         : 7.2.11
릴리즈       : 1.module_el8.0.0+56+d1ca79aa
아키텍처     : x86_64
크기         : 1.5 M
소스         : php-7.2.11-1.module_el8.0.0+56+d1ca79aa.src.rpm
리포지터리   : AppStream
요약         : PHP scripting language for creating dynamic web sites
URL          : http://www.php.net/
라이선스     : PHP and Zend and BSD and MIT and ASL 1.0
설명         : PHP is an HTML-embedded scripting language. PHP attempts to make
             : it easy for developers to write dynamically generated web pages.
             : PHP also offers built-in database integration for several
             : commercial and non-commercial database management systems, so
             : writing a database-enabled webpage with PHP is fairly simple. The
             : most common use of PHP coding is probably as a replacement for
             : CGI scripts.
             : 
             : The php package contains the module (often referred to as
             : mod_php) which adds support for the PHP language to Apache HTTP
             : Server.

[study@localhost ~]$ 

위 예시를 보면 알 수 있듯이 dnf info는 아래와 같은 정보들을 출력해줍니다.

이름 : 패키지(애플리케이션) 이름

버전 : 패키지 버전

릴리즈 : 패키지 공개 고유 문자

아키텍처 : 해당 패키지의 지원 시스템 아키텍처

크기 : 패키지 용량

소스 : 패키지 파일 이름

리포지터리 : 패키지 저장소

요약 : 해당 패키지의 간략한 역할 설명

URL : 패키지 제작 및 유지보수 공식 사이트

라이선스 : 패키지 사용권

설명 : 해당 패키지에 대한 자세한 설명




List(패키지 목록)

설치되어 있거나 설치할 수 있는 모든 패키지 목록 확인

dnf list --all


시스템에 설치되어 있거나 저장소가 활성화되어 있어 설치할 수 있는 모든 패키지 목록을 확인할 수 있는 명령어입니다.


[study@localhost ~]$ dnf list all
CentOS-8 - AppStream                            1.2 MB/s | 6.3 MB     00:05    
CentOS-8 - Base                                 2.5 MB/s | 7.9 MB     00:03    
CentOS-8 - Extras                               863  B/s | 2.1 kB     00:02    
설치된 패키지
GConf2.x86_64                  3.2.6-22.el8                           @AppStream
ModemManager.x86_64            1.8.0-1.el8                            @anaconda 
ModemManager-glib.x86_64       1.8.0-1.el8                            @anaconda 
NetworkManager.x86_64          1:1.14.0-14.el8                        @anaconda 
NetworkManager-adsl.x86_64     1:1.14.0-14.el8                        @anaconda 
--- 하략 ---


참고

시스템에 설치되어 있거나 설치 가능한 모든 패키지 목록을 확인하기 위한 list 명령의 정식 문법은 위와 같이 dnf list --all입니다. 그러나 옵션 표시 기호인 --를 없앤 dnf list all이나 --all 옵션 자체를 아예 없인 dnf list만 입력해도 동일한 효과를 볼 수 있습니다.


리눅스 터미널 출력 결과 한 페이지씩 끊어서 표시 ( | less)

그런데 위 명령은 내용이 너무 길어져 확인하기가 힘들어집니다. 이런 경우 출력 결과를 한페이지씩 끊어서 보여주도록 옵션을 걸어 주시면 됩니다.

[study@localhost ~]$ dnf list --all | less
명령 끝에 | less 옵션을 붙이면 아래와 같이 한페이지씩 표시됩니다.

주의할 점은 less 앞에 있는 "|" 기호는 백슬래쉬 기호(\) 위에 있는 파이프(|) 기호입니다. 숫자1이나 알파벳 L의 소문자가 아닙니다.


마지막 메타 데이터 만료 확인 : 0:14:46 전에 2020년 01월 18일 (토) 오후 12시 25분 09초.
설치된 패키지
GConf2.x86_64                                        3.2.6-22.el8                                      @AppStream
ModemManager.x86_64                                  1.8.0-1.el8                                       @anaconda 
ModemManager-glib.x86_64                             1.8.0-1.el8                                       @anaconda 
NetworkManager.x86_64                                1:1.14.0-14.el8                                   @anaconda 
NetworkManager-adsl.x86_64                           1:1.14.0-14.el8                                   @anaconda 
NetworkManager-bluetooth.x86_64                      1:1.14.0-14.el8                                   @anaconda 
NetworkManager-libnm.x86_64                          1:1.14.0-14.el8                                   @anaconda 
NetworkManager-team.x86_64                           1:1.14.0-14.el8                                   @anaconda 
NetworkManager-tui.x86_64                            1:1.14.0-14.el8                                   @anaconda 
NetworkManager-wifi.x86_64                           1:1.14.0-14.el8                                   @anaconda 
:
이렇게 less 명령을 뒤에 붙이면, 한 페이지씩 나누어서 읽기 쉽게 출력됩니다. 상하 화살표키를 누르면 아래위로 스크롤이 됩니다. PageUp / PageDown 키를 누르면 한 페이지씩 상하로 이동합니다. 엔터키를 누르면 한줄씩 아래로 내려갑니다.

이 화면을 빠져나가려면 q 키를 눌러주시면 됩니다. 그러면 터미널의 명령 입력 대기 상태로 되돌아가게 됩니다.

참고

| less 옵션은 리눅스의 다른 명령에서도 적용 가능합니다. 이 명령을 가장 유용하게 쓰는 명령어가 아마 ls 명령일 겁니다.


[study@localhost ~]$ ls /usr/bin | less


설치된 패키지 목록 확인

dnf list --installed

시스템에 설치된 패키지들을 출력합니다.


[study@localhost ~]$ dnf list --installed
설치된 패키지
GConf2.x86_64                              3.2.6-22.el8               @AppStream
ModemManager.x86_64                        1.8.0-1.el8                @anaconda 
ModemManager-glib.x86_64                   1.8.0-1.el8                @anaconda 
NetworkManager.x86_64                      1:1.14.0-14.el8            @anaconda 
NetworkManager-adsl.x86_64                 1:1.14.0-14.el8            @anaconda 
NetworkManager-bluetooth.x86_64            1:1.14.0-14.el8            @anaconda 
NetworkManager-libnm.x86_64                1:1.14.0-14.el8            @anaconda 
NetworkManager-team.x86_64                 1:1.14.0-14.el8            @anaconda 
NetworkManager-tui.x86_64                  1:1.14.0-14.el8            @anaconda 
NetworkManager-wifi.x86_64                 1:1.14.0-14.el8            @anaconda 
NetworkManager-wwan.x86_64                 1:1.14.0-14.el8            @anaconda 
PackageKit.x86_64                          1.1.12-2.el8               @AppStream
PackageKit-command-not-found.x86_64        1.1.12-2.el8               @AppStream
PackageKit-glib.x86_64                     1.1.12-2.el8               @AppStream
PackageKit-gstreamer-plugin.x86_64         1.1.12-2.el8               @AppStream
PackageKit-gtk3-module.x86_64              1.1.12-2.el8               @AppStream
abattis-cantarell-fonts.noarch             0.0.25-4.el8               @AppStream
accountsservice.x86_64                     0.6.50-6.el8               @AppStream
accountsservice-libs.x86_64                0.6.50-6.el8               @AppStream
--- 하략 ---

위 예시를 보면 패키지 정보가 세부류로 나누어 제공됨을 알 수 있습니다.

맨 왼쪽은 패키지 파일명입니다. 가운데는 버전과 릴리즈 정보입니다. 맨 오른쪽은 패키지를 설치할 때 사용된 패키지 원본 위치의 저장소를 뜻합니다.

그런데 CentOS 등을 설치할 때 기본적으로 활성화되는 저장소는 @Base, @AppStream, @Extras 이 셋뿐입니다. 나머지는 기본적으로 비활성화되어 있습니다.

참고

아나콘다(Anaconda) - @anaconda

위를 보면 @anaconda 저장소가 보입니다. 사실 이 @anaconda는 정확히 말해서 저장소가 아닙니다. 아나콘다(Anaconda)는 CentOS가 사용하는 설치 프로그램으로 @anaconda가 붙었다는 것은 CentOS를 처음 설치할 때 해당 패키지도 설치되었음을 의미합니다.


설치 가능 패키지 목록 확인

dnf list --available

활성화되어 있는 저장소를 통해 설치할 수 있는 패키지 목록을 확인하는 명령입니다.


[study@localhost ~]$ dnf list --available
마지막 메타 데이터 만료 확인 : 0:12:25 전에 2020년 01월 10일 (금) 오후 01시 13분 25초.
사용 가능한 패키지
CUnit.i686                      2.1.3-17.el8                           AppStream
CUnit.x86_64                    2.1.3-17.el8                           AppStream
GConf2.i686                     3.2.6-22.el8                           AppStream
Judy.x86_64                     1.0.5-18.module_el8.0.0+35+6f2527ed    AppStream
LibRaw.i686                     0.19.1-1.el8                           AppStream
LibRaw.x86_64                   0.19.1-1.el8                           AppStream
ModemManager.i686               1.8.0-1.el8                            BaseOS   
ModemManager-glib.i686          1.8.0-1.el8                            BaseOS   
NetworkManager.i686             1:1.14.0-14.el8                        BaseOS   
NetworkManager-adsl.i686        1:1.14.0-14.el8                        BaseOS   
NetworkManager-bluetooth.i686   1:1.14.0-14.el8                        BaseOS 
--- 하략 ---


활성화된 저장소에서는 사용할 수 없는 시스템에 설치된 추가  패키지 항목

dnf list --extras

활성화된 저장소(리포지토리)에서는 사용할 수 없는 시스템에 설치된 추가  패키지 항목을 나열하는 명령입니다.


해당 패키지의 유지보수가 끊긴 경우

[study@localhost ~]$ dnf list --extras
마지막 메타 데이터 만료 확인 : 0:21:37 전에 2020년 01월 10일 (금) 오후 01시 13분 25초.
추가 패키지
- 중략 -
insights-client.noarch                     3.0.5-4.el8                @AppStream
- 중략 -
[study@localhost ~]$ 

예를 들어 위의 경우 이전에 @AppStream 저장소에서 버전과 릴리즈 정보가 3.0.5-4.el8인 insights-client.noarch라는 패키지를 설치했었는데 지금은 활성화되어 있는 그 어떤 저장소에서도 해당 패키지를 찾을 수 없다는 뜻입니다.

정말 해당 패키지를 설치할 수 없는지 확인해봅시다.

[study@localhost ~]$ dnf list --available insights-client.noarch
마지막 메타 데이터 만료 확인 : 0:02:03 전에 2020년 01월 18일 (토) 오후 03시 11분 53초.
오류: 목록과 일치하는 패키지가 없습니다.
[study@localhost ~]$ 
목록과 일치하는 패키지가 없다고 나오네요.

설치되어 있는 해당 패키지의 정보를 확인해봅시다.

study@localhost ~]$ dnf info insights-client.noarch
CentOS-8 - AppStream                             75 kB/s | 5.9 MB     01:19    
CentOS-8 - Base                                 868 kB/s | 4.0 MB     00:04    
CentOS-8 - Extras                               570  B/s | 2.1 kB     00:03    
설치된 패키지
이름         : insights-client
버전         : 3.0.5
릴리즈       : 4.el8
아키텍처     : noarch
크기         : 329 k
소스         : insights-client-3.0.5-4.el8.src.rpm
리포지터리   : @System
레포에서     : AppStream
요약         : Uploads Insights information to Red Hat on a periodic basis
URL          : http://access.redhat.com/insights
라이선스     : GPLv2+
설명         : Sends insightful information to Red Hat for automated analysis

[study@localhost ~]$ 
해당 패키지의 공식 사이트가 http://access.redhat.com/insights로 나오네요. 해당 주소로 접속해보면 해당 웹문서가 사라졌는지 레드햇 계정 로그인 페이지로 리다이렉트됩니다.

이런 정황들을 바탕으로 유추해보면 해당 패키지는 다른 패키지로 대체되었거나 불필요하다고 여겨져 저장소에서 제거되었다고 생각할 수 있습니다.


해당 패키지가 업그레이드된 경우

다른 예를 봅시다.

[study@localhost ~]$ dnf list --extras
마지막 메타 데이터 만료 확인 : 0:21:37 전에 2020년 01월 10일 (금) 오후 01시 13분 25초.
추가 패키지
- 중략 -
gtk3.x86_64                                3.22.30-3.el8              @AppStream
- 중략 -
[study@localhost ~]$ 

저장소에서 이 패키지를 사용할 수 있는지 확인해봅시다.


[study@localhost ~]$ dnf list --available gtk3.x86_64
마지막 메타 데이터 만료 확인 : 0:44:50 전에 2020년 01월 18일 (토) 오후 03시 11분 53초.
사용 가능한 패키지
gtk3.x86_64                       3.22.30-4.el8                        AppStream
[study@localhost ~]$ 
사용 가능한 패키지로 나오는군요. 위 두 명령의 출력에서 무슨 차이가 있는지 눈치 빠른 분들은 깨달으셨을 겁니다. 그래도 보다 정확히 무슨 차이가 있는지 자세히 알아봅시다.


[study@localhost ~]$ dnf info gtk3.x86_64
마지막 메타 데이터 만료 확인 : 0:47:15 전에 2020년 01월 18일 (토) 오후 03시 11분 53초.
설치된 패키지
이름         : gtk3
버전         : 3.22.30
릴리즈       : 3.el8
아키텍처     : x86_64
크기         : 18 M
소스         : gtk3-3.22.30-3.el8.src.rpm
리포지터리   : @System
레포에서     : AppStream
요약         : GTK+ graphical user interface library
URL          : http://www.gtk.org
라이선스     : LGPLv2+
설명         : GTK+ is a multi-platform toolkit for creating graphical user
             : interfaces. Offering a complete set of widgets, GTK+ is suitable
             : for projects ranging from small one-off tools to complete
             : application suites.
             : 
             : This package contains version 3 of GTK+.

사용 가능한 패키지
이름         : gtk3
버전         : 3.22.30
릴리즈       : 4.el8
아키텍처     : x86_64
크기         : 4.5 M
소스         : gtk3-3.22.30-4.el8.src.rpm
리포지터리   : AppStream
요약         : GTK+ graphical user interface library
URL          : http://www.gtk.org
라이선스     : LGPLv2+
설명         : GTK+ is a multi-platform toolkit for creating graphical user
             : interfaces. Offering a complete set of widgets, GTK+ is suitable
             : for projects ranging from small one-off tools to complete
             : application suites.
             : 
             : This package contains version 3 of GTK+.

[study@localhost ~]$ 
다 똑같은데 심지어 버전도 같은데 릴리즈 정보가 다릅니다.

설치되어 있는 패키지의 릴리즈 정보는 3.el8이지만 사용 가능한 패키지의 릴리즈 정보는 4.el8입니다. 분명 설치되어 있는 패키지와 저장소에 올라가 있는 패키지 간 정보가 다르다는 뜻이지요.

이건 해당 패키지를 업그레이드할 수 있다는 뜻이 됩니다.


[study@localhost ~]$ sudo dnf upgrade gtk3.x86_64
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 0:42:17 전에 2020년 01월 18일 (토) 오후 03시 18분 18초.
종속성이 해결되었습니다.
================================================================================
 꾸러미        아키텍처        버전                    리포지토리          크기
================================================================================
Upgrading:
 gtk3          x86_64          3.22.30-4.el8           AppStream          4.5 M

거래 요약
================================================================================
업그레이드  1 꾸러미

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

구버전의 패키지 확인(= 업그레이드 가능 패키지)

dnf list --obsoletes

시스템에 설치되어 있는 패키지들 중 활성화되어 있는 저장소 내 동일 패키지에 비해 버전이 낮은 것들을 출력하는 명령입니다.


[study@localhost ~]$ dnf list --obsoletes
Obsoleting Packages
centos-obsolete-packages.noarch                 8-2                   BaseOS    
    binutils.x86_64                             2.30-49.el8           @anaconda 
file-roller.x86_64                              3.28.1-2.el8          AppStream 
    file-roller-nautilus.x86_64                 3.28.1-1.el8          @AppStream
gnome-shell-extension-common.noarch             3.32.1-10.el8         AppStream 
    gnome-shell-extension-alternate-tab.noarch  3.28.1-8.el8          @AppStream
grub2-tools.x86_64                              1:2.02-78.el8         BaseOS    
    grub2-tools.x86_64                          1:2.02-66.el8_0.1     @BaseOS   
grub2-tools-efi.x86_64                          1:2.02-78.el8         BaseOS    
    grub2-tools.x86_64                          1:2.02-66.el8_0.1     @BaseOS   
grub2-tools-extra.x86_64                        1:2.02-78.el8         BaseOS    
    grub2-tools.x86_64                          1:2.02-66.el8_0.1     @BaseOS   
grub2-tools-minimal.x86_64                      1:2.02-78.el8         BaseOS    
    grub2-tools.x86_64                          1:2.02-66.el8_0.1     @BaseOS   
kernel-headers.x86_64                           4.18.0-147.el8        BaseOS    
    kernel-headers.x86_64                       4.18.0-80.11.2.el8_0  @BaseOS   
kernel-headers.x86_64                           4.18.0-147.0.3.el8_1  BaseOS    
    kernel-headers.x86_64                       4.18.0-80.11.2.el8_0  @BaseOS   
kernel-headers.x86_64                           4.18.0-147.3.1.el8_1  BaseOS    
    kernel-headers.x86_64                       4.18.0-80.11.2.el8_0  @BaseOS   
libssh-config.noarch                            0.9.0-4.el8           BaseOS    
    libssh.x86_64                               0.8.5-2.el8           @anaconda 
[study@localhost ~]$ 


dnf list --recent

최근 저장소에 추가된 패키지를 출력하는 명령입니다.


[study@localhost ~]$ dnf list --recent
최근에 추가 된 패키지
cargo.x86_64                   1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
cargo-doc.noarch               1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
clippy.x86_64                  1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
dotnet.x86_64                  2.1.509-2.el8.0.1                       AppStream
dotnet-host.x86_64             2.1.13-2.el8.0.1                        AppStream
dotnet-host-fxr-2.1.x86_64     2.1.13-2.el8.0.1                        AppStream
dotnet-runtime-2.1.x86_64      2.1.13-2.el8.0.1                        AppStream
dotnet-sdk-2.1.x86_64          2.1.509-2.el8.0.1                       AppStream
dotnet-sdk-2.1.5xx.x86_64      2.1.509-2.el8.0.1                       AppStream
firefox.x86_64                 68.4.1-1.el8_1                          AppStream
rls.x86_64                     1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rust.x86_64                    1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rust-analysis.x86_64           1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rust-debugger-common.noarch    1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rust-doc.x86_64                1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rust-gdb.noarch                1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rust-lldb.noarch               1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rust-src.noarch                1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rust-std-static.x86_64         1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
rustfmt.x86_64                 1.37.0-1.module_el8.1.0+262+a092d20e    AppStream
[study@localhost ~]$ 

업그레이드 가능 패키지 목록 확인

dnf list --upgrades

시스템에 설치된 패키지들 중 업그레이드 가능한 패키지 목록을 출력합니다.


[study@localhost ~]$ dnf list --upgrades
사용 가능한 업그레이드
ModemManager.x86_64                        1.10.4-1.el8                BaseOS   
ModemManager-glib.x86_64                   1.10.4-1.el8                BaseOS   
NetworkManager.x86_64                      1:1.20.0-3.el8              BaseOS   
- 중략 -
xorg-x11-server-Xorg.x86_64                1.20.3-8.el8                AppStream
xorg-x11-server-Xwayland.x86_64            1.20.3-8.el8                AppStream
xorg-x11-server-common.x86_64              1.20.3-8.el8                AppStream
yum.noarch                                 4.2.7-7.el8_1               BaseOS   
[study@localhost ~]$ 

자동 제거(autoremove)명령으로 제거될 패키지 목록 확인

dnf list --autoremove

자동 제거(autoremove)명령으로 제거될 패키지 목록을 출력하는 명령입니다.


[study@localhost ~]$ dnf list --autoremove
마지막 메타 데이터 만료 확인 : 0:24:13 전에 2020년 01월 10일 (금) 오후 01시 13분 25초.
Autoremove 패키지
grub2-tools-efi.x86_64                 1:2.02-66.el8_0.1                 @BaseOS
[study@localhost ~]$ 




Deplist(패키지 종속성 목록)

dnf deplist [패키지명]

dnf deplist 명령은 dnf repoquery --deplist 패키지명 명령어의 별칭입니다.

위 명령은 패키지의 직접적인 모든 종속성 및 이러한 종속성을 제공하는 패키지 목록을 보여줍니다. 참고로, 결과는 최신 공급자만 표시합니다


[study@localhost ~]$ dnf deplist curl
CentOS-8 - AppStream                            2.0 MB/s | 6.3 MB     00:03    
CentOS-8 - Base                                 2.4 MB/s | 7.9 MB     00:03    
CentOS-8 - Extras                               610  B/s | 2.1 kB     00:03    
package: curl-7.61.1-8.el8.i686
  dependency: libc.so.6(GLIBC_2.28)
   provider: glibc32-2.28-42.1.el8.x86_64
   provider: glibc-2.28-42.el8.1.i686
   provider: glibc32-2.28-42.1.el8.x86_64
  dependency: libcrypto.so.1.1
   provider: openssl-libs-1:1.1.1-8.el8.i686
  dependency: libcrypto.so.1.1(OPENSSL_1_1_0)
   provider: openssl-libs-1:1.1.1-8.el8.i686
  dependency: libcurl(x86-32) >= 7.61.1-8.el8
   provider: libcurl-7.61.1-8.el8.i686
   provider: libcurl-minimal-7.61.1-8.el8.i686
  dependency: libcurl.so.4
   provider: libcurl-7.61.1-8.el8.i686
   provider: libcurl-minimal-7.61.1-8.el8.i686
  dependency: libmetalink.so.3
   provider: libmetalink-0.1.3-7.el8.i686
  dependency: libpthread.so.0
   provider: glibc32-2.28-42.1.el8.x86_64
   provider: glibc-2.28-42.el8.1.i686
   provider: glibc32-2.28-42.1.el8.x86_64
  dependency: libpthread.so.0(GLIBC_2.0)
   provider: glibc32-2.28-42.1.el8.x86_64
   provider: glibc-2.28-42.el8.1.i686
   provider: glibc32-2.28-42.1.el8.x86_64
  dependency: libpthread.so.0(GLIBC_2.2)
   provider: glibc32-2.28-42.1.el8.x86_64
   provider: glibc-2.28-42.el8.1.i686
   provider: glibc32-2.28-42.1.el8.x86_64
  dependency: libssl.so.1.1
   provider: openssl-libs-1:1.1.1-8.el8.i686
  dependency: libz.so.1
   provider: zlib-1.2.11-10.el8.i686
  dependency: rtld(GNU_HASH)
   provider: glibc-2.28-42.el8.1.i686
   provider: glibc-2.28-42.el8.1.x86_64

package: curl-7.61.1-8.el8.x86_64
  dependency: libc.so.6(GLIBC_2.17)(64bit)
   provider: glibc-2.28-42.el8.1.x86_64
  dependency: libcrypto.so.1.1()(64bit)
   provider: openssl-libs-1:1.1.1-8.el8.x86_64
  dependency: libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)
   provider: openssl-libs-1:1.1.1-8.el8.x86_64
  dependency: libcurl(x86-64) >= 7.61.1-8.el8
   provider: libcurl-7.61.1-8.el8.x86_64
   provider: libcurl-minimal-7.61.1-8.el8.x86_64
  dependency: libcurl.so.4()(64bit)
   provider: libcurl-7.61.1-8.el8.x86_64
   provider: libcurl-minimal-7.61.1-8.el8.x86_64
  dependency: libmetalink.so.3()(64bit)
   provider: libmetalink-0.1.3-7.el8.x86_64
  dependency: libpthread.so.0()(64bit)
   provider: glibc-2.28-42.el8.1.x86_64
  dependency: libpthread.so.0(GLIBC_2.2.5)(64bit)
   provider: glibc-2.28-42.el8.1.x86_64
  dependency: libssl.so.1.1()(64bit)
   provider: openssl-libs-1:1.1.1-8.el8.x86_64
  dependency: libz.so.1()(64bit)
   provider: zlib-1.2.11-10.el8.x86_64
  dependency: rtld(GNU_HASH)
   provider: glibc-2.28-42.el8.1.i686
   provider: glibc-2.28-42.el8.1.x86_64
[study@localhost ~]$ 




Check

dnf check [패키지명]

로컬 packagedb를 확인하고 발견된 문제점에 대한 정보를 생성합니다.

옵션을 사용하여 검사의 범위를 제한할 수 있는데 사용할 수 있는 옵션은 다음과 같습니다.

--dependencies : 종속성

--duplicates : 중복 패키지

--obsoleted : 구식 버전 패키지

--provides : 패키지에서 제공하는 기능

기본값은 모든 모든 옵션을 확인하는 것입니다.





Group(그룹 관련 명령)

그룹은 패키지의 가상 모음입니다.

그룹은 크게 일반 패키지 그룹과 환경 그룹으로 나눌 수 있습니다.

일반 패키지 그룹은 일정한 목적을 수행하는데 필요한 여러 패키지들의 모음을 일컫습니다.이에 반해 환경 그룹은 시스템 구축 목적에 맞춰 보다 큰 규모로 모아 놓은 패키지들의 모음을 일컫습니다.

Group 명령은 일반 패키지 그룹과 환경 그룹 모두에 사용할 수 있습니다.

참고

그룹명은 공백이 없는 경우 그냥 써도 됩니다. 그러나 그룹명에 공백이 포함되는 경우 반드시 전체 그룹명을 따옴표로 싸주어야 올바르게 인식됩니다.


사용 가능한 모든 패키지 그룹의 개수 확인

dnf group

이 명령은 사용 가능한 모든 패키지 그룹의 개수를 확인하는 것입다.


[study@localhost ~]$ dnf group
CentOS-8 - AppStream                            1.8 kB/s | 4.3 kB     00:02    
CentOS-8 - Base                                 2.1 kB/s | 3.9 kB     00:01    
CentOS-8 - Extras                               987  B/s | 1.5 kB     00:01    
사용 가능한 그룹 : 12
[study@localhost ~]$


선택 그룹의 패키지 목록 확인

dnf group info [그룹명]

그룹의 패키지 목록을 표시합니다.


[study@localhost ~]$ dnf group info workstation
CentOS-8 - AppStream                            1.8 kB/s | 4.3 kB     00:02    
CentOS-8 - Base                                 1.5 kB/s | 3.9 kB     00:02    
CentOS-8 - Extras                               1.0 kB/s | 1.5 kB     00:01    
환경 그룹 : 워크스테이션
 Description: 워크스테이션은 사용자 친화적인 랩탑 및 PC 용 데스크탑 시스템입니다. 
 필수 그룹 :
   Common NetworkManager submodules
   Core
   Fonts
   GNOME
   Guest Desktop Agents
   Hardware Support
   Internet Browser
   Multimedia
   Printing Client
   Standard
   Workstation product core
   base-x
 선택 그룹 :
   Backup Client
   GNOME Applications
   Headless Management
   Internet Applications
   Office Suite and Productivity
   Remote Desktop Clients
   Smart Card Support
[study@localhost ~]$ 

특정 그룹 설치

sudo dnf group install [--with-optional] [그룹명]

지정한 그룹이 설치된 것으로 표시하고 거기에 포함된 패키지를 설치하는 명령입니다.

--with-optional 옵션이 추가된 경우 해당 그룹의 선택적 패키지도 설치에 포함됩니다. 모든 필수 및 기본 패키지는 가능할 때마다 설치됩니다. 조건부 패키지는 요구 사항을 충족하면 설치됩니다. 그룹이 이미 부분적으로 설치되어 있으면 명령은 그룹에서 누락된 패키지를 설치합니다.


[study@localhost ~]$ sudo dnf group install --with-optional server
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 0:23:16 전에 2020년 01월 08일 (수) 오후 01시 06분 20초.
no group 'dns-server' from environment 'server-product-environment'
그룹 패키지 "centos-release-eula"에 일치하는 항목이 없습니다.
종속성이 해결되었습니다.
================================================================================
 꾸러미                       아키텍처
                                     버전                       리포지토리
                                                                           크기
================================================================================
Installing group/module packages:
 buildah                      x86_64 1.5-3.gite94b4f9.module_el8.0.0+58+91b614e7
                                                                AppStream 5.3 M
 containernetworking-plugins  x86_64 0.7.4-3.git9ebe139.module_el8.0.0+58+91b614e7
                                                                AppStream  14 M
 podman                       x86_64 1.0.5-1.gitf604175.module_el8.0.0+194+ac560166
                                                                AppStream 9.1 M
 NetworkManager-config-server noarch 1:1.14.0-14.el8            BaseOS    115 k
 cockpit-doc                  noarch 185.1-1.el8_0              BaseOS    671 k
 dracut-config-generic        x86_64 049-10.git20190115.el8_0.1 BaseOS     49 k
 fwupdate                     x86_64 11-3.el8                   BaseOS     32 k
 nvmetcli                     noarch 0.6-2.el8                  BaseOS     41 k
 opensc                       x86_64 0.19.0-4.el8               BaseOS    1.2 M
 pcsc-lite                    x86_64 1.8.23-3.el8               BaseOS    108 k
 pcsc-lite-ccid               x86_64 1.4.29-3.el8               BaseOS    316 k
 selinux-policy-mls           noarch 3.14.1-61.el8_0.2          BaseOS    7.1 M
 tboot                        x86_64 1:1.9.7-2.el8              BaseOS    711 k
 zsh                          x86_64 5.5.1-6.el8                BaseOS    2.9 M
종속성 설치:
 container-selinux            noarch 2:2.94-1.git1e99f1d.module_el8.0.0+58+91b614e7
                                                                AppStream  43 k
 containers-common            x86_64 1:0.1.32-3.git1715c90.module_el8.0.0+58+91b614e7
                                                                AppStream  31 k
 criu                         x86_64 3.10-7.el8                 AppStream 482 k
 libnet                       x86_64 1.1.6-15.el8               AppStream  67 k
 oci-systemd-hook             x86_64 1:0.1.15-2.git2d0b8a3.module_el8.0.0+58+91b614e7
                                                                AppStream  39 k
 protobuf-c                   x86_64 1.3.0-4.el8                AppStream  37 k
 runc                         x86_64 1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7
                                                                AppStream 2.3 M
 dbxtool                      x86_64 8-5.el8                    BaseOS     37 k
 efi-filesystem               noarch 3-2.el8                    BaseOS    8.8 k
 efivar                       x86_64 36-1.el8                   BaseOS     33 k
 fuse3-libs                   x86_64 3.2.1-12.el8               BaseOS     94 k
 fwupdate-efi                 x86_64 11-3.el8                   BaseOS     64 k
 fwupdate-libs                x86_64 11-3.el8                   BaseOS     36 k
 mcstrans                     x86_64 2.8-2.el8                  BaseOS    128 k
 mokutil                      x86_64 1:0.3.0-9.el8              BaseOS     44 k
 pcsc-lite-libs               x86_64 1.8.23-3.el8               BaseOS     44 k
 policycoreutils-newrole      x86_64 2.8-16.1.el8               BaseOS    195 k
 python3-configshell          noarch 1:1.1.fb25-1.el8           BaseOS     74 k
 python3-kmod                 x86_64 0.9-20.el8                 BaseOS     90 k
 python3-urwid                x86_64 1.3.1-4.el8                BaseOS    783 k
 shim-x64                     x86_64 15-8.el8                   BaseOS    647 k
약한 의존성 설치하기:
 fuse-overlayfs               x86_64 0.3-2.module_el8.0.0+58+91b614e7
                                                                AppStream  48 k
 slirp4netns                  x86_64 0.1-2.dev.gitc4e1bc5.module_el8.0.0+58+91b614e7
                                                                AppStream  55 k
Enabling module streams:
 container-tools                     rhel8                                     
Installing Environment Groups:
 Server                                                                        
Installing Groups:
 Container Management                                                          
 Core                                                                          
 Hardware Support                                                              
 Headless Management                                                           
 Server product core                                                           
 Standard                                                                      

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

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

위 예시는 서버 그룹을 필수 설치 패키지 뿐만 아니라 옵션 패키지까지 모두 설치하는 명령을 실행한 모습입니다.


그룹 목록 확인

dnf group list

설치된 그룹 또는 설치하여 사용할 수 있는 그룹을 나열합니다.

만약 아무 옵션이나 그룹명도 지정하지 않으면 알려진 모든 그룹을 나열합니다.

옵션 사용 시 출력 결과

--installed 옵션이나 --available옵션을 사용하면 각각 설치된 그룹과 설치 가능한 그룹을 표시해줍니다.

--hidden 옵션은 숨겨진 그룹을 포함하여 모든 그룹 목록을 제공합니다.

-v또는 --ids옵션을 사용할 때 그룹 ID를 제공합니다 .


일반 list 명령

[study@localhost ~]$ dnf group list
CentOS-8 - AppStream                            668  B/s | 4.3 kB     00:06    
CentOS-8 - Base                                 1.5 kB/s | 3.9 kB     00:02    
CentOS-8 - Extras                               644  B/s | 1.5 kB     00:02    
사용 가능한 환경 그룹 :
   서버 - GUI 사용
   서버
   최소 설치
   가상화 호스트
   사용자 정의 운영 체제 
설치된 환경 그룹 :
   워크스테이션
사용 가능한 그룹 :
   컨테이너 관리 
   .NET 코어 개발 
   RPM 개발 툴 
   스마트카드 지원
   개발용 툴 
   그래픽기반 관리 툴 
   헤드리스 관리 
   레거시 UNIX 호환성
   네트워크 서버
   과학기술 지원
   보안 툴 
   시스템 툴 
[study@localhost ~]$ 


--installed 옵션을 사용한 list 명령

[study@localhost ~]$ dnf group list --installed
마지막 메타 데이터 만료 확인 : 0:44:57 전에 2020년 01월 19일 (일) 오후 02시 26분 08초.
설치된 환경 그룹 :
   워크스테이션
[study@localhost ~]$ 

--available 옵션을 사용한 list 명령

[study@localhost ~]$ dnf group list --available
마지막 메타 데이터 만료 확인 : 0:41:43 전에 2020년 01월 19일 (일) 오후 02시 26분 08초.
사용 가능한 환경 그룹 :
   서버 - GUI 사용
   서버
   최소 설치
   가상화 호스트
   사용자 정의 운영 체제 
사용 가능한 그룹 :
   컨테이너 관리 
   .NET 코어 개발 
   RPM 개발 툴 
   개발용 툴 
   그래픽기반 관리 툴 
   헤드리스 관리 
   레거시 UNIX 호환성
   네트워크 서버
   과학기술 지원
   보안 툴 
   스마트카드 지원
   시스템 툴 
[study@localhost ~]$ 

--hidden 옵션을 사용한 list 명령

[study@localhost ~]$ dnf group list --hidden
마지막 메타 데이터 만료 확인 : 0:38:41 전에 2020년 01월 19일 (일) 오후 02시 26분 08초.
사용 가능한 환경 그룹 :
   서버 - GUI 사용
   서버
   최소 설치
   가상화 호스트
   사용자 정의 운영 체제 
설치된 환경 그룹 :
   워크스테이션
설치된 그룹 :
   base-x
   게스트 데스크탑 에이전트
   인터넷 브라우저
   멀티미디어
   인쇄 클라이언트
   핵심
   글꼴
   GNOME
   하드웨어 지원 
   일반적인 NetworkManager 서브 모듈 
   표준 
   워크스테이션 제품 코어 
사용 가능한 그룹 :
   백업 클라이언트
   AppStream과 충돌 
   컨테이너 관리 
   디버깅 툴 
   데스크탑 디버깅과 성능 툴 
   .NET 코어 개발 
   FTP 서버
   GNOME 응용 프로그램
   그래픽 생성 툴 
   게스트 에이전트
   입력 방식
   인터넷 프로그램
   자바 플랫폼
   레거시 X Window 시스템 호환성
   오피스 스위트/생산성
   Atomic Host ostree 지원 
   KVM 플랫폼 특정 패키지 
   Hyper-v 플랫폼 특정 패키지 
   VMware 플랫폼 특정 패키지 
   원격 데스크탑 클라이언트
   RPM 개발 툴 
   TeX 형식 시스템 
   가상화 클라이언트
   가상화 하이퍼바이저
   가상화 플랫폼
   가상화 툴 
   기본 웹 서버
   추가 개발
   Anaconda 툴 
   기본
   BaseOS와 충돌 
   개발용 툴 
   전화연결 네트워킹 지원
   파일 및 스토리지 서버
   그래픽기반 관리 툴 
   하드웨어 모니터링 유틸리티
   헤드리스 관리 
   Infiniband 지원
   거대 시스템 성능
   레거시 UNIX 호환성
   메일 서버
   메인프레임 억세스
   네트워크 파일 시스템 클라이언트
   네트워크 서버
   네트워킹 툴 
   성능 툴 
   플랫폼 개발
   Python Web
   Linux 용 원격 관리
   과학기술 지원
   보안 툴 
   서버 제품 코어 
   스마트카드 지원
   Windows 파일 서버
   시스템 툴 
[study@localhost ~]$ 

그룹 제거 명령

sudo dnf group remove server

그룹을 제거된 것으로 표시하고, 제거 대상 그룹에 속한 패키지들 중 다른 설치된 그룹에 속하지 않고 사용자가 명시적으로 설치하지 않은(종속성으로 설치된) 패키지를 시스템에서 제거하는 명령입니다.


[study@localhost ~]$ sudo dnf group remove server
[sudo] study의 암호: 
종속성이 해결되었습니다.
================================================================================
 꾸러미                       아키텍처
                                     버전                      리포지토리  크기
================================================================================
삭제 중:
 NetworkManager-config-server noarch 1:1.14.0-14.el8           @BaseOS    463  
 buildah                      x86_64 1.5-3.gite94b4f9.module_el8.0.0+58+91b614e7
                                                               @AppStream  20 M
 containernetworking-plugins  x86_64 0.7.4-3.git9ebe139.module_el8.0.0+58+91b614e7
                                                               @AppStream  49 M
 podman                       x86_64 1.0.5-1.gitf604175.module_el8.0.0+194+ac560166
                                                               @AppStream  37 M
사용되지 않는 종속성 제거:
 container-selinux            noarch 2:2.94-1.git1e99f1d.module_el8.0.0+58+91b614e7
                                                               @AppStream  39 k
 containers-common            x86_64 1:0.1.32-3.git1715c90.module_el8.0.0+58+91b614e7
                                                               @AppStream  24 k
 criu                         x86_64 3.10-7.el8                @AppStream 1.3 M
 fuse-overlayfs               x86_64 0.3-2.module_el8.0.0+58+91b614e7
                                                               @AppStream  95 k
 fuse3-libs                   x86_64 3.2.1-12.el8              @BaseOS    279 k
 libnet                       x86_64 1.1.6-15.el8              @AppStream 170 k
 oci-systemd-hook             x86_64 1:0.1.15-2.git2d0b8a3.module_el8.0.0+58+91b614e7
                                                               @AppStream  72 k
 protobuf-c                   x86_64 1.3.0-4.el8               @AppStream  56 k
 runc                         x86_64 1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7
                                                               @AppStream 8.6 M
 slirp4netns                  x86_64 0.1-2.dev.gitc4e1bc5.module_el8.0.0+58+91b614e7
                                                               @AppStream  91 k
Removing Environment Groups:
 Server                                                                        
Removing Groups:
 Server product core                                                           
 Headless Management                                                           
 Container Management                                                          

거래 요약
================================================================================
삭제  14 꾸러미

자유 공간 : 117 M
이게 괜찮습니까 [y / N] : y
트랜잭션 점검 실행 중
트랜잭션 검사가 성공했습니다.
트랜잭션 테스트 실행 중
트랜잭션 테스트가 완료되었습니다.
거래 실행 중
  준비 중입니다  :                                                          1/1 
  스크립틀릿 실행: NetworkManager-config-server-1:1.14.0-14.el8.noarch      1/1 
  삭제 중        : NetworkManager-config-server-1:1.14.0-14.el8.noarch     1/14 
  삭제 중        : podman-1.0.5-1.gitf604175.module_el8.0.0+194+ac56016    2/14 
  스크립틀릿 실행: podman-1.0.5-1.gitf604175.module_el8.0.0+194+ac56016    2/14 
  삭제 중        : buildah-1.5-3.gite94b4f9.module_el8.0.0+58+91b614e7.    3/14 
  삭제 중        : containers-common-1:0.1.32-3.git1715c90.module_el8.0    4/14 
  삭제 중        : fuse-overlayfs-0.3-2.module_el8.0.0+58+91b614e7.x86_    5/14 
  삭제 중        : runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+9    6/14 
  삭제 중        : criu-3.10-7.el8.x86_64                                  7/14 
  삭제 중        : container-selinux-2:2.94-1.git1e99f1d.module_el8.0.0    8/14 
  스크립틀릿 실행: container-selinux-2:2.94-1.git1e99f1d.module_el8.0.0    8/14 
  삭제 중        : libnet-1.1.6-15.el8.x86_64                              9/14 
  스크립틀릿 실행: libnet-1.1.6-15.el8.x86_64                              9/14 
  삭제 중        : protobuf-c-1.3.0-4.el8.x86_64                          10/14 
  삭제 중        : fuse3-libs-3.2.1-12.el8.x86_64                         11/14 
  스크립틀릿 실행: fuse3-libs-3.2.1-12.el8.x86_64                         11/14 
  삭제 중        : slirp4netns-0.1-2.dev.gitc4e1bc5.module_el8.0.0+58+9   12/14 
  삭제 중        : containernetworking-plugins-0.7.4-3.git9ebe139.modul   13/14 
  삭제 중        : oci-systemd-hook-1:0.1.15-2.git2d0b8a3.module_el8.0.   14/14 
  스크립틀릿 실행: oci-systemd-hook-1:0.1.15-2.git2d0b8a3.module_el8.0.   14/14 
  확인 중        : NetworkManager-config-server-1:1.14.0-14.el8.noarch     1/14 
  확인 중        : buildah-1.5-3.gite94b4f9.module_el8.0.0+58+91b614e7.    2/14 
  확인 중        : container-selinux-2:2.94-1.git1e99f1d.module_el8.0.0    3/14 
  확인 중        : containernetworking-plugins-0.7.4-3.git9ebe139.modul    4/14 
  확인 중        : containers-common-1:0.1.32-3.git1715c90.module_el8.0    5/14 
  확인 중        : criu-3.10-7.el8.x86_64                                  6/14 
  확인 중        : fuse-overlayfs-0.3-2.module_el8.0.0+58+91b614e7.x86_    7/14 
  확인 중        : fuse3-libs-3.2.1-12.el8.x86_64                          8/14 
  확인 중        : libnet-1.1.6-15.el8.x86_64                              9/14 
  확인 중        : oci-systemd-hook-1:0.1.15-2.git2d0b8a3.module_el8.0.   10/14 
  확인 중        : podman-1.0.5-1.gitf604175.module_el8.0.0+194+ac56016   11/14 
  확인 중        : protobuf-c-1.3.0-4.el8.x86_64                          12/14 
  확인 중        : runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+9   13/14 
  확인 중        : slirp4netns-0.1-2.dev.gitc4e1bc5.module_el8.0.0+58+9   14/14 

제거됨:
  NetworkManager-config-server-1:1.14.0-14.el8.noarch                           
  buildah-1.5-3.gite94b4f9.module_el8.0.0+58+91b614e7.x86_64                    
  containernetworking-plugins-0.7.4-3.git9ebe139.module_el8.0.0+58+91b614e7.x86_64
  podman-1.0.5-1.gitf604175.module_el8.0.0+194+ac560166.x86_64                  
  container-selinux-2:2.94-1.git1e99f1d.module_el8.0.0+58+91b614e7.noarch       
  containers-common-1:0.1.32-3.git1715c90.module_el8.0.0+58+91b614e7.x86_64     
  criu-3.10-7.el8.x86_64                                                        
  fuse-overlayfs-0.3-2.module_el8.0.0+58+91b614e7.x86_64                        
  fuse3-libs-3.2.1-12.el8.x86_64                                                
  libnet-1.1.6-15.el8.x86_64                                                    
  oci-systemd-hook-1:0.1.15-2.git2d0b8a3.module_el8.0.0+58+91b614e7.x86_64      
  protobuf-c-1.3.0-4.el8.x86_64                                                 
  runc-1.0.0-55.rc5.dev.git2abd837.module_el8.0.0+58+91b614e7.x86_64            
  slirp4netns-0.1-2.dev.gitc4e1bc5.module_el8.0.0+58+91b614e7.x86_64            

완료되었습니다!
[study@localhost ~]$ 


그룹 업그레이드

sudo dnf group upgrade [그룹명]

그룹에서 패키지를 업그레이드하고 그룹 자체를 업그레이드합니다.


[study@localhost ~]$ sudo dnf group upgrade workstation
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 0:42:56 전에 2020년 01월 08일 (수) 오후 01시 06분 20초.
그룹 패키지 "centos-release-eula"에 일치하는 항목이 없습니다.
그룹 패키지 "hpijs"에 일치하는 항목이 없습니다.
종속성이 해결되었습니다.
================================================================================
 꾸러미            아키텍처         버전                리포지토리         크기
================================================================================
Upgrading Environment Groups:
 Workstation                                                                   
Upgrading Groups:
 base-x                                                                        
 Core                                                                          
 Fonts                                                                         
 GNOME                                                                         
 Guest Desktop Agents
                                                                               
 Hardware Support                                                              
 Internet Browser                                                              
 Multimedia                                                                    
 Common NetworkManager submodules
                                                                               
 Printing Client                                                               
 Standard                                                                      
 Workstation product core
                                                                               

거래 요약
================================================================================

이게 괜찮습니까 [y / N] : 

그룹 작업 표시

특정 그룹을 설치한 것으로 표시(실제 설치 작업 없음)

sudo dnf group mark install [그룹명]

지정한 그룹을 설치된 것으로 표시합니다. 해당 그룹과 그 그룹에 속한 패키키지들이 실제로 설치되지 않지만 그룹이 설치된 것으로 간주됩니다.


[study@localhost ~]$ sudo dnf group mark install server
마지막 메타 데이터 만료 확인 : 0:45:04 전에 2020년 01월 08일 (수) 오후 01시 06분 20초.
no group 'dns-server' from environment 'server-product-environment'
종속성이 해결되었습니다.
================================================================================
 꾸러미            아키텍처         버전                리포지토리         크기
================================================================================
Installing Environment Groups:
 Server                                                                        
Installing Groups:
 Container Management
                                                                               
 Core                                                                          
 Hardware Support                                                              
 Headless Management
                                                                               
 Server product core
                                                                               
 Standard                                                                      

거래 요약
================================================================================

이게 괜찮습니까 [y / N] : y
완료되었습니다!
[study@localhost ~]$ 

위 명령을 실행 후 그룹 리스트를 확인해보면 아래와 같이 설치된 것으로 표시됩니다.

[study@localhost ~]$ sudo dnf group list
마지막 메타 데이터 만료 확인 : 0:48:01 전에 2020년 01월 08일 (수) 오후 01시 06분 20초.
사용 가능한 환경 그룹 :
   서버 - GUI 사용
   최소 설치
   가상화 호스트
   사용자 정의 운영 체제 
설치된 환경 그룹 :
   서버
   워크스테이션
설치된 그룹 :
   컨테이너 관리 
   헤드리스 관리 
사용 가능한 그룹 :
   .NET 코어 개발 
   RPM 개발 툴 
   스마트카드 지원
   개발용 툴 
   그래픽기반 관리 툴 
   레거시 UNIX 호환성
   네트워크 서버
   과학기술 지원
   보안 툴 
   시스템 툴 
[study@localhost ~]$ 


특정 그룹을 제거한 것으로 표시(실제 제거 작업 없음)

sudo dnf group mark remove [그룹명]

지정한 그룹을 제거한 것으로 표시합니다. 해당 그룹과 그 그룹에 속한 패키키지들이 실제로 제거되지 않지만 그룹이 제거된 것으로 간주됩니다.


[study@localhost ~]$ sudo dnf group mark remove server
마지막 메타 데이터 만료 확인 : 0:49:13 전에 2020년 01월 08일 (수) 오후 01시 06분 20초.
종속성이 해결되었습니다.
================================================================================
 꾸러미            아키텍처         버전                리포지토리         크기
================================================================================
Removing Environment Groups:
 Server                                                                        
Removing Groups:
 Container Management
                                                                               
 Server product core
                                                                               
 Headless Management
                                                                               

거래 요약
================================================================================

이게 괜찮습니까 [y / N] : y
완료되었습니다!
[study@localhost ~]$ 




Mark(패키지 작업 표시)

sudo dnf mark install [패키지명]

지정된 패키지를 사용자가 직접 설치한 것으로 표시합니다.

참고

dnf mark install 명령의 유용성

일반적으로 어떤 패키지가 사용자가 직접 설치한 것이 아니라 종속성으로 설치된 경우, 시스템의 clean_requirements_on_remove 구성 옵션이 True로 설정되어 있다면 remove, autoremove 명령 등으로 제거될 수 있습니다.

만약 종속성으로 설치된 패키지가 remove, autoremove 명령 등으로 제거되지 않도록 설정하려면 dnf mark install 명령을 사용하여 사용자가 해당 패키지를 종속성이 아닌 직접 사용자가 설치한 것으로 표시할 수 있습니다.


설치되어 있지 않은 패키지에서 명령을 실행하는 경우

[study@localhost ~]$ sudo dnf mark install mc
[sudo] study의 암호: 
오류:
꾸러미 mc 설치되어 있지 않습니다.
[study@localhost ~]$

dnf mark install 명령은 시스템에 설치되어 있는 패키지를 대상으로 종속성 설치에서 사용자 직접 설치로 표시를 바꾸는 명령이므로 시스템에 설치되어 있지 않은 패키지에서 이 명령을 실행하면 위처럼 오류를 출력하게 됩니다.


dnf mark install 명령의 사용 예

[study@localhost ~]$ sudo dnf install php
마지막 메타 데이터 만료 확인 : 0:05:47 전에 2020년 01월 10일 (금) 오후 02시 18분 57초.
종속성이 해결되었습니다.
================================================================================
 꾸러미           아키텍처
                         버전                                   리포지토리
                                                                           크기
================================================================================
Installing:
 php              x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa    AppStream 1.5 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            x86_64 2.4.37-12.module_el8.0.0+185+5908b0db  AppStream 1.7 M
 httpd-filesystem noarch 2.4.37-12.module_el8.0.0+185+5908b0db  AppStream  35 k
 httpd-tools      x86_64 2.4.37-12.module_el8.0.0+185+5908b0db  AppStream 102 k
 mod_http2        x86_64 1.11.3-3.module_el8.0.0+185+5908b0db   AppStream 158 k
 nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82 AppStream  24 k
 php-cli          x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa    AppStream 3.1 M
 php-common       x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa    AppStream 653 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
 php-fpm          x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa    AppStream 1.6 M
Enabling module streams:
 httpd                   2.4                                                   
 nginx                   1.14                                                  
 php                     7.2                                                   

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

총 다운로드 크기 : 9.2 M
설치 크기 : 32 M
이게 괜찮습니까 [y / N] : y
패키지 다운로드중:
(1/14): apr-util-bdb-1.6.1-6.el8.x86_64.rpm      23 kB/s |  25 kB     00:01    
(2/14): apr-util-1.6.1-6.el8.x86_64.rpm          97 kB/s | 105 kB     00:01    
(3/14): apr-1.6.3-9.el8.x86_64.rpm              113 kB/s | 125 kB     00:01    
(4/14): apr-util-openssl-1.6.1-6.el8.x86_64.rpm 550 kB/s |  27 kB     00:00    
(5/14): centos-logos-httpd-80.5-2.el8.noarch.rp 934 kB/s |  24 kB     00:00    
(6/14): httpd-filesystem-2.4.37-12.module_el8.0 789 kB/s |  35 kB     00:00    
(7/14): httpd-tools-2.4.37-12.module_el8.0.0+18 1.7 MB/s | 102 kB     00:00    
(8/14): nginx-filesystem-1.14.1-9.module_el8.0. 722 kB/s |  24 kB     00:00    
(9/14): mod_http2-1.11.3-3.module_el8.0.0+185+5 2.9 MB/s | 158 kB     00:00    
(10/14): httpd-2.4.37-12.module_el8.0.0+185+590 4.1 MB/s | 1.7 MB     00:00    
(11/14): php-cli-7.2.11-1.module_el8.0.0+56+d1c 5.9 MB/s | 3.1 MB     00:00    
(12/14): php-common-7.2.11-1.module_el8.0.0+56+ 2.8 MB/s | 653 kB     00:00    
(13/14): php-fpm-7.2.11-1.module_el8.0.0+56+d1c 7.8 MB/s | 1.6 MB     00:00    
(14/14): php-7.2.11-1.module_el8.0.0+56+d1ca79a 2.0 MB/s | 1.5 MB     00:00    
--------------------------------------------------------------------------------
합계                                            2.6 MB/s | 9.2 MB     00:03     
트랜잭션 점검 실행 중
트랜잭션 검사가 성공했습니다.
트랜잭션 테스트 실행 중
트랜잭션 테스트가 완료되었습니다.
거래 실행 중
  준비 중입니다  :                                                          1/1 
  Installing     : php-common-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_6    1/14 
  스크립틀릿 실행: httpd-filesystem-2.4.37-12.module_el8.0.0+185+5908b0    2/14 
  Installing     : httpd-filesystem-2.4.37-12.module_el8.0.0+185+5908b0    2/14 
  Installing     : apr-1.6.3-9.el8.x86_64                                  3/14 
  스크립틀릿 실행: apr-1.6.3-9.el8.x86_64                                  3/14 
  Installing     : apr-util-bdb-1.6.1-6.el8.x86_64                         4/14 
  Installing     : apr-util-openssl-1.6.1-6.el8.x86_64                     5/14 
  Installing     : apr-util-1.6.1-6.el8.x86_64                             6/14 
  스크립틀릿 실행: apr-util-1.6.1-6.el8.x86_64                             6/14 
  Installing     : httpd-tools-2.4.37-12.module_el8.0.0+185+5908b0db.x8    7/14 
  Installing     : php-cli-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64      8/14 
  스크립틀릿 실행: nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fe    9/14 
  Installing     : nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fe    9/14 
  Installing     : php-fpm-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64     10/14 
  스크립틀릿 실행: php-fpm-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64     10/14 
  Installing     : centos-logos-httpd-80.5-2.el8.noarch                   11/14 
  Installing     : mod_http2-1.11.3-3.module_el8.0.0+185+5908b0db.x86_6   12/14 
  Installing     : httpd-2.4.37-12.module_el8.0.0+185+5908b0db.x86_64     13/14 
  스크립틀릿 실행: httpd-2.4.37-12.module_el8.0.0+185+5908b0db.x86_64     13/14 
  Installing     : php-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64         14/14 
  스크립틀릿 실행: httpd-2.4.37-12.module_el8.0.0+185+5908b0db.x86_64     14/14 
  스크립틀릿 실행: php-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64         14/14 
  스크립틀릿 실행: php-fpm-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64     14/14 
  확인 중        : apr-1.6.3-9.el8.x86_64                                  1/14 
  확인 중        : apr-util-1.6.1-6.el8.x86_64                             2/14 
  확인 중        : apr-util-bdb-1.6.1-6.el8.x86_64                         3/14 
  확인 중        : apr-util-openssl-1.6.1-6.el8.x86_64                     4/14 
  확인 중        : centos-logos-httpd-80.5-2.el8.noarch                    5/14 
  확인 중        : httpd-2.4.37-12.module_el8.0.0+185+5908b0db.x86_64      6/14 
  확인 중        : httpd-filesystem-2.4.37-12.module_el8.0.0+185+5908b0    7/14 
  확인 중        : httpd-tools-2.4.37-12.module_el8.0.0+185+5908b0db.x8    8/14 
  확인 중        : mod_http2-1.11.3-3.module_el8.0.0+185+5908b0db.x86_6    9/14 
  확인 중        : nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fe   10/14 
  확인 중        : php-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64         11/14 
  확인 중        : php-cli-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64     12/14 
  확인 중        : php-common-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_6   13/14 
  확인 중        : php-fpm-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64     14/14 

설치됨:
  php-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64                                
  apr-util-bdb-1.6.1-6.el8.x86_64                                               
  apr-util-openssl-1.6.1-6.el8.x86_64                                           
  php-fpm-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64                            
  apr-1.6.3-9.el8.x86_64                                                        
  apr-util-1.6.1-6.el8.x86_64                                                   
  centos-logos-httpd-80.5-2.el8.noarch                                          
  httpd-2.4.37-12.module_el8.0.0+185+5908b0db.x86_64                            
  httpd-filesystem-2.4.37-12.module_el8.0.0+185+5908b0db.noarch                 
  httpd-tools-2.4.37-12.module_el8.0.0+185+5908b0db.x86_64                      
  mod_http2-1.11.3-3.module_el8.0.0+185+5908b0db.x86_64                         
  nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch                
  php-cli-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64                            
  php-common-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64                         

완료되었습니다!
[study@localhost ~]$ 

예를 들어 php 패키지를 설치했다고 칩시다. 그러면 패키지 php뿐만 아니라, 종속성 설치로 10개, 약한 종속성 설치로 3개가 같이 설치됩니다.


[study@localhost ~]$ sudo dnf remove php
종속성이 해결되었습니다.
================================================================================
 꾸러미           아키텍처
                         버전                                  리포지토리  크기
================================================================================
삭제 중:
 php              x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa   @AppStream 4.9 M
사용되지 않는 종속성 제거:
 apr              x86_64 1.6.3-9.el8                           @AppStream 293 k
 apr-util         x86_64 1.6.1-6.el8                           @AppStream 231 k
 apr-util-bdb     x86_64 1.6.1-6.el8                           @AppStream  12 k
 apr-util-openssl x86_64 1.6.1-6.el8                           @AppStream  20 k
 centos-logos-httpd
                  noarch 80.5-2.el8                            @AppStream 1.9 k
 httpd            x86_64 2.4.37-12.module_el8.0.0+185+5908b0db @AppStream 4.9 M
 httpd-filesystem noarch 2.4.37-12.module_el8.0.0+185+5908b0db @AppStream 400  
 httpd-tools      x86_64 2.4.37-12.module_el8.0.0+185+5908b0db @AppStream 197 k
 mod_http2        x86_64 1.11.3-3.module_el8.0.0+185+5908b0db  @AppStream 409 k
 nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82
                                                               @AppStream   0  
 php-cli          x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa   @AppStream 9.8 M
 php-common       x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa   @AppStream 6.0 M
 php-fpm          x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa   @AppStream 5.0 M

거래 요약
================================================================================
삭제  14 꾸러미

자유 공간 : 32 M
이게 괜찮습니까 [y / N] :

그리고 설치했던 php 패키지를 다시 제거하면 php 패키지뿐만 아니라 설치시 함께 설치된 모든 종속성 패키지들도 같이 제거됩니다.


[study@localhost ~]$ sudo dnf mark install apr apr-util
apr-1.6.3-9.el8.x86_64 설치된 사용자로 표시됩니다.
apr-util-1.6.1-6.el8.x86_64 설치된 사용자로 표시됩니다.
[study@localhost ~]$ 

그러나 종속성으로 설치된 일부 패키지를 위처럼 설정하면 php 패키지 제거시 아래와 같이 해당 종속성 패키지는 제거되지 않습니다.


[study@localhost ~]$ sudo dnf remove php
[sudo] study의 암호: 
종속성이 해결되었습니다.
================================================================================
 꾸러미           아키텍처
                         버전                                  리포지토리  크기
================================================================================
삭제 중:
 php              x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa   @AppStream 4.9 M
사용되지 않는 종속성 제거:
 centos-logos-httpd
                  noarch 80.5-2.el8                            @AppStream 1.9 k
 httpd            x86_64 2.4.37-12.module_el8.0.0+185+5908b0db @AppStream 4.9 M
 httpd-filesystem noarch 2.4.37-12.module_el8.0.0+185+5908b0db @AppStream 400  
 httpd-tools      x86_64 2.4.37-12.module_el8.0.0+185+5908b0db @AppStream 197 k
 mod_http2        x86_64 1.11.3-3.module_el8.0.0+185+5908b0db  @AppStream 409 k
 nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82
                                                               @AppStream   0  
 php-cli          x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa   @AppStream 9.8 M
 php-common       x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa   @AppStream 6.0 M
 php-fpm          x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa   @AppStream 5.0 M

거래 요약
================================================================================
삭제  10 꾸러미

자유 공간 : 31 M
이게 괜찮습니까 [y / N] : 

apr, apr-util 패키지가 종속성 설치가 아니라 사용자가 직접 설치한 것으로 인식되기 때문에 remove 명령으로 타 패키지를 제거 시 함께 제거되지 않습니다.

그리고 이 패키지들과 종속성으로 연결된 apr-util-bdb  apr-util-openssl 패키지들도 마찬가지로 제거되지 않습니다.


$ sudo dnf remove apr apr-util

apr, apr-util 패키지를 제거하기 위해서는 사용자가 명시적으로 위 명령을 실행해주어야 합니다.


sudo dnf mark remove  [패키지명]

지정된 패키지를 사용자가 설치한 것으로 표시하지 않습니다.


[study@localhost ~]$ sudo dnf mark remove apr apr-util
apr-1.6.3-9.el8.x86_64 사용자가 설치되면 표시가 해제됩니다.
apr-util-1.6.1-6.el8.x86_64 사용자가 설치되면 표시가 해제됩니다.
[study@localhost ~]$ 


sudo dnf mark group [패키지명]

지정된 패키지를 그룹별로 설치한 것으로 표시합니다.

이것은 어떤 패키지가 그룹 제거 시처럼 해당 패키지를 그룹 구성원으로 보호하고 취급하기를 원하는 경우에 유용합니다.


[study@localhost ~]$ sudo dnf mark group php
php-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 설치된 그룹으로 표시됩니다.
[study@localhost ~]$ 




Search(패키지 검색)

키워드에 대한 패키지 메타 데이터를 검색하는 명령입니다.

주어진 키워드는 검색 시 대소문자를 구분하지 않는 부분 문자열 조건으로 작용하며, 결과는 가장 관련성이 높은 결과에서 가장 적은 결과로 정렬됩니다.

dnf search [키워드] [키워드]

기본적으로 요청 된 모든 키워드와 일치하는 패키지가 나열됩니다(AND 작업).


[study@localhost ~]$ dnf search perl unicode
마지막 메타 데이터 만료 확인 : 0:45:33 전에 2020년 01월 10일 (금) 오후 03시 49분 25초.
===================== 이름 & 요약 일치 함 : unicode, perl ======================
perl-Unicode-Collate.x86_64 : Unicode Collation Algorithm
perl-Unicode-Collate.x86_64 : Unicode Collation Algorithm
perl-Unicode-Normalize.x86_64 : Unicode Normalization Forms
perl-Unicode-Normalize.i686 : Unicode Normalization Forms
perl-Unicode-Normalize.x86_64 : Unicode Normalization Forms
perl-Text-Unidecode.noarch : US-ASCII transliterations of Unicode text
[study@localhost ~]$ 


dnf search -all [키워드] [키워드]

"-all"옵션을 사용하는 경우 하나 이상의 키워드와 일치하는 패키지를 나열합니다 (OR 작업).


[study@localhost ~]$ dnf search --all perl unicode
마지막 메타 데이터 만료 확인 : 0:47:12 전에 2020년 01월 10일 (금) 오후 03시 49분 25초.
=============== 요약 & URL & 설명 & 이름 일치 함 : perl, unicode ===============
perl-Unicode-Collate.x86_64 : Unicode Collation Algorithm
perl-Unicode-Collate.x86_64 : Unicode Collation Algorithm
--- 중략 ---
======================= URL & 설명 & 이름 일치 함 : perl =======================
perl.x86_64 : Practical Extraction and Report Language
perl.x86_64 : Practical Extraction and Report Language
================== 요약 & 설명 & 이름 일치 함 : perl, unicode ==================
perl-Encode-devel.x86_64 : Perl Encode Module Generator
perl-Encode-devel.i686 : Perl Encode Module Generator
================== 요약 & URL & 설명 & 이름 일치 함 : unicode ==================
unicode-ucd.noarch : Unicode Character Database
unicode-ucd.noarch : Unicode Character Database
=================== 요약 & URL & 설명 & 이름 일치 함 : perl ====================
perl-IO.x86_64 : Perl input/output modules
perl-IO.i686 : Perl input/output modules
perl-IO.x86_64 : Perl input/output modules
================== 요약 & 설명 & 이름 일치 함 : perl, unicode ==================
perl-Text-Unidecode.noarch : US-ASCII transliterations of Unicode text
===================== 요약 & 설명 & 이름 일치 함 : unicode =====================
texlive-xunicode.noarch : Generate Unicode characters from accented glyphs
texlive-unicode-math.noarch : Unicode mathematics support for XeTeX and LuaTeX
texlive-unicode-data.noarch : Unicode data and loaders for TeX
====================== 요약 & 설명 & 이름 일치 함 : perl =======================
perl-Git.noarch : Perl interface to Git
perl-Git.noarch : Perl interface to Git
======================= 요약 & URL & 이름 일치 함 : perl =======================
perl-IO-Zlib.noarch : Perl IO:: style interface to Compress::Zlib
perl-IO-Zlib.noarch : Perl IO:: style interface to Compress::Zlib
--- 중략 ---
===================== 설명 & 이름 일치 함 : perl, unicode ======================
perl-Encode-Locale.noarch : Determine the locale encoding
perl-Encode-Locale.noarch : Determine the locale encoding
========================== 요약 & 이름 일치 함 : perl ==========================
perl-NTLM.noarch : NTLM Perl module
perl-Term-Cap.noarch : Perl termcap interface
======================= URL & 설명 & 이름 일치 함 : perl =======================
perl-SelfLoader.noarch : Load functions only on demand
perl-Test.noarch : Simple framework for writing test scripts
--- 중략 ---
========================== 설명 & 이름 일치 함 : perl ==========================
perl-Math-BigInt.noarch : Arbitrary-size integer and float mathematics
perl-Math-BigInt.noarch : Arbitrary-size integer and float mathematics
--- 중략 ---
===================== 요약 & 설명 일치 함 : perl, unicode ======================
texlive-fontwrap.noarch : Bind fonts to specific unicode blocks
========================== URL & 이름 일치 함 : perl ===========================
perl-Errno.x86_64 : System errno constants
perl-Errno.i686 : System errno constants
--- 중략 ---
============================= 이름 일치 함 : perl ==============================
perl-Carp.noarch : Alternative warn and die for modules
perl-Carp.noarch : Alternative warn and die for modules
--- 중략 ---
======================== 요약 & 설명 일치 함 : unicode =========================
libicu-doc.noarch : Documentation for International Components for Unicode
texlive-xetex-tibetan.noarch : XeTeX input maps for Unicode Tibetan
--- 중략 ---
========================== 요약 & 설명 일치 함 : perl ==========================
samba-pidl.noarch : Perl IDL compiler
irssi.x86_64 : Modular text mode IRC client with Perl scripting
--- 중략 ---
============================ 요약 일치 함 : unicode ============================
saab-fonts.noarch : Free Punjabi Unicode OpenType Font
icu.x86_64 : International Components for Unicode
--- 중략 ---
============================ 설명 일치 함 : unicode ============================
texlive-xetexconfig.noarch : Configuration files for XeTeX
boost-locale.i686 : Run-time component of boost locale library
--- 중략 ---
============================= 설명 일치 함 : perl ==============================
python2-numpy-f2py.x86_64 : f2py for numpy
python3-numpy-f2py.x86_64 : f2py for numpy
--- 중략 ---
[study@localhost ~]$ 





Provides(제공 조건 검색)

주어진 조건을 제공하는 패키지를 검색할 때 사용하는 명령어입니다.


파일 경로 검색

dnf provides /usr/bin/gzip


[study@localhost ~]$ dnf provides /usr/bin/gzip
CentOS-8 - AppStream                            1.1 MB/s | 6.3 MB     00:05    
CentOS-8 - Base                                 1.9 MB/s | 7.9 MB     00:04    
CentOS-8 - Extras                               815  B/s | 2.1 kB     00:02    
gzip-1.9-4.el8.x86_64 : The GNU data compression program
Repo : @System
일치 항목 :
파일 이름 : /usr/bin/gzip

gzip-1.9-4.el8.i686 : The GNU data compression program
Repo : BaseOS
일치 항목 :
파일 이름 : /usr/bin/gzip

gzip-1.9-4.el8.x86_64 : The GNU data compression program
Repo : BaseOS
일치 항목 :
파일 이름 : /usr/bin/gzip

[study@localhost ~]$ 


패키지 검색

dnf provides "gzip(x86-64)"


[study@localhost ~]$ dnf provides "gzip(x86-64)"
마지막 메타 데이터 만료 확인 : 0:02:09 전에 2020년 01월 10일 (금) 오후 03시 19분 40초.
gzip-1.9-4.el8.x86_64 : The GNU data compression program
Repo : @System
일치 항목 :
제공 : gzip(x86-64) = 1.9-4.el8

gzip-1.9-4.el8.x86_64 : The GNU data compression program
Repo : BaseOS
일치 항목 :
제공 : gzip(x86-64) = 1.9-4.el8

[study@localhost ~]$ 


파일 검색

dnf provides zless


[study@localhost ~]$ dnf provides zless
마지막 메타 데이터 만료 확인 : 0:03:24 전에 2020년 01월 10일 (금) 오후 03시 19분 40초.
gzip-1.9-4.el8.x86_64 : The GNU data compression program
Repo : @System
일치 항목 :
파일 이름 : /usr/bin/zless

gzip-1.9-4.el8.i686 : The GNU data compression program
Repo : BaseOS
일치 항목 :
파일 이름 : /usr/bin/zless

gzip-1.9-4.el8.x86_64 : The GNU data compression program
Repo : BaseOS
일치 항목 :
파일 이름 : /usr/bin/zless

[study@localhost ~]$