리눅스/CentOS

DNF 모듈 관리 - 모듈 관리(Module)

씨실과 날실 2020. 2. 5. 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)





안내

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



DNF 모듈 관리


[DNF 모듈 관리]

모듈 관리 : Module


Module

안내

모듈 관리 연재는 MariaDB를 예시로 설명하도록 하겠습니다.

그러나 아래의 방법은 AppStream 저장소에 올라온 MariaDB를 설치한 것입니다.

실제로 MariaDB를 구축할 때는 MariaDB 공식 배포처를 이용하시기를 권장합니다.

참고로 MariaDB 재단의 공식 배포처 저장소 내 패키지명은 AppStream 저장소의 그것과 다릅니다. AppStream 저장소의 MariaDB 패키지명은 mariadb로 시작하나, 공식 배포처 저장소의 패키지명은 MariaDB로 시작합니다. 리눅스는 여타의 유닉스 계열 OS와 마찬가지로 대소문자를 구별하므로 주의하시기 바랍니다.


sudo dnf module install <module-spec>...

패키지를 포함하여 모듈 프로파일을 설치합니다. 프로파일이 제공되지 않은 경우 모든 기본 프로파일이 설치됩니다. 그에 따라 모듈 스트림이 활성화됩니다.

[study@localhost ~]$ sudo dnf module install mariadb
[sudo] study의 암호: 
CentOS-8 - AppStream                            1.7 kB/s | 4.3 kB     00:02    
CentOS-8 - Base                                 927  B/s | 3.8 kB     00:04    
CentOS-8 - Extras                               631  B/s | 1.5 kB     00:02    
종속성이 해결되었습니다.
================================================================================
 꾸러미          아키텍처
                        버전                                    리포지토리
                                                                           크기
================================================================================
Installing group/module packages:
 mariadb-server  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  16 M
종속성 설치:
 mariadb         x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.1 M
 mariadb-common  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  62 k
 mariadb-connector-c
                 x86_64 3.0.7-1.el8                             AppStream 148 k
 mariadb-connector-c-config
                 noarch 3.0.7-1.el8                             AppStream  13 k
 mariadb-errmsg  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 232 k
 perl-DBD-MySQL  x86_64 4.046-3.module_el8.1.0+203+e45423dc     AppStream 156 k
 perl-DBI        x86_64 1.641-3.module_el8.1.0+199+8f0a6bbd     AppStream 740 k
약한 의존성 설치하기:
 mariadb-backup  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.0 M
 mariadb-gssapi-server
                 x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  49 k
 mariadb-server-utils
                 x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 1.6 M
Installing module profiles:
 mariadb/server                                                                
Enabling module streams:
 mariadb                10.3                                                   
 perl-DBD-MySQL         4.046                                                  
 perl-DBI               1.641                                                  

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

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


모듈을 설치하는 또다른 방법입니다.

sudo dnf install @모듈명/그룹명


[study@localhost ~]$ sudo dnf install @mariadb
마지막 메타 데이터 만료 확인 : 21:11:50 전에 2020년 02월 10일 (월) 오후 01시 50분 07초.
종속성이 해결되었습니다.
================================================================================
 꾸러미          아키텍처
                        버전                                    리포지토리
                                                                           크기
================================================================================
Installing group/module packages:
 mariadb-server  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  16 M
종속성 설치:
 mariadb         x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.1 M
 mariadb-common  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  62 k
 mariadb-connector-c
                 x86_64 3.0.7-1.el8                             AppStream 148 k
 mariadb-connector-c-config
                 noarch 3.0.7-1.el8                             AppStream  13 k
 mariadb-errmsg  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 232 k
 perl-DBD-MySQL  x86_64 4.046-3.module_el8.1.0+203+e45423dc     AppStream 156 k
 perl-DBI        x86_64 1.641-3.module_el8.1.0+199+8f0a6bbd     AppStream 740 k
약한 의존성 설치하기:
 mariadb-backup  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.0 M
 mariadb-gssapi-server
                 x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  49 k
 mariadb-server-utils
                 x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 1.6 M
Installing module profiles:
 mariadb/server                                                                

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

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


위의 모듈 설치 방법은 명령만 다를 뿐 수행 과정은 동일합니다. 그러나 패키지 설치 방식으로도 예시로 든 MariaDB를 설치할 수 있습니다.

먼저 MariaDB의 관련 패키지들을 확인해 봅시다.

[study@localhost ~]$ dnf list mariadb*
사용 가능한 패키지
mariadb.x86_64                 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-backup.x86_64          3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-common.x86_64          3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-connector-c.i686       3.0.7-1.el8                             AppStream
mariadb-connector-c.x86_64     3.0.7-1.el8                             AppStream
mariadb-connector-c-config.noarch
                               3.0.7-1.el8                             AppStream
mariadb-connector-c-devel.i686 3.0.7-1.el8                             AppStream
mariadb-connector-c-devel.x86_64
                               3.0.7-1.el8                             AppStream
mariadb-connector-odbc.x86_64  3.0.7-1.el8                             AppStream
mariadb-devel.x86_64           3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-embedded.x86_64        3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-embedded-devel.x86_64  3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-errmsg.x86_64          3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-gssapi-server.x86_64   3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-java-client.noarch     2.2.5-2.el8                             AppStream
mariadb-oqgraph-engine.x86_64  3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-server.x86_64          3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-server-galera.x86_64   3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-server-utils.x86_64    3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
mariadb-test.x86_64            3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream
[study@localhost ~]$ 
총 20개의 패키지가 검색됩니다. 여기서 우리가 MariaDB를 설치하기 위한 핵심 패키지는 mariadb-server입니다. 이걸 이용해 설치 과정을 밟아봅시다.


[study@localhost ~]$ sudo dnf install mariadb-server
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 0:09:47 전에 2020년 02월 11일 (화) 오전 11시 43분 53초.
종속성이 해결되었습니다.
================================================================================
 꾸러미          아키텍처
                        버전                                    리포지토리
                                                                           크기
================================================================================
Installing:
 mariadb-server  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  16 M
종속성 설치:
 mariadb         x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.1 M
 mariadb-common  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  62 k
 mariadb-connector-c
                 x86_64 3.0.7-1.el8                             AppStream 148 k
 mariadb-connector-c-config
                 noarch 3.0.7-1.el8                             AppStream  13 k
 mariadb-errmsg  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 232 k
 perl-DBD-MySQL  x86_64 4.046-3.module_el8.1.0+203+e45423dc     AppStream 156 k
 perl-DBI        x86_64 1.641-3.module_el8.1.0+199+8f0a6bbd     AppStream 740 k
약한 의존성 설치하기:
 mariadb-backup  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.0 M
 mariadb-gssapi-server
                 x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  49 k
 mariadb-server-utils
                 x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 1.6 M
Enabling module streams:
 mariadb                10.3                                                   
 perl-DBD-MySQL         4.046                                                  
 perl-DBI               1.641                                                  

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

총 다운로드 크기 : 31 M
설치 크기 : 172 M
이게 괜찮습니까 [y / N] : y
패키지 다운로드중:
(1/11): mariadb-common-10.3.17-1.module_el8.1.0  34 kB/s |  62 kB     00:01    
(2/11): mariadb-connector-c-3.0.7-1.el8.x86_64.  39 kB/s | 148 kB     00:03    
(3/11): mariadb-connector-c-config-3.0.7-1.el8.  36 kB/s |  13 kB     00:00    
(4/11): mariadb-errmsg-10.3.17-1.module_el8.1.0  38 kB/s | 232 kB     00:06    
(5/11): mariadb-gssapi-server-10.3.17-1.module_  44 kB/s |  49 kB     00:01    
(6/11): mariadb-backup-10.3.17-1.module_el8.1.0  42 kB/s | 6.0 MB     02:27    
(7/11): mariadb-10.3.17-1.module_el8.1.0+257+48  42 kB/s | 6.1 MB     02:28    
(8/11): perl-DBD-MySQL-4.046-3.module_el8.1.0+2  50 kB/s | 156 kB     00:03    
(9/11): perl-DBI-1.641-3.module_el8.1.0+199+8f0  41 kB/s | 740 kB     00:17    
(10/11): mariadb-server-utils-10.3.17-1.module_  49 kB/s | 1.6 MB     00:34    
(11/11): mariadb-server-10.3.17-1.module_el8.1.  68 kB/s |  16 MB     04:00    
--------------------------------------------------------------------------------
합계                                            124 kB/s |  31 MB     04:15     
트랜잭션 점검 실행 중
트랜잭션 검사가 성공했습니다.
트랜잭션 테스트 실행 중
트랜잭션 테스트가 완료되었습니다.
거래 실행 중
  스크립틀릿 실행: mariadb-connector-c-3.0.7-1.el8.x86_64                   1/1 
  준비 중입니다  :                                                          1/1 
  Installing     : mariadb-connector-c-config-3.0.7-1.el8.noarch           1/11 
  Installing     : mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736e    2/11 
  Installing     : mariadb-connector-c-3.0.7-1.el8.x86_64                  3/11 
  Installing     : perl-DBI-1.641-3.module_el8.1.0+199+8f0a6bbd.x86_64     4/11 
  Installing     : perl-DBD-MySQL-4.046-3.module_el8.1.0+203+e45423dc.x    5/11 
  Installing     : mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736e    6/11 
  Installing     : mariadb-backup-3:10.3.17-1.module_el8.1.0+257+48736e    7/11 
  Installing     : mariadb-gssapi-server-3:10.3.17-1.module_el8.1.0+257    8/11 
  Installing     : mariadb-server-utils-3:10.3.17-1.module_el8.1.0+257+    9/11 
  스크립틀릿 실행: mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736e   10/11 
  Installing     : mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736e   10/11 
  스크립틀릿 실행: mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736e   10/11 
  Installing     : mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_   11/11 
  스크립틀릿 실행: mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_   11/11 
  확인 중        : mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_    1/11 
  확인 중        : mariadb-backup-3:10.3.17-1.module_el8.1.0+257+48736e    2/11 
  확인 중        : mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736e    3/11 
  확인 중        : mariadb-connector-c-3.0.7-1.el8.x86_64                  4/11 
  확인 중        : mariadb-connector-c-config-3.0.7-1.el8.noarch           5/11 
  확인 중        : mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736e    6/11 
  확인 중        : mariadb-gssapi-server-3:10.3.17-1.module_el8.1.0+257    7/11 
  확인 중        : mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736e    8/11 
  확인 중        : mariadb-server-utils-3:10.3.17-1.module_el8.1.0+257+    9/11 
  확인 중        : perl-DBD-MySQL-4.046-3.module_el8.1.0+203+e45423dc.x   10/11 
  확인 중        : perl-DBI-1.641-3.module_el8.1.0+199+8f0a6bbd.x86_64    11/11 

설치됨:
  mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  mariadb-backup-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  mariadb-gssapi-server-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64          
  mariadb-server-utils-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64           
  mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                        
  mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  mariadb-connector-c-3.0.7-1.el8.x86_64                                        
  mariadb-connector-c-config-3.0.7-1.el8.noarch                                 
  mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  perl-DBD-MySQL-4.046-3.module_el8.1.0+203+e45423dc.x86_64                     
  perl-DBI-1.641-3.module_el8.1.0+199+8f0a6bbd.x86_64                           

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

여기서 중요한 것은 패키지를 mariadb가 아닌 mariadb-server를 선택해야 한다는 점입니다.


[study@localhost ~]$ sudo dnf install mariadb
마지막 메타 데이터 만료 확인 : 21:13:21 전에 2020년 02월 10일 (월) 오후 01시 50분 07초.
종속성이 해결되었습니다.
================================================================================
 꾸러미          아키텍처
                        버전                                    리포지토리
                                                                           크기
================================================================================
Installing:
 mariadb         x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.1 M
종속성 설치:
 mariadb-common  x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream  62 k
 mariadb-connector-c
                 x86_64 3.0.7-1.el8                             AppStream 148 k
 mariadb-connector-c-config
                 noarch 3.0.7-1.el8                             AppStream  13 k

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

총 다운로드 크기 : 6.3 M
설치 크기 : 40 M
이게 괜찮습니까 [y / N] : y
패키지 다운로드중:
(1/4): mariadb-common-10.3.17-1.module_el8.1.0+  57 kB/s |  62 kB     00:01    
(2/4): mariadb-connector-c-config-3.0.7-1.el8.n 427 kB/s |  13 kB     00:00    
(3/4): mariadb-connector-c-3.0.7-1.el8.x86_64.r 130 kB/s | 148 kB     00:01    
(4/4): mariadb-10.3.17-1.module_el8.1.0+257+487 1.5 MB/s | 6.1 MB     00:04    
--------------------------------------------------------------------------------
합계                                            1.1 MB/s | 6.3 MB     00:05     
트랜잭션 점검 실행 중
트랜잭션 검사가 성공했습니다.
트랜잭션 테스트 실행 중
트랜잭션 테스트가 완료되었습니다.
거래 실행 중
  스크립틀릿 실행: mariadb-connector-c-3.0.7-1.el8.x86_64                   1/1 
  준비 중입니다  :                                                          1/1 
  Installing     : mariadb-connector-c-config-3.0.7-1.el8.noarch            1/4 
  Installing     : mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736ea6   2/4 
  Installing     : mariadb-connector-c-3.0.7-1.el8.x86_64                   3/4 
  Installing     : mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64   4/4 
  스크립틀릿 실행: mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64   4/4 
  확인 중        : mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64   1/4 
  확인 중        : mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736ea6   2/4 
  확인 중        : mariadb-connector-c-3.0.7-1.el8.x86_64                   3/4 
  확인 중        : mariadb-connector-c-config-3.0.7-1.el8.noarch            4/4 

설치됨:
  mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                        
  mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  mariadb-connector-c-3.0.7-1.el8.x86_64                                        
  mariadb-connector-c-config-3.0.7-1.el8.noarch                                 

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

만약 mariadb-server가 아닌 mariadb만 선택한다면 위처럼 MariaDB 구축에 필요한 패키지가 온전히 설치되지는 않습니다.


sudo dnf module update <module-spec>...

선택적으로 프로파일로 제한되는 활성 모듈 스트림과 연관된 패키지를 업데이트합니다. profile_name이 제공되면 해당 프로파일이 참조하는 패키지만 업데이트됩니다.


[study@localhost ~]$ sudo dnf module update mariadb
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 21:00:35 전에 2020년 02월 10일 (월) 오후 01시 50분 07초.
종속성이 해결되었습니다.
할 것이 없음.
완료되었습니다!
[study@localhost ~]$ 


sudo dnf module remove [--all] <module-spec>...

dnf module install 명령으로 설치된 패키지를 포함하여 설치된 모듈 프로파일을 제거합니다. 설치된 다른 모듈 프로파일이나 다른 사용자 설치 패키지에 필요한 패키지는 제거하지 않습니다. 프로파일이 제공되지 않은 경우 설치된 모든 프로파일이 제거됩니다.

[study@localhost ~]$ sudo dnf module remove mariadb
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 21:07:43 전에 2020년 02월 10일 (월) 오후 01시 50분 07초.
종속성이 해결되었습니다.
================================================================================
 꾸러미         아키텍처
                       버전                                    리포지토리  크기
================================================================================
삭제 중:
 mariadb-server x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 @AppStream  88 M
사용되지 않는 종속성 제거:
 mariadb        x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 @AppStream  40 M
 mariadb-backup x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 @AppStream  28 M
 mariadb-common x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 @AppStream 179 k
 mariadb-connector-c
                x86_64 3.0.7-1.el8                             @AppStream 424 k
 mariadb-connector-c-config
                noarch 3.0.7-1.el8                             @AppStream 497  
 mariadb-errmsg x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 @AppStream 2.3 M
 mariadb-gssapi-server
                x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 @AppStream  26 k
 mariadb-server-utils
                x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 @AppStream  11 M
 perl-DBD-MySQL x86_64 4.046-3.module_el8.1.0+203+e45423dc     @AppStream 367 k
 perl-DBI       x86_64 1.641-3.module_el8.1.0+199+8f0a6bbd     @AppStream 1.8 M
Removing module profiles:
 mariadb/server                                                                

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

자유 공간 : 172 M
이게 괜찮습니까 [y / N] : y
트랜잭션 점검 실행 중
트랜잭션 검사가 성공했습니다.
트랜잭션 테스트 실행 중
트랜잭션 테스트가 완료되었습니다.
거래 실행 중
  준비 중입니다  :                                                          1/1 
  스크립틀릿 실행: mariadb-gssapi-server-3:10.3.17-1.module_el8.1.0+257+4   1/1 
  삭제 중        : mariadb-gssapi-server-3:10.3.17-1.module_el8.1.0+257    1/11 
  삭제 중        : mariadb-backup-3:10.3.17-1.module_el8.1.0+257+48736e    2/11 
  스크립틀릿 실행: mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736e    3/11 
  삭제 중        : mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736e    3/11 
  스크립틀릿 실행: mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736e    3/11 
  삭제 중        : mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_    4/11 
  삭제 중        : mariadb-server-utils-3:10.3.17-1.module_el8.1.0+257+    5/11 
  삭제 중        : mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736e    6/11 
  삭제 중        : perl-DBD-MySQL-4.046-3.module_el8.1.0+203+e45423dc.x    7/11 
  삭제 중        : mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736e    8/11 
  삭제 중        : mariadb-connector-c-3.0.7-1.el8.x86_64                  9/11 
  삭제 중        : mariadb-connector-c-config-3.0.7-1.el8.noarch          10/11 
  삭제 중        : perl-DBI-1.641-3.module_el8.1.0+199+8f0a6bbd.x86_64    11/11 
  스크립틀릿 실행: perl-DBI-1.641-3.module_el8.1.0+199+8f0a6bbd.x86_64    11/11 
  확인 중        : mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_    1/11 
  확인 중        : mariadb-backup-3:10.3.17-1.module_el8.1.0+257+48736e    2/11 
  확인 중        : mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736e    3/11 
  확인 중        : mariadb-connector-c-3.0.7-1.el8.x86_64                  4/11 
  확인 중        : mariadb-connector-c-config-3.0.7-1.el8.noarch           5/11 
  확인 중        : mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736e    6/11 
  확인 중        : mariadb-gssapi-server-3:10.3.17-1.module_el8.1.0+257    7/11 
  확인 중        : mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736e    8/11 
  확인 중        : mariadb-server-utils-3:10.3.17-1.module_el8.1.0+257+    9/11 
  확인 중        : perl-DBD-MySQL-4.046-3.module_el8.1.0+203+e45423dc.x   10/11 
  확인 중        : perl-DBI-1.641-3.module_el8.1.0+199+8f0a6bbd.x86_64    11/11 

제거됨:
  mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                        
  mariadb-backup-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  mariadb-connector-c-3.0.7-1.el8.x86_64                                        
  mariadb-connector-c-config-3.0.7-1.el8.noarch                                 
  mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64                 
  mariadb-gssapi-server-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64          
  mariadb-server-utils-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64           
  perl-DBD-MySQL-4.046-3.module_el8.1.0+203+e45423dc.x86_64                     
  perl-DBI-1.641-3.module_el8.1.0+199+8f0a6bbd.x86_64                           

완료되었습니다!
[study@localhost ~]$ 
–all 옵션을 사용하면 지정된 모듈에서 이름을 제공하는 모든 패키지를 추가로 제거합니다. 설치된 다른 모듈 프로파일에 필요한 패키지 및 다른 모듈에서도 이름이 제공되는 패키지는 제거되지 않습니다.


sudo dnf module enable <module-spec>...

모듈 스트림을 활성화하고 패키지 세트에서 스트림 RPM을 사용 가능하게 합니다.


[study@localhost ~]$ sudo dnf module enable mariadb
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 0:31:13 전에 2020년 02월 10일 (월) 오후 08시 11분 46초.
종속성이 해결되었습니다.
================================================================================
 꾸러미            아키텍처         버전                리포지토리         크기
================================================================================
Enabling module streams:
 mariadb                            10.3                                       

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

이게 괜찮습니까 [y / N] : y
완료되었습니다!

Switching module streams does not alter installed packages (see 'module enable' in dnf(8) for details)
[study@localhost ~]$ 


참고

스위칭 모듈 스트림은 설치된 패키지를 변경하지 않습니다.

자세한 내용은 dnf (8)의 'module enable'참조하시기 바랍니다.


모듈러 종속성 문제가 발생하면 작업이 거부되는데 그럼에도 불구하고 진행하려면 -skip-broken 옵션을 사용하십시오.


sudo dnf module disable <module-name>...

모듈을 비활성화합니다. 설치된 모든 프로파일이 제거되고 패키지 세트에서 모듈 RPM을 사용할 수 없게됩니다.


[study@localhost ~]$ sudo dnf module disable mariadb
마지막 메타 데이터 만료 확인 : 0:18:50 전에 2020년 02월 10일 (월) 오후 08시 11분 46초.
종속성이 해결되었습니다.
================================================================================
 꾸러미            아키텍처         버전                리포지토리         크기
================================================================================
Disabling module streams:
 mariadb                            10.3                                       

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

이게 괜찮습니까 [y / N] : y
완료되었습니다!
[study@localhost ~]$ 
모듈러 종속성 문제가 발생하면 작업이 거부되는데 그럼에도 불구하고 진행하려면 -skip-broken 옵션을 사용하십시오.


sudo dnf module reset <module-name>...

모듈 상태를 재설정합니다. 설치된 모든 프로파일이 제거되고 기본 스트림의 RPM만 패키지 세트에서 사용할 수 있게 됩니다.

[study@localhost ~]$ sudo dnf module reset mariadb
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 20:48:39 전에 2020년 02월 10일 (월) 오후 01시 50분 07초.
종속성이 해결되었습니다.
================================================================================
 꾸러미            아키텍처         버전                리포지토리         크기
================================================================================
Removing module profiles:
 mariadb/server                                                                
Resetting module streams:
 mariadb                            10.3                                       

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

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


sudo dnf module provides <package-name-spec>...

비활성화된 모듈을 포함하여 모든 모듈에서 <package-name-spec>과 일치하는 모든 모듈러 패키지와 해당 모듈 및 스트림을 나열합니다.

[study@localhost ~]$ sudo dnf module provides mariadb
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 6:17:36 전에 2020년 02월 10일 (월) 오후 01시 50분 07초.
mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
Module   : mariadb:10.3:8010020200108182321:cdc1202b:x86_64
Profiles : client
Repo     : AppStream
Summary  : MariaDB Module
[study@localhost ~]$ 


dnf module list [--all] [module_name...]

저장소에서 지원하는 모듈 스트림, 프로파일 및 상태를 나열합니다.


상태 표시 기호

[d]efault : 기본

[e]nabled : 활성화된 상태

[x]disabled : 비활성화된 상태

[i]nstalled : 시스템에 설치된 모듈


지정한 특정 모듈 정보 확인

[study@localhost ~]$ dnf module list mariadb mysql
마지막 메타 데이터 만료 확인 : 7:46:04 전에 2020년 02월 10일 (월) 오후 12시 28분 13초.
CentOS-8 - AppStream
Name        Stream          Profiles                           Summary          
mariadb     10.3 [d][e]     client, server [d] [i], galera     MariaDB Module   
mysql       8.0 [d]         client, server [d]                 MySQL Module     

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[study@localhost ~]$ 

저장소 지원 모든 모듈 정보 확인

[study@localhost ~]$ dnf module list --all
마지막 메타 데이터 만료 확인 : 7:44:29 전에 2020년 02월 10일 (월) 오후 12시 28분 13초.
CentOS-8 - AppStream
Name                 Stream       Profiles  Summary                             
389-ds               1.4                    389 Directory Server (base)         
ant                  1.10 [d]     common [d Java build tool                     
                                  ]         
container-tools      1.0          common [d Common tools and dependencies for co
                                  ]         ntainer runtimes
container-tools      rhel8 [d]    common [d Common tools and dependencies for co
                                  ]         ntainer runtimes
freeradius           3.0 [d]      server [d High-performance and highly configur
                                  ]         able free RADIUS server
gimp                 2.8 [d]      common [d gimp module                         
                                  ], devel  
go-toolset           rhel8 [d]    common [d Go                                  
                                  ]         
httpd                2.4 [d]      common [d Apache HTTP Server                  
                                  ], devel, 
                                   minimal  

- 중략  -

swig                 3.0 [d]      common [d Connects C/C++/Objective C to some h
                                  ], comple igh-level programming languages
                                  te        
varnish              6 [d]        common [d Varnish HTTP cache                  
                                  ]         
virt                 rhel [d][e]  common [d Virtualization module               
                                  ]         

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[study@localhost ~]$ 

특정 모듈을 지정하지 않는다면 굳이 --all 옵션을 붙이지 않아도 전체 모듈 정보를 출력합니다.



dnf module list --enabled [module_name...]

활성화된 모듈 스트림을 나열합니다.


[study@localhost ~]$ dnf module list --enabled
마지막 메타 데이터 만료 확인 : 7:58:47 전에 2020년 02월 10일 (월) 오후 12시 28분 13초.
CentOS-8 - AppStream
Name               Stream       Profiles           Summary                      
llvm-toolset       rhel8 [d][e] common [d]         LLVM                         
mariadb            10.3 [d][e]  client, server [d] MariaDB Module               
                                 [i], galera       
perl-DBD-MySQL     4.046 [d][e] common [d]         A MySQL interface for Perl   
perl-DBI           1.641 [d][e] common [d]         A database access API for Per
                                                   l
python36           3.6 [d][e]   common [d], build  Python programming language, 
                                                   version 3.6
satellite-5-client 1.0 [d][e]   common [d], gui    Red Hat Satellite 5 client pa
                                                   ckages
virt               rhel [d][e]  common [d]         Virtualization module        

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[study@localhost ~]$ 


dnf module list --disabled [module_name...]

비활성화된 모듈 스트림을 나열합니다.

[study@localhost ~]$ dnf module list --disabled
마지막 메타 데이터 만료 확인 : 8:03:30 전에 2020년 02월 10일 (월) 오후 12시 28분 13초.
CentOS-8 - AppStream
Name         Stream           Profiles                        Summary           
mariadb      10.3 [d][x]      client, server [d], galera      MariaDB Module    

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[study@localhost ~]$ 


dnf module list --installed [module_name...]

프로파일이 설치된 모듈 스트림을 나열합니다.

[study@localhost ~]$ dnf module list --installed
마지막 메타 데이터 만료 확인 : 8:21:14 전에 2020년 02월 10일 (월) 오후 12시 28분 13초.
CentOS-8 - AppStream
Name        Stream          Profiles                           Summary          
mariadb     10.3 [d][e]     client, server [d] [i], galera     MariaDB Module   

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[study@localhost ~]$ 


sudo dnf [options] module info <module-spec>...

지정한 모듈 스트림에 대한 자세한 정보를 출력합니다.

[study@localhost ~]$ dnf module info mariadb
마지막 메타 데이터 만료 확인 : 8:23:42 전에 2020년 02월 10일 (월) 오후 12시 28분 13초.
Name             : mariadb
Stream           : 10.3 [d][e][a]
Version          : 8010020200108182321
Context          : cdc1202b
Profiles         : client, server [d] [i], galera
Default profiles : server
Repo             : AppStream
Summary          : MariaDB Module
Description      : MariaDB is a community developed branch of MySQL. MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MariaDB/MySQL client programs and generic MySQL files.
Artifacts        : Judy-0:1.0.5-18.module_el8.1.0+217+4d875839.src
                 : Judy-0:1.0.5-18.module_el8.1.0+217+4d875839.x86_64
                 : Judy-debuginfo-0:1.0.5-18.module_el8.1.0+217+4d875839.x86_64
                 : Judy-debugsource-0:1.0.5-18.module_el8.1.0+217+4d875839.x86_64
                 : galera-0:25.3.26-1.module_el8.1.0+217+4d875839.src
                 : galera-0:25.3.26-1.module_el8.1.0+217+4d875839.x86_64
                 : galera-debuginfo-0:25.3.26-1.module_el8.1.0+217+4d875839.x86_64
                 : galera-debugsource-0:25.3.26-1.module_el8.1.0+217+4d875839.x86_64
                 : mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.src
                 : mariadb-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-backup-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-backup-debuginfo-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-common-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-debuginfo-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-debugsource-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-devel-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-embedded-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-embedded-debuginfo-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-embedded-devel-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-errmsg-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-gssapi-server-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-gssapi-server-debuginfo-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-oqgraph-engine-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-oqgraph-engine-debuginfo-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-server-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-server-debuginfo-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-server-galera-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-server-utils-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-server-utils-debuginfo-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-test-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64
                 : mariadb-test-debuginfo-3:10.3.17-1.module_el8.1.0+257+48736ea6.x86_64

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive]
[study@localhost ~]$ 


dnf module info --profile <module-spec>...

지정한 모듈 프로파일에 대한 자세한 정보를 출력합니다.

[study@localhost ~]$ dnf module info --profile mariadb
마지막 메타 데이터 만료 확인 : 8:28:04 전에 2020년 02월 10일 (월) 오후 12시 28분 13초.
Name   : mariadb:10.3:8010020200108182321:cdc1202b:x86_64
client : mariadb
server : mariadb-server
galera : mariadb-server
       : mariadb-server-galera
[study@localhost ~]$ 




DNF 명령어에 대하여 알아보고자 하시는 경우 많은 분들이 아래의 사이트를 방문하셔서 원하는 자료를 찾으실 겁니다.

높은 가독성과 일목요연한 정리로 손쉽게 DNF 관련 내용을 습득할 수 있어 저 역시도 굉장히 방문했던 곳입니다.

그러나 DNF와 관련하여 잘못된 정보(대부분 과거 정보)가 수정되지 않고 남아 있다거나 사용법은 설명해놓고 있는데 정작 해당 기능을 사용하기 위해 필요한 사전 작업(예를 들어 추가 플러그인을 사용하기 위한 설치 방법 등)에 대한 정보가 전혀 없는 등의 문제가 있습니다.

이런 문제점이 가장 잘 드러난 부분이 바로 이 DNF 모듈 명령어 파트입니다.

위 사이트의 모듈 명령 안내에는 다음과 같은 명령을 지원한다고 소개하고 있습니다.


dnf module repoquery <module-spec>...

선택한 모듈에 속하는 사용 가능한 모든 패키지를 나열합니다.


sudo dnf module repoquery --available <module-spec>...

선택한 모듈에 속하는 사용 가능한 모든 패키지를 나열합니다.


sudo dnf module repoquery --installed <module-spec>...

선택한 모듈에 속하는 패키지와 같은 이름으로 설치된 모든 패키지를 나열합니다.


그러나 실제로 실행해보면 다음과 같은 오류를 출력합니다.

-전략 -

dnf module: error: argument subcmd: invalid choice: 'repoquery' (choose from 'update', 'provides', 'install', 'reset', 'disable', 'enable', 'info', 'remove', 'list')


즉 dnf module 명령은 하위 명령으로

'update', 'provides', 'install', 'reset', 'disable', 'enable', 'info', 'remove', 'list'

 이렇게 9개만 지원하는 것입니다. dnf module repoquery 명령은 존재하지 않습니다.

이 내용은 터미널에서 $ man dnf 명령을 쳐서도 확인할 수 있습니다.

모듈 명령 파트에서 내용은 dnf module info --profile <module-spec>... 명령을 끝으로 더 이상의 추가 명령어는 존재하지 않습니다.


이러한 잘못된 정보가 존재하는 이유는 이 설명서 작성 프로젝트가 자원봉사자들의 수고로 이루어지기 때문일 것입니다.