리눅스/CentOS

DNF 트랜잭션 관리 - 트랜잭션 이력(History)

씨실과 날실 2020. 1. 30. 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 트랜잭션 관리]

과거 트랜잭션 기록 확인 및 관리 : History

History

리눅스를 다루기 시작한지 얼마 되지 않은 분들은 트랜잭션이라는 개념이 생소할 수도 있습니다. 보통 우리말로 '거래'로 번역되고 CentOS의 터미널 내 작업 시 출력되는 한글 안내문도 트랜잭션을 '거래'로 표현합니다.

그러나 '거래'라는 단어로 해당 작업을 표현하기에는 부족한 감이 없지 않습니다. 개인적으로 우리말 번역어를 사용하기 보다는 외래어로 '트랜잭션'을 사용하는 것이 의미를 보다 온전히 전달할 수 있다고 봅니다. 게다가 이 '트랜잭션'이라는 단어를 다양한 분야에서 널리 사용하므로 억지로 우리말로 번역하지 않고 '트랜잭션'이라는 단어를 그대로 사용하도록 하겠습니다.

DNF 명령어들 중 install, remove, reinstall, swap, upgrade 등과 같이 패키지 정보 등이 변경되는 명령이 있는데 해당 명령들로 이루어지는 작업을 트랜잭션이라 일컫습니다. 참고로 각 트랜잭션 작업마다 고유 ID가 부여되고 이 ID를 확인하여 트랜잭션 관리가 가능합니다.

dnf history명령을 통해 사용자는 dnf 트랜잭션의 타임 라인, 발생한 날짜 및 시간, 영향을 받는 패키지의 수, 해당 트랜잭션의 성공 또는 중단 여부 및 트랜잭션 간에 RPM 데이터베이스가 변경되었는지에 대한 정보 검토 등을 할 수 있습니다.

또한 이 명령을 사용하여 특정 트랜잭션을 실행 취소하거나 다시 실행할 수 있습니다.

모든 트랜잭션 이력 데이터는 /var/lib/dnf/history/ 디렉토리 내 SQLite3 데이터베이스에 저장됩니다.

트랜잭션과 관련된 모든 작업은 dnf history 명령을 기반으로 이루어지며 하위 명령을 통해 수행할 작업을 지정합니다.

하위 명령은 info, list ,packages-list, summary, addon-info, redo, undo, rollback, new 이며 명시하지 않으면 기본 하위 명령은 list 가 됩니다.

트랜잭션 이력 목록 확인

$ sudo dnf history list

최근 20개의 트랜잭션 작업 이력을 확인하는 명령입니다.


$ sudo dnf history list all

모든 트랜잭션을 확인하려면 위처럼 all 옵션을 추가해줍니다.


[study@localhost ~]$ sudo dnf history list
[sudo] study의 암호: 
ID     | 명령행                   | 날짜와 시간      | 행위)          | 변경됨 
-------------------------------------------------------------------------------
     5 | install elfutils-libelf- | 2019-12-20 13:22 | Install        |    2   
     4 | install make gcc perl ke | 2019-12-20 13:06 | Install        |  102   
     3 | install gnome-tweaks     | 2019-12-17 15:39 | Install        |    2   
     2 | update                   | 2019-12-17 11:53 | I, U           |  174 EE
     1 |                          | 2019-12-01 17:16 | Install        | 1441 EE
[study@localhost ~]$ 


위 도표를 보는 법

ID     | 명령행                   | 날짜와 시간      | 행위)          | 변경됨

ID     | Login user              | Date and time   | Action(s)     | Altered


ID

특정 트랜잭션을 식별하는 고유 숫자값

명령행

트랜잭션 작업에 사용된 명령이나 트랜잭션 대상이 된 패키지명 등이 표시됩니다.

날짜와 시간(Date and time)

거래가 발행 된 날짜와 시간

행위(Action(s))

트랜잭션 중에 수행된 동작 목록

변경됨(Altered)

트랜잭션에 영향받은 패키지 수가 표시되며, 추가 정보가 있는 경우, 코드로 표시됩니다.


행위(Action) 열에 표시되는 정보

행위           약어 

Downgrade    D   

하나 이상의 패키지가 이전 버전으로 다운그레이드되었습니다.

Erase            E   

하나 이상의 패키지가 제거되었습니다.

Install            I   

하나 이상의 새 패키지가 설치되었습니다.

Obsoleting    O   

하나 이상의 패키지가 폐기된 것으로 표시되었습니다.

Reinstall        R   

하나 이상의 패키지가 다시 설치되었습니다.

Update         U   

하나 이상의 패키지가 최신 버전으로 업데이트되었습니다.


변경됨(Altered) 열에 표시되는 정보

기호     설명

<        트랜잭션이 완료되기 전에 rpmdb가 dnf 외부에서 변경되었습니다.

>        트랜잭션이 완료된 후 rpmdb가 dnf 외부에서 변경되었습니다.

*        트랜잭션이 완료되지 않았습니다.

#        트랜잭션이 완료되었지만 dnf가 0이 아닌 종료 코드로 리턴했습니다.

E        트랜잭션이 완료되었지만 오류 또는 경고가 표시되었습니다.

P        트랜잭션이 완료되었지만 rpmdb에 이미 문제가 있습니다.

s        트랜잭션이 성공적으로 완료되었지만 --skip-broken명령행 옵션이 사용되었으며,
        특정 패키지는 건너 뛰었습니다.


특정 ID 트랜잭션만 표시

$ sudo dnf history list [특정 ID 트랜잭션] [특정 ID 트랜잭션]


[study@localhost ~]$ sudo dnf history list 2 4
ID     | 명령행                   | 날짜와 시간      | 행위)          | 변경됨 
-------------------------------------------------------------------------------
     4 | install make gcc perl ke | 2019-12-20 13:06 | Install        |  102  <
     2 | update                   | 2019-12-17 11:53 | I, U           |  174 >E
[study@localhost ~]$ 


특정 범위의 트랜잭션만 표시

$ sudo dnf history list [시작 트랜잭션 ID]..[끝 트랜잭션 ID]


[study@localhost ~]$ sudo dnf history list 2..4
[sudo] study의 암호: 
ID     | 명령행                   | 날짜와 시간      | 행위)          | 변경됨 
-------------------------------------------------------------------------------
     4 | install make gcc perl ke | 2019-12-20 13:06 | Install        |  102   
     3 | install gnome-tweaks     | 2019-12-17 15:39 | Install        |    2   
     2 | update                   | 2019-12-17 11:53 | I, U           |  174 EE
[study@localhost ~]$ 
시작 트랜잭션 ID]와 끝 트랜잭션 ID 사이에 점 2개를 찍어주시면 됩니다.


특정 채키지의 트랜잭션만 표시

$ sudo dnf history list [패키지명]


[study@localhost ~]$ sudo dnf history list perl
ID     | 명령행                   | 날짜와 시간      | 행위)          | 변경됨 
-------------------------------------------------------------------------------
     4 | install make gcc perl ke | 2019-12-20 13:06 | Install        |  102   
[study@localhost ~]$ 

최신 트랜잭션 정보 확인

$ sudo dnf history info

위 명령을 실행하면 가장 최신 트랜잭션의 정보를 알려줍니다.


[study@localhost ~]$ sudo dnf history info
거래 ID : 5
시작 시간 : 2019년 12월 20일 (금) 오후 01시 22분 25초
rpmdb 시작 : 1536:65a2987cce166ba084f318e5e4fb2a383a8a8d10
종료 시간 : 2019년 12월 20일 (금) 오후 01시 22분 26초 (1 초)
rpmdb 끝 : 1538:46a91964ed4ef94951e27ea08f1da5d97f8dbe8b
사용자 : study 
리턴 코드 : 성공
릴리스 자 : 8
명령 줄 : install elfutils-libelf-devel
변경된 패키지 :
    설치 elfutils-libelf-devel-0.174-6.el8.x86_64 @BaseOS
    설치 zlib-devel-1.2.11-10.el8.x86_64          @BaseOS
[study@localhost ~]$ 


특정 ID 트랜잭션 정보 확인

$ sudo dnf history info [트랜잭션 ID 번호]

위 명령을 실행하면 특정 ID 트랜잭션의 정보를 알려줍니다.

[study@localhost ~]$ sudo dnf history info 3
거래 ID : 3
시작 시간 : 2019년 12월 17일 (화) 오후 03시 39분 48초
rpmdb 시작 : 1432:9b4018301c0db774bb0c66bc0cb24662c228a227
종료 시간 : 2019년 12월 17일 (화) 오후 03시 39분 51초 (3 초)
rpmdb 끝 : 1434:1f2d7b3a19d2ed41fae04141cde111f68719e0ad
사용자 : study 
리턴 코드 : 성공
릴리스 자 : 8
명령 줄 : install gnome-tweaks
변경된 패키지 :
    설치 gnome-shell-extension-user-theme-3.28.1-8.el8.noarch @AppStream
    설치 gnome-tweaks-3.28.1-1.el8.noarch                     @AppStream
[study@localhost ~]$ 


$ sudo dnf history info [트랜잭션 ID 번호] [트랜잭션 ID 번호]


[study@localhost ~]$ sudo dnf history info 3 5
거래 ID : 5
시작 시간 : 2019년 12월 20일 (금) 오후 01시 22분 25초
rpmdb 시작 : 1536:65a2987cce166ba084f318e5e4fb2a383a8a8d10 **
종료 시간 : 2019년 12월 20일 (금) 오후 01시 22분 26초 (1 초)
rpmdb 끝 : 1538:46a91964ed4ef94951e27ea08f1da5d97f8dbe8b
사용자 : study 
리턴 코드 : 성공
릴리스 자 : 8
명령 줄 : install elfutils-libelf-devel
변경된 패키지 :
    설치 elfutils-libelf-devel-0.174-6.el8.x86_64 @BaseOS
    설치 zlib-devel-1.2.11-10.el8.x86_64          @BaseOS
-------------------------------------------------------------------------------
거래 ID : 3
시작 시간 : 2019년 12월 17일 (화) 오후 03시 39분 48초
rpmdb 시작 : 1432:9b4018301c0db774bb0c66bc0cb24662c228a227
종료 시간 : 2019년 12월 17일 (화) 오후 03시 39분 51초 (3 초)
rpmdb 끝 : 1434:1f2d7b3a19d2ed41fae04141cde111f68719e0ad **
사용자 : study 
리턴 코드 : 성공
릴리스 자 : 8
명령 줄 : install gnome-tweaks
변경된 패키지 :
    설치 gnome-shell-extension-user-theme-3.28.1-8.el8.noarch @AppStream
    설치 gnome-tweaks-3.28.1-1.el8.noarch                     @AppStream
[study@localhost ~]$ [study@localhost ~]$ sudo dnf history info 2..4
[sudo] study의 암호: 
거래 ID : 2..4
시작 시간 : 2019년 12월 17일 (화) 오전 11시 53분 40초
rpmdb 시작 : 1428:23936740b61b7d9bc2c5fc8e30e86342952d5004
종료 시간 : 2019년 12월 20일 (금) 오후 01시 07분 10초 (73 시간)
rpmdb 끝 : 1536:65a2987cce166ba084f318e5e4fb2a383a8a8d10
사용자 : study 
리턴 코드 : 성공
릴리스 자 : 8
명령 줄 : update
명령 줄 : install gnome-tweaks
명령 줄 : install make gcc perl kernel-devel
변경된 패키지 :
    Upgraded anaconda-core-29.19.0.40-1.el8.x86_64                                               @@System
    Upgrade  anaconda-core-29.19.0.43-1.el8_0.x86_64                                             @AppStream
    Upgraded anaconda-gui-29.19.0.40-1.el8.x86_64                                                @@System
	- 중략 -
    설치     perl-4:5.26.3-416.el8.x86_64                                                        @AppStream
    설치     perl-Algorithm-Diff-1.1903-9.el8.noarch                                             @AppStream
    설치     perl-Archive-Tar-2.30-1.el8.noarch                                                  @AppStream
    설치     perl-Archive-Zip-1.60-3.el8.noarch                                                  @AppStream
	- 중략 -
스크립트 렛 출력 :
   1 경고: /etc/shadow(이)가 /etc/shadow.rpmnew(으)로 생성되었습니다
   2 Setting system policy to DEFAULT
   3 Note: System-wide crypto policies are applied on application start-up.
   4 It is recommended to restart the system for the change of policies
   5 to fully take place.
[study@localhost ~]$ 

특정 범위 ID 트랜잭션 정보 확인

$ sudo dnf history info [시작 트랜잭션 ID]..[끝 트랜잭션 ID]


[study@localhost ~]$[study@localhost ~]$ sudo dnf history info 2..4
[sudo] study의 암호: 
거래 ID : 2..4
시작 시간 : 2019년 12월 17일 (화) 오전 11시 53분 40초
rpmdb 시작 : 1428:23936740b61b7d9bc2c5fc8e30e86342952d5004
종료 시간 : 2019년 12월 20일 (금) 오후 01시 07분 10초 (73 시간)
rpmdb 끝 : 1536:65a2987cce166ba084f318e5e4fb2a383a8a8d10
사용자 : study 
리턴 코드 : 성공
릴리스 자 : 8
명령 줄 : update
명령 줄 : install gnome-tweaks
명령 줄 : install make gcc perl kernel-devel
변경된 패키지 :
    Upgraded anaconda-core-29.19.0.40-1.el8.x86_64                                               @@System
    Upgrade  anaconda-core-29.19.0.43-1.el8_0.x86_64                                             @AppStream
    Upgraded anaconda-gui-29.19.0.40-1.el8.x86_64                                                @@System
	- 중략 -
    설치     perl-4:5.26.3-416.el8.x86_64                                                        @AppStream
    설치     perl-Algorithm-Diff-1.1903-9.el8.noarch                                             @AppStream
    설치     perl-Archive-Tar-2.30-1.el8.noarch                                                  @AppStream
    설치     perl-Archive-Zip-1.60-3.el8.noarch                                                  @AppStream
	- 중략 -
스크립트 렛 출력 :
   1 경고: /etc/shadow(이)가 /etc/shadow.rpmnew(으)로 생성되었습니다
   2 Setting system policy to DEFAULT
   3 Note: System-wide crypto policies are applied on application start-up.
   4 It is recommended to restart the system for the change of policies
   5 to fully take place.
[study@localhost ~]$ 



특정 ID 트랜잭션 취소하기

sudo dnf history undo [트랜잭션 ID 번호]

dnf history undo 명령은 모두 트랜잭션 작업 중에 수행된 단계만 되돌립니다.  즉 dnf 를 이용해 수행된 작업이 아닌 경우 수행되지 않습니다.

트랜잭션이 새 패키지를 설치 한 경우 yum history undo 명령은 해당 패키지를 설치 제거하고, 트랜잭션이 패키지를 설치 제거한 경우 명령이 다시 설치합니다. 이 명령은 또한 이전 패키지를 계속 사용할 수있는 경우 업데이트된 모든 패키지를 이전 버전으로 다운그레이드하려고 시도합니다.

되돌리기도 새로운 트랜잭션이므로 성공적으로 종료된 경우 별도의 트랜잭션 ID 를 갖게 되므로 전체 트랜잭션 ID 수는 1 증가됩니다.


[study@localhost ~]$ sudo dnf history undo 3
마지막 메타 데이터 만료 확인 : 0:40:43 전에 2020년 01월 08일 (수) 오후 05시 34분 14초.
3에서 트랜잭션 2019년 12월 17일 (화) 오후 03시 39분 48초을 (를) 취소하고 있습니다.
    설치 gnome-shell-extension-user-theme-3.28.1-8.el8.noarch @AppStream
    설치 gnome-tweaks-3.28.1-1.el8.noarch                     @AppStream
종속성이 해결되었습니다.
================================================================================
 꾸러미                             아키텍처 버전            리포지토리    크기
================================================================================
삭제 중:
 gnome-shell-extension-user-theme   noarch   3.28.1-8.el8    @AppStream   6.8 k
 gnome-tweaks                       noarch   3.28.1-1.el8    @AppStream   1.4 M

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

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


특정 ID 트랜잭션 반복

sudo dnf history redo [트랜잭션 ID 번호]

dnf history redo 명령은 트랜잭션 작업 중에 수행된 단계만 반복합니다.  즉 dnf 를 이용해 수행된 작업이 아닌 경우 수행되지 않습니다.


[study@localhost ~]$ sudo dnf history redo 3
마지막 메타 데이터 만료 확인 : 0:28:46 전에 2020년 01월 08일 (수) 오후 05시 34분 14초.
Repeating transaction 3, from 2019년 12월 17일 (화) 오후 03시 39분 48초
    설치 gnome-shell-extension-user-theme-3.28.1-8.el8.noarch @AppStream
    설치 gnome-tweaks-3.28.1-1.el8.noarch                     @AppStream
Package gnome-shell-extension-user-theme-3.28.1-8.el8.noarch is already installed.
Package gnome-tweaks-3.28.1-1.el8.noarch is already installed.
할 것이 없음.
[study@localhost ~]$ 

특정 ID 트랜잭션 되돌리기

$ sudo dnf history rollback [트랜잭션 ID 번호]


[study@localhost ~]$ sudo dnf history rollback 3
[sudo] study의 암호: 
마지막 메타 데이터 만료 확인 : 0:36:03 전에 2020년 01월 08일 (수) 오후 05시 34분 14초.
Rollback to transaction 3, from 2019년 12월 17일 (화) 오후 03시 39분 48초
  Undoing the following transactions: 4, 5
    설치 elfutils-libelf-devel-0.174-6.el8.x86_64             @BaseOS
    설치 kernel-devel-4.18.0-80.11.2.el8_0.x86_64             @BaseOS
    설치 make-1:4.2.1-9.el8.x86_64                            @BaseOS
    설치 perl-4:5.26.3-416.el8.x86_64                         @AppStream
    설치 perl-Algorithm-Diff-1.1903-9.el8.noarch              @AppStream
    설치 perl-Archive-Tar-2.30-1.el8.noarch                   @AppStream
    설치 perl-Archive-Zip-1.60-3.el8.noarch                   @AppStream
    설치 perl-Attribute-Handlers-0.99-416.el8.noarch          @AppStream
    설치 perl-B-Debug-1.26-2.el8.noarch                       @AppStream
    설치 perl-CPAN-2.18-397.el8.noarch                        @AppStream
    설치 perl-CPAN-Meta-2.150010-396.el8.noarch               @AppStream
    설치 perl-CPAN-Meta-Requirements-2.140-396.el8.noarch     @AppStream
    설치 perl-CPAN-Meta-YAML-0.018-397.el8.noarch             @AppStream
    설치 perl-Compress-Bzip2-2.26-6.el8.x86_64                @AppStream
    설치 perl-Compress-Raw-Bzip2-2.081-1.el8.x86_64           @AppStream
    설치 perl-Compress-Raw-Zlib-2.081-1.el8.x86_64            @AppStream
    설치 perl-Config-Perl-V-0.30-1.el8.noarch                 @AppStream
    설치 perl-DB_File-1.842-1.el8.x86_64                      @AppStream
    설치 perl-Data-OptList-0.110-6.el8.noarch                 @AppStream
    설치 perl-Data-Section-0.200007-3.el8.noarch              @AppStream
    설치 perl-Devel-PPPort-3.36-5.el8.x86_64                  @AppStream
    설치 perl-Devel-Peek-1.26-416.el8.x86_64                  @AppStream
    설치 perl-Devel-SelfStubber-1.06-416.el8.noarch           @AppStream
    설치 perl-Devel-Size-0.81-2.el8.x86_64                    @AppStream
    설치 perl-Digest-SHA-1:6.02-1.el8.x86_64                  @AppStream
    설치 perl-Encode-Locale-1.05-9.el8.noarch                 @AppStream
    설치 perl-Encode-devel-4:2.97-3.el8.x86_64                @AppStream
    설치 perl-Env-1.04-395.el8.noarch                         @AppStream
    설치 perl-ExtUtils-CBuilder-1:0.280230-2.el8.noarch       @AppStream
    설치 perl-ExtUtils-Command-1:7.34-1.el8.noarch            @AppStream
    설치 perl-ExtUtils-Embed-1.34-416.el8.noarch              @AppStream
    설치 perl-ExtUtils-Install-2.14-4.el8.noarch              @AppStream
    설치 perl-ExtUtils-MM-Utils-1:7.34-1.el8.noarch           @AppStream
    설치 perl-ExtUtils-MakeMaker-1:7.34-1.el8.noarch          @AppStream
    설치 perl-ExtUtils-Manifest-1.70-395.el8.noarch           @AppStream
    설치 perl-ExtUtils-Miniperl-1.06-416.el8.noarch           @AppStream
    설치 perl-ExtUtils-ParseXS-1:3.35-2.el8.noarch            @AppStream
    설치 perl-File-Fetch-0.56-2.el8.noarch                    @AppStream
    설치 perl-File-HomeDir-1.002-4.el8.noarch                 @AppStream
    설치 perl-File-Which-1.22-2.el8.noarch                    @AppStream
    설치 perl-Filter-2:1.58-2.el8.x86_64                      @AppStream
    설치 perl-Filter-Simple-0.94-2.el8.noarch                 @AppStream
    설치 perl-IO-Compress-2.081-1.el8.noarch                  @AppStream
    설치 perl-IO-Zlib-1:1.10-416.el8.noarch                   @AppStream
    설치 perl-IPC-Cmd-2:1.02-1.el8.noarch                     @AppStream
    설치 perl-IPC-SysV-2.07-397.el8.x86_64                    @AppStream
    설치 perl-IPC-System-Simple-1.25-17.el8.noarch            @AppStream
    설치 perl-JSON-PP-1:2.97.001-3.el8.noarch                 @AppStream
    설치 perl-Locale-Codes-3.57-1.el8.noarch                  @AppStream
    설치 perl-Locale-Maketext-1.28-396.el8.noarch             @AppStream
    설치 perl-Locale-Maketext-Simple-1:0.21-416.el8.noarch    @AppStream
    설치 perl-MRO-Compat-0.13-4.el8.noarch                    @AppStream
    설치 perl-Math-BigInt-1:1.9998.11-5.el8.noarch            @BaseOS
    설치 perl-Math-BigInt-FastCalc-0.500.600-6.el8.x86_64     @AppStream
    설치 perl-Math-BigRat-0.2614-1.el8.noarch                 @AppStream
    설치 perl-Math-Complex-1.59-416.el8.noarch                @BaseOS
    설치 perl-Memoize-1.03-416.el8.noarch                     @AppStream
    설치 perl-Module-Build-2:0.42.24-5.el8.noarch             @AppStream
    설치 perl-Module-CoreList-1:5.20181130-1.el8.noarch       @AppStream
    설치 perl-Module-CoreList-tools-1:5.20181130-1.el8.noarch @AppStream
    설치 perl-Module-Load-1:0.32-395.el8.noarch               @AppStream
    설치 perl-Module-Load-Conditional-0.68-395.el8.noarch     @AppStream
    설치 perl-Module-Loaded-1:0.08-416.el8.noarch             @AppStream
    설치 perl-Module-Metadata-1.000033-395.el8.noarch         @AppStream
    설치 perl-Net-Ping-2.55-416.el8.noarch                    @AppStream
    설치 perl-Package-Generator-1.106-11.el8.noarch           @AppStream
    설치 perl-Params-Check-1:0.38-395.el8.noarch              @AppStream
    설치 perl-Params-Util-1.07-22.el8.x86_64                  @AppStream
    설치 perl-Perl-OSType-1.010-396.el8.noarch                @AppStream
    설치 perl-PerlIO-via-QuotedPrint-0.08-395.el8.noarch      @AppStream
    설치 perl-Pod-Checker-4:1.73-395.el8.noarch               @AppStream
    설치 perl-Pod-Html-1.22.02-416.el8.noarch                 @AppStream
    설치 perl-Pod-Parser-1.63-396.el8.noarch                  @AppStream
    설치 perl-SelfLoader-1.23-416.el8.noarch                  @AppStream
    설치 perl-Software-License-0.103013-2.el8.noarch          @AppStream
    설치 perl-Sub-Exporter-0.987-15.el8.noarch                @AppStream
    설치 perl-Sub-Install-0.928-14.el8.noarch                 @AppStream
    설치 perl-Sys-Syslog-0.35-397.el8.x86_64                  @AppStream
    설치 perl-Test-1.30-416.el8.noarch                        @AppStream
    설치 perl-Test-Harness-1:3.42-1.el8.noarch                @AppStream
    설치 perl-Test-Simple-1:1.302135-1.el8.noarch             @AppStream
    설치 perl-Text-Balanced-2.03-395.el8.noarch               @AppStream
    설치 perl-Text-Diff-1.45-2.el8.noarch                     @AppStream
    설치 perl-Text-Glob-0.11-4.el8.noarch                     @AppStream
    설치 perl-Text-Template-1.51-1.el8.noarch                 @AppStream
    설치 perl-Thread-Queue-3.13-1.el8.noarch                  @AppStream
    설치 perl-Time-HiRes-1.9758-1.el8.x86_64                  @AppStream
    설치 perl-Time-Piece-1.31-416.el8.x86_64                  @AppStream
    설치 perl-Unicode-Collate-1.25-2.el8.x86_64               @AppStream
    설치 perl-autodie-2.29-396.el8.noarch                     @AppStream
    설치 perl-bignum-0.49-2.el8.noarch                        @AppStream
    설치 perl-devel-4:5.26.3-416.el8.x86_64                   @AppStream
    설치 perl-encoding-4:2.22-3.el8.x86_64                    @AppStream
    설치 perl-experimental-0.019-2.el8.noarch                 @AppStream
    설치 perl-inc-latest-2:0.500-9.el8.noarch                 @AppStream
    설치 perl-libnetcfg-4:5.26.3-416.el8.noarch               @AppStream
    설치 perl-local-lib-2.000024-2.el8.noarch                 @AppStream
    설치 perl-open-1.11-416.el8.noarch                        @AppStream
    설치 perl-perlfaq-5.20180605-1.el8.noarch                 @AppStream
    설치 perl-utils-5.26.3-416.el8.noarch                     @AppStream
    설치 perl-version-6:0.99.24-1.el8.x86_64                  @AppStream
    설치 python3-pyparsing-2.1.10-7.el8.noarch                @BaseOS
    설치 systemtap-sdt-devel-4.0-7.el8.x86_64                 @AppStream
    설치 zlib-devel-1.2.11-10.el8.x86_64                      @BaseOS
종속성이 해결되었습니다.
================================================================================
 꾸러미                        아키텍처
                                       버전                   리포지토리   크기
================================================================================
삭제 중:
 elfutils-libelf-devel         x86_64  0.174-6.el8            @BaseOS      32 k
 kernel-devel                  x86_64  4.18.0-80.11.2.el8_0   @BaseOS      45 M
 make                          x86_64  1:4.2.1-9.el8          @BaseOS     1.4 M
 perl                          x86_64  4:5.26.3-416.el8       @AppStream    0  
 perl-Algorithm-Diff           noarch  1.1903-9.el8           @AppStream  108 k
 perl-Archive-Tar              noarch  2.30-1.el8             @AppStream  151 k
 perl-Archive-Zip              noarch  1.60-3.el8             @AppStream  254 k
 perl-Attribute-Handlers       noarch  0.99-416.el8           @AppStream   38 k
 perl-B-Debug                  noarch  1.26-2.el8             @AppStream   41 k
 perl-CPAN                     noarch  2.18-397.el8           @AppStream  1.7 M
 perl-CPAN-Meta                noarch  2.150010-396.el8       @AppStream  596 k
 perl-CPAN-Meta-Requirements   noarch  2.140-396.el8          @AppStream   69 k
 perl-CPAN-Meta-YAML           noarch  0.018-397.el8          @AppStream   51 k
 perl-Compress-Bzip2           x86_64  2.26-6.el8             @AppStream  147 k
 perl-Compress-Raw-Bzip2       x86_64  2.081-1.el8            @AppStream   57 k
 perl-Compress-Raw-Zlib        x86_64  2.081-1.el8            @AppStream  143 k
 perl-Config-Perl-V            noarch  0.30-1.el8             @AppStream   24 k
 perl-DB_File                  x86_64  1.842-1.el8            @AppStream  181 k
 perl-Data-OptList             noarch  0.110-6.el8            @AppStream   49 k
 perl-Data-Section             noarch  0.200007-3.el8         @AppStream   42 k
 perl-Devel-PPPort             x86_64  3.36-5.el8             @AppStream  390 k
 perl-Devel-Peek               x86_64  1.26-416.el8           @AppStream   45 k
 perl-Devel-SelfStubber        noarch  1.06-416.el8           @AppStream  7.7 k
 perl-Devel-Size               x86_64  0.81-2.el8             @AppStream   42 k
 perl-Digest-SHA               x86_64  1:6.02-1.el8           @AppStream  113 k
 perl-Encode-Locale            noarch  1.05-9.el8             @AppStream   19 k
 perl-Encode-devel             x86_64  4:2.97-3.el8           @AppStream   56 k
 perl-Env                      noarch  1.04-395.el8           @AppStream   26 k
 perl-ExtUtils-CBuilder        noarch  1:0.280230-2.el8       @AppStream   96 k
 perl-ExtUtils-Command         noarch  1:7.34-1.el8           @AppStream  9.9 k
 perl-ExtUtils-Embed           noarch  1.34-416.el8           @AppStream   16 k
 perl-ExtUtils-Install         noarch  2.14-4.el8             @AppStream   86 k
 perl-ExtUtils-MM-Utils        noarch  1:7.34-1.el8           @AppStream  3.2 k
 perl-ExtUtils-MakeMaker       noarch  1:7.34-1.el8           @AppStream  717 k
 perl-ExtUtils-Manifest        noarch  1.70-395.el8           @AppStream   84 k
 perl-ExtUtils-Miniperl        noarch  1.06-416.el8           @AppStream  9.6 k
 perl-ExtUtils-ParseXS         noarch  1:3.35-2.el8           @AppStream  181 k
 perl-File-Fetch               noarch  0.56-2.el8             @AppStream   58 k
 perl-File-HomeDir             noarch  1.002-4.el8            @AppStream  118 k
 perl-File-Which               noarch  1.22-2.el8             @AppStream   24 k
 perl-Filter                   x86_64  2:1.58-2.el8           @AppStream  147 k
 perl-Filter-Simple            noarch  0.94-2.el8             @AppStream   51 k
 perl-IO-Compress              noarch  2.081-1.el8            @AppStream  792 k
 perl-IO-Zlib                  noarch  1:1.10-416.el8         @AppStream   19 k
 perl-IPC-Cmd                  noarch  2:1.02-1.el8           @AppStream   85 k
 perl-IPC-SysV                 x86_64  2.07-397.el8           @AppStream   75 k
 perl-IPC-System-Simple        noarch  1.25-17.el8            @AppStream   69 k
 perl-JSON-PP                  noarch  1:2.97.001-3.el8       @AppStream  127 k
 perl-Locale-Codes             noarch  3.57-1.el8             @AppStream  2.3 M
 perl-Locale-Maketext          noarch  1.28-396.el8           @AppStream  171 k
 perl-Locale-Maketext-Simple   noarch  1:0.21-416.el8         @AppStream   14 k
 perl-MRO-Compat               noarch  0.13-4.el8             @AppStream   25 k
 perl-Math-BigInt              noarch  1:1.9998.11-5.el8      @BaseOS     679 k
 perl-Math-BigInt-FastCalc     x86_64  0.500.600-6.el8        @AppStream   37 k
 perl-Math-BigRat              noarch  0.2614-1.el8           @AppStream  103 k
 perl-Math-Complex             noarch  1.59-416.el8           @BaseOS      86 k
 perl-Memoize                  noarch  1.03-416.el8           @AppStream   81 k
 perl-Module-Build             noarch  2:0.42.24-5.el8        @AppStream  654 k
 perl-Module-CoreList          noarch  1:5.20181130-1.el8     @AppStream  848 k
 perl-Module-CoreList-tools    noarch  1:5.20181130-1.el8     @AppStream   19 k
 perl-Module-Load              noarch  1:0.32-395.el8         @AppStream   14 k
 perl-Module-Load-Conditional  noarch  0.68-395.el8           @AppStream   29 k
 perl-Module-Loaded            noarch  1:0.08-416.el8         @AppStream  5.9 k
 perl-Module-Metadata          noarch  1.000033-395.el8       @AppStream   66 k
 perl-Net-Ping                 noarch  2.55-416.el8           @AppStream   87 k
 perl-Package-Generator        noarch  1.106-11.el8           @AppStream   30 k
 perl-Params-Check             noarch  1:0.38-395.el8         @AppStream   28 k
 perl-Params-Util              x86_64  1.07-22.el8            @AppStream   73 k
 perl-Perl-OSType              noarch  1.010-396.el8          @AppStream   33 k
 perl-PerlIO-via-QuotedPrint   noarch  0.08-395.el8           @AppStream  5.9 k
 perl-Pod-Checker              noarch  4:1.73-395.el8         @AppStream   49 k
 perl-Pod-Html                 noarch  1.22.02-416.el8        @AppStream   36 k
 perl-Pod-Parser               noarch  1.63-396.el8           @AppStream  263 k
 perl-SelfLoader               noarch  1.23-416.el8           @AppStream   23 k
 perl-Software-License         noarch  0.103013-2.el8         @AppStream  450 k
 perl-Sub-Exporter             noarch  0.987-15.el8           @AppStream  139 k
 perl-Sub-Install              noarch  0.928-14.el8           @AppStream   35 k
 perl-Sys-Syslog               x86_64  0.35-397.el8           @AppStream   95 k
 perl-Test                     noarch  1.30-416.el8           @AppStream   38 k
 perl-Test-Harness             noarch  1:3.42-1.el8           @AppStream  567 k
 perl-Test-Simple              noarch  1:1.302135-1.el8       @AppStream  1.2 M
 perl-Text-Balanced            noarch  2.03-395.el8           @AppStream  153 k
 perl-Text-Diff                noarch  1.45-2.el8             @AppStream   84 k
 perl-Text-Glob                noarch  0.11-4.el8             @AppStream  8.6 k
 perl-Text-Template            noarch  1.51-1.el8             @AppStream  111 k
 perl-Thread-Queue             noarch  3.13-1.el8             @AppStream   29 k
 perl-Time-HiRes               x86_64  1.9758-1.el8           @AppStream  114 k
 perl-Time-Piece               x86_64  1.31-416.el8           @AppStream   60 k
 perl-Unicode-Collate          x86_64  1.25-2.el8             @AppStream  4.7 M
 perl-autodie                  noarch  2.29-396.el8           @AppStream  211 k
 perl-bignum                   noarch  0.49-2.el8             @AppStream   89 k
 perl-devel                    x86_64  4:5.26.3-416.el8       @AppStream  3.4 M
 perl-encoding                 x86_64  4:2.22-3.el8           @AppStream  141 k
 perl-experimental             noarch  0.019-2.el8            @AppStream   30 k
 perl-inc-latest               noarch  2:0.500-9.el8          @AppStream   35 k
 perl-libnetcfg                noarch  4:5.26.3-416.el8       @AppStream   18 k
 perl-local-lib                noarch  2.000024-2.el8         @AppStream  117 k
 perl-open                     noarch  1.11-416.el8           @AppStream   11 k
 perl-perlfaq                  noarch  5.20180605-1.el8       @AppStream  725 k
 perl-utils                    noarch  5.26.3-416.el8         @AppStream  125 k
 perl-version                  x86_64  6:0.99.24-1.el8        @AppStream  125 k
 python3-pyparsing             noarch  2.1.10-7.el8           @BaseOS     520 k
 systemtap-sdt-devel           x86_64  4.0-7.el8              @AppStream  179 k
 zlib-devel                    x86_64  1.2.11-10.el8          @BaseOS     138 k

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

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



사용자 설치 패키지 확인

sudo dnf history userinstalled

모든 설치 전용 패키지, DNF 외부에 설치된 패키지 및 종속성으로 설치되지 않은 패키지를 표시합니다. 이것이 무슨 의미냐면 사용자가 의지를 가지고 설치한 패키지들을 보여준다는 의미입니다.

clean_requirements_on_remove 구성 옵션이 True로 설정된 경우, 자동 제거 명령 또는 제거 명령이 실행될 때 시스템에 남게 되는 패키지를 나열합니다.

dnf repoquery --userinstalled를 사용하여 동일한 결과를 얻을 수 있으며 repoquery 명령은 출력 형식화에서 더 강력합니다.

[study@localhost ~]$ sudo dnf history userinstalled
[sudo] study의 암호: 
Packages installed by user
elfutils-libelf-devel-0.174-6.el8.x86_64
gnome-tweaks-3.28.1-1.el8.noarch
grub2-pc-1:2.02-66.el8_0.1.x86_64
grub2-tools-1:2.02-66.el8_0.1.x86_64
kernel-4.18.0-80.el8.x86_64
kernel-4.18.0-80.11.2.el8_0.x86_64
kernel-core-4.18.0-80.el8.x86_64
kernel-core-4.18.0-80.11.2.el8_0.x86_64
kernel-devel-4.18.0-80.11.2.el8_0.x86_64
kernel-modules-4.18.0-80.el8.x86_64
kernel-modules-4.18.0-80.11.2.el8_0.x86_64
langpacks-ko-1.0-12.el8.noarch
make-1:4.2.1-9.el8.x86_64
perl-4:5.26.3-416.el8.x86_64
[study@localhost ~]$ 


[study@localhost ~]$ dnf repoquery --userinstalled
elfutils-libelf-devel-0:0.174-6.el8.x86_64
gnome-tweaks-0:3.28.1-1.el8.noarch
grub2-pc-1:2.02-66.el8_0.1.x86_64
grub2-tools-1:2.02-66.el8_0.1.x86_64
kernel-0:4.18.0-80.11.2.el8_0.x86_64
kernel-0:4.18.0-80.el8.x86_64
kernel-core-0:4.18.0-80.11.2.el8_0.x86_64
kernel-core-0:4.18.0-80.el8.x86_64
kernel-devel-0:4.18.0-80.11.2.el8_0.x86_64
kernel-modules-0:4.18.0-80.11.2.el8_0.x86_64
kernel-modules-0:4.18.0-80.el8.x86_64
langpacks-ko-0:1.0-12.el8.noarch
make-1:4.2.1-9.el8.x86_64
perl-4:5.26.3-416.el8.x86_64
[study@localhost ~]$