YUM
업데이트 확인 (check-update)
업데이트할 패키지가 있는지 먼저 확인하고 그 결과에 따라 어떻게 할 지 결정하고 싶을 때 “check-update” 명령어를 사용하면 업데이트 가능한 패키지가 있는지 확인할 수 있습니다. “update” 와 마찬가지로 패키지가 생략되면 시스템에 설치된 전체 패키지중에 업데이트 가능한 패키지들의 목록을 출력합니다.
[root@gldigital ~]# yum check-update
업데이트 (update)
버그를 수정했거나 보안 취약점을 해결한 버전이 출시되었을 경우 update 명령으로 패캐지를 업데이트할 수 있습니다. update 명령뒤에 패키지명을 줄 경우 해당 패키지만 업데이트하지만 패키지명이 생략되면 전체 시스템을 업데이트하게 됩니다.
전체 시스템을 업데이트할 경우 OS의 마이너 버전이 변경될 수 있으므로 주의해야 한다. 예로 CentOS 6.4을 설치한 후에 “yum update” 명령어를 실행한 후 재부팅하면 본 책을 작성하는 시점의 최종 버전인 6.5로 OS 의 버전이 갱신됩니다.
시스템 업데이트는 마이너 버전끼리만 가능하며 메이저 버전으로는 업데이트 되지 않으므로 6.5 버전에서 “yum update” 를 수행해도 7.0 으로 메이저 버전이 변경되지는 않습니다.
다음은 mod_ssl 의 업데이트를 설치하는 예제이며 업데이트가 없을 경우 아래와 같이 업데이트할 패키지가 없다고 표시됩니다.
[root@gldigital ~]# yum update open-ssl
일단 update만 진행 합니다. 아래는 서비스 설치 시 참고용.
패키지 설치 (install)
설치시 패키지명에 * 를 지정하면 해당 패키지명으로 시작하는 모든 패키지를 설치하게 됩니다.
예로 다음 명령은 “httpd”, “httpd-devel”, “httpd-manual” 패키지를 모두 다 설치합니다.
[root@gldigital ~]# yum install httpd*
yum 은 빠른 처리를 위해 메타 데이타와 패키지 정보, 플러그인 정보등을 캐쉬해 놓으며 clean 명령어를 사용하면 캐쉬된 데이타를 삭제합니다. clean 명령어 뒤에 어떤 하위 명령어를 사용해야 할 지 알아 보기 위해 “yum help clean” 명령을 실행
[root@gldigital ~]# yum help clean Loaded plugins: fastestmirror clean [headers|packages|metadata|dbcache|plugins|expire-cache|all]
다음은 패키지 정보와 메타 데이타를 정리하는 clean 명령어 사용 예제
[root@gldigital ~]# yum clean packages metadata
저장소 목록 보기 (repolist)
현재 yum 에 등록된 저장소의 목록을 확인하려면 /etc/yum.repos.d 디렉터리내의 .repo 확장자를 갖는 파일의 갯수를 셀 수도 있겠지만 repolist 명령을 사용하면 더 손쉽게 저장소 목록을 볼 수 있으며 해당 저장소에 등록된 패키지 갯수까지 확인해 볼 수 있습니다. repolist 명령은 all, enabled, disabled 세 개의 하위 명령어가 있고 생략할 경우 기본 명령은 enabled로 이 경우 /etc/yum.repos.d 디렉터리내 .repo 파일중에 enabled=1 로 설정된 저장소만 표시합니다.
[root@gldigital ~]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.kakao.com * extras: mirror.kakao.com * updates: mirror.kakao.com repo id repo name statusbase/7/x86_64 CentOS-7 - Base 10,072extras/7/x86_64 CentOS-7 - Extras 515updates/7/x86_64 CentOS-7 - Updates 4,300repolist: 14,887
패키지 검색 (search)
늘 설치하려는 패키지의 정확한 이름을 기억하고 있지는 않을 것 입니다. “search” 명령을 사용하면 저장소에 원하는 패키지가 있는지 확인할 수 있다. search 명령은 기본적으로 패키지의 정보중 이름과 요약 항목에서 사용자가 입력한 검색어를 대소문자 구분없이 찾지만 해당되는 패키지가 없을 경우 패키지의 설명(description) 항목에서도 검색을 진행한 후에 결과를 출력해 줍니다.
정확한 검색을 위해 여러 단어를 사용할 수 있다. “search 문자열1 문자열2” 와 같이 입력하면 두 개의 문자열이 모두 있는 패키지를 찾게 되므로 PHP 용 MySQL 모듈을 찾고 싶을 경우 다음과 같이 “yum search mysql php” 을 입력하면 됩니다.
[root@gldigital ~]# yum search mysql php Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.anigil.com * extras: mirror.anigil.com * updates: mirror.anigil.com ======================== N/S matched: mysql, php ======================== php-mysql.x86_64 : A module for PHP applications that use MySQL databases php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases Full name and summary matches only, use "search all" for everything.
목록 보기 (list)
list 명령을 사용하면 다양한 방식으로 패키지들의 개략적인 정보 목록을 출력할 수 있습니다. 먼저 “yum help list” 명령어로 사용 가능한 하위 명령어 목록을 확인해 봅시다.
list 명령어는 all, installed,updates 등의 하위 명령어를 사용할 수 있는 것을 확인할 수 있습니다. 대문자인 PACKAGE 는 자체가 하위 명령이 아니고 PACKAGE 항목에 정보를 확인할 패키지의 이름을 주면 되며 * 표를 사용할 수 있습니다.
“yum list httpd*” 명령은 httpd 로 시작되는 모든 패키지의 정보를 출력하며 설치된 항목은 “Installed Packages” 에 표시하며 설치 가능한 패키지들은 “Available Packages” 항목에 표시합니다. 아래는 아직 설치되지 않았습니다.
[root@gldigital ~]# yum list httpd* Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.kakao.com * extras: mirror.kakao.com * updates: mirror.kakao.com Available Packages httpd.x86_64 2.4.6-97.el7.centos.5 updateshttpd-devel.x86_64 2.4.6-97.el7.centos.5 updateshttpd-manual.noarch 2.4.6-97.el7.centos.5 updateshttpd-tools.x86_6
많이 사용하는 list 의 하위 명령어를 더 살펴 보자. 현재 시스템에 설치한 모든 패키지 목록을 표시하려면 “installed” 하위 명령어를 사용하면 됩니다.
“updates” 하위 명령어는 “yum check-update” 와 동일한 의미를 갖게 되며 “recent” 는 저장소에 가장 최근에 추가된 패키지의 목록을 출력합니다.
[root@gldigital ~]# yum list installed
정보 보기 (info)
info 명령어를 사용하면 패키지의 자세한 정보를 볼 수 있으며 rpm 의 info 명령어와는 다르게 패키지의 설치 여부와 저장소 정보도 같이 표시됩니다. 다음은 httpd 패키지의 정보를 보는 예제로 설치한 패키지는 Repo 항목이 “installed” 로 표시되며 “From Repo” 항목에는 설치한 저장소명인 updates 가 표시됩니다.
[root@gldigital ~]# yum info openssh Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.anigil.com * extras: mirror.anigil.com * updates: mirror.anigil.com Installed Packages Name : openssh Arch : x86_64 Version : 7.4p1 Release : 22.el7_9 Size : 1.9 M Repo : installed From repo : updates Summary : An open source implementation of SSH protocol versions 1 and 2 URL : http://www.openssh.com/portable.html License : BSD Description : SSH (Secure SHell) is a program for logging into and executing : commands on a remote machine. SSH is intended to replace rlogin and : rsh, and to provide secure encrypted communications between two : untrusted hosts over an insecure network. X11 connections and : arbitrary TCP/IP ports can also be forwarded over the secure channel. : : OpenSSH is OpenBSD's version of the last free version of SSH, bringing : it up to date in terms of security and features. : : This package includes the core files necessary for both the OpenSSH : client and server. To make this package useful, you should also : install openssh-clients, openssh-server, or both.
Repo 관리를 위한 yum-config-manager 사용 확인
[root@gldigital ~]# yum install yum-utils [root@gldigital ~]# yum-config-manager -h
제공되는 패키지 찾기 (provides)
rpm 의 질의 옵션중 특정 경로에 있는 파일이 속한 패키지를 찾는 옵션인 -f, –file 옵션을 기억하고 있을 것이다. yum 은 “provides” 명령어를 통해 어떤 파일이 어떤 패키지에 있는지 찾을 수 있습니다.
패키지에 대한 메타 데이타를 갖고 있으므로 rpm 과 달리 로컬에 설치되어 있지 않았어도 파일 경로를 입력하면 패키지를 찾아 줍니다. 경로는 절대 경로를 입력하거나 또는 별표를 입력하여 포함되는 단어가 있을 경우 일치하도록 할 수도 있습니다.
/etc/httpd/conf/httpd.conf 파일이 어떤 패키지에서 제공되는지 확인하기 위해 “yum provides ‘*/httpd.conf'” 명령어를 실행하여 패키지를 찾아 보면
[root@gldigital ~]# yum provides '*/httpd.conf' Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.kakao.com * extras: mirror.kakao.com * updates: mirror.kakao.com base/7/x86_64/filelists_db | 7.2 MB 00:00:00 extras/7/x86_64/filelists_db | 276 kB 00:00:00 updates/7/x86_64/filelists_db | 9.6 MB 00:00:00 httpd-2.4.6-95.el7.centos.x86_64 : Apache HTTP Server Repo : base Matched from: Filename : /etc/httpd/conf/httpd.conf Filename : /usr/lib/tmpfiles.d/httpd.conf httpd-2.4.6-97.el7.centos.x86_64 : Apache HTTP Server Repo : updates Matched from: Filename : /etc/httpd/conf/httpd.conf Filename : /usr/lib/tmpfiles.d/httpd.conf ......(생략)
아직 아파치 설치 전인데 tmp에 이상한 것이 잡히죠.
잠시 /usr/lib/tmpfiles.d/ 부연 설명
의도와는 다르게 “/usr/lib/tmpfiles.d/httpd.conf”가 결과에 포함 되었는데 그 원인은 /etc/sysconfig/ha/conf/ 에도 같은 이름의 파일이 존재하기 때문입니다. 이럴 경우 “yum provides ‘/etc/http*/httpd.conf'” 와 같이 경로 필터를 설정하면 원하는 결과를 얻을 수 있습니다.
CentOS6까지는 “/etc/cron.daily/tmpwatch” 스크립트가 위 디렉터리에 있는 파일들을 삭제하는데, CentOS7과 Centos8은 systemd-tmpfiles가 /usr/lib/tmpfiles.d/tmp.conf 파일을 참고하여 동작합니다.
/tmp : 재 부팅 시 파일 삭제. 재 부팅을 하지 않아도 정기적으로 10일 마다 삭제
/var/tmp : 재 부팅 파일 삭제하지 않으나 정기적으로 30일 마다 삭제
[root@gldigital ~]# cat /usr/lib/tmpfiles.d/tmp.conf # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # See tmpfiles.d(5) for details # Clear tmp directories separately, to make them easier to override v /tmp 1777 root root 10d v /var/tmp 1777 root root 30d # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* X /tmp/systemd-private-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp
참고로 systemd-tmpfiles-clean.service 서비스에 의해서 파일이 삭제
로컬 설치 (localinstall)
어떤 소프트웨어들은 rpm 으로만 제공하고 별도의 yum 저장소를 제공하지 않는 경우가 있습니다. 이런 소프트웨어는 “rpm -ivh”로 설치하지 말고 localinstall 명령어를 사용하여 설치하면 yum 의 트랜잭션과 히스토리 기능같은 yum 의 장점을 활용할 수 있으며 패키지 관리가 더 용이하므로 rpm을 바로 사용하는 것 보다는 yum을 사용하는 것을 권장합니다.
설치시 rpm으로 패키징한 제조사의 서명이 없거나 또는 서명을 검증할 공개키가 없어서 검증 에러가 날 수 있으므로 공개키를 구해서 추가하거나 신뢰하는 벤더가 제공하는 rpm 이라면 –nogpgcheck 옵션으로 전자서명 검증을 건너 뛸 수 있습니다.
서브버전 1.8 패키지인 subversion-1.8.5-1.x86_64.rpm, subversion-tools-1.8.5-1.x86_64.rpm, mod_dav_svn-1.8.5-1.x86_64.rpm,serf-1.3.2-2.x86_64.rpm를 다운로드해서 “yum localinstall mod_dav_svn* subversion* serf*” 명령으로 설치하는 예제입니다.
[root@gldigital ~]# yum localinstall mod_dav_svn* subversion* serf*
그룹 관리 (grouplist)
yum 은 패키지를 용도에 따라 그룹으로 묶어 놓았으므로 그룹 단위로 패키지를 관리할 수 있습니다. 그룹 관련 명령어들은 모두 group으로 시작하며 바로 뒤에 주요 명령어인 install, list, info, remove 명령어를 붙이면 그룹 단위로 해당 명령을 수행하게 됩니다.
먼저 전체 패키지 그룹의 목록을 보기 위해서 “yum grouplist “를 실행하면 다음과 같이 “설치된 그룹”과 “설치된 언어 그룹”, 그리고 “설치 가능한 그룹”과 “설치 가능한 언어 그룹” 이 표시됩니다.
패키지 그룹에 대한 자세한 정보를 보려면 groupinfo 명령을 사용하면 되며 그룹명에 공백이 있을 경우 제대로 인식할 수 있게 따옴표로 감싸 주어야 한다.
yum groupinfo “웹 서버” 명령으로 웹 서버 패키지 그룹에 대한 정보를 확인해 보세요. 한글 그룹 목록도 먹힙니다.
groupinstall 명령어를 사용하면 패키지 그룹을 설치할 있으며 이때 그룹내 필수 패키지와 기본 패키지는 설치하지만 옵션 패키지들은 설치하지 않으며 이는 yum.conf 의 “group_package_types” 항목의 기본 설정입니다.
예를 들면 yum groupinstall “웹 서버” 명령은 필수 패키지인 httpd와 기본 패키지인 crypto-utils, httpd-manual, mod_perl 등은 설치하지만 옵션 패키지인 certmonger, memcached 등은 설치하지 않으므로 옵션 패키지가 필요하다면 install 명령어에 개별 패키지명을 입력하여 설치해야 합니다.
패키지 그룹을 삭제하려면 groupremove 명령어를 사용하면 되며 groupinstall 과는 달리 옵션 패키지도 모두 삭제하게 된다. 이는 옵션 패키지들은 필수 또는 기본 패키지에 의존성이 있기 때문입니다.
개인적으로 “groupinstall”로 설치하지는 않습니다. 왠만하면 의존성 패키지를 “install”로 설치하기 때문입니다.
yum 플러그인
yum 은 플러그인으로 기능을 확장할 수 있으며 기본적으로 CentOS 의 빠른 미러 사이트를 찾아주는 fastestmirror 과 보안 기능을 제공하는 yum security 플러그인 두 개가 기본 설치되어 있습니다. 위에서 익힌 search 명령어를 활용하여 “yum search yum plugin” 을 실행하면 전체 yum 플러그인 목록을 확인할 수 있으니 플러그인 설명을 보며 필요한 플러그인이 있다면 설치해 봐도 됩니다.
기본 설치되지 않는 플러그인중에 유용한 플러그인은 패키지의 변경 이력을 볼 수 있는 changelog 플러그인과 패키지를 설치하지 않고 다운로드만 해주는 downloadonly 플러그인 입니다.
두 플러그인의 사용법을 간단하게 알아 보기 위해 먼저 플러그인을 설치해 봅니다.
changelog 플러그인
패키지의 변경 이력을 볼 수 있는 플러그인으로 rpm 명령어의 질의 모드의 –changelog 옵션과 유사하다고 볼 수 있고, 사용법은 changelog 뒤에 날짜를 입력하면 그 날짜 이후의 변경 내역을 출력하며 all 이라고 하면 모든 변경 이력을 출력합니다. 날짜는 다음과 같이 YYYY-MM-DD 형식으로 입력하는게 간편합니다. 다음은 “yum changelog 2022-01 openssl” 명령어로 openssl 패키지의 2022년 1월 이후의 변경 이력을 확인하는 방법입니다.
downloadonly 플러그인
패키지를 설치하지 않고 rpm을 다운로드만 해주는 플러그인으로 사용하려면 install 이나 update 명령어에 –downloadonly 옵션을 붙여서 yum을 실행하면 됩니다.
다운로드 받은 패키지는 yum.conf 의 cachedir 항목에 지정된 디렉터리에 저장되며 64비트의 CentOS7을 사용하는 경우 “/var/cache/yum/x86_64/7/updates/packages/” 에 저장됩니다.
트랜잭션 관리
yum 의 명령어들은 search, info, list 처럼 정보를 조회하고 패키지와 시스템이 변경되지 않는 명령어와 install, remove, reinstall, update 같이 패키지와 시스템이 변경되는 명령으로 구분할 수 있습니다.
후자처럼 패키지가 변경되는 명령을 실행한 것을 데이타베이스처럼 트랜잭션이라고 부르며 개별 트랜잭션마다 식별하기 위한 유일한 숫자가 부여됩니다.
RHEL/CentOS 6.0 에 탑재된 yum 3.2 이상 버전부터는 이렇게 패키지가 변경된 트랜잭션 이력을 확인하고 예전 트랜잭션으로 롤백을 할 수 있는 기능이 포함되었으므로 더욱 편리하게 패키지와 시스템을 관리할 수 있습니다.
전 절에서 별도로 yum 저장소를 제공하지 않는 패키지라도 rpm 으로 설치하지 말고 yum localinstall 을 사용하라고 권장한 이유는 yum 으로 설치해야 트랜잭션 관리 기능을 사용할 수 있기 때문입니다.
그러면 이번 절에서는 yum 의 가장 강력한 패키지 관리 기능중 하나인 트랜잭션 이력 확인과 롤백 기능에 대해서 알아 봅시다.
트랜잭션과 관련된 모든 작업은 history 명령을 기반으로 하고 있으며 하위 명령을 통해 수행할 작업을 지정할 수 있습니다.
하위 명령은 info, list ,packages-list, summary, addon-info, redo, undo, rollback, new 이며 명시하지 않으면 기본 하위 명령은 list 가 됩니다.
“yum history list” 명령으로 yum 의 전체 트랜잭션 이력을 볼 수 있습니다. 이력은 가장 최근의 작업이 먼저 표시되며 트랜잭션 ID와 수행자, 수행시간, 수행한 작업등이 표시됩니다.
[root@gldigital ~]# yum history list Loaded plugins: changelog, fastestmirror ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 4 | Genhwan Park | 2022-10-24 18:51 | Install | 2 3 | Genhwan Park | 2022-10-22 17:59 | Install | 4 2 | Genhwan Park | 2022-10-20 09:56 | I, U | 111 1 | System | 2022-10-19 14:44 | Install | 301 history list
총 4번의 트랜잭션이 있었고 1번은 리눅스 설치로 인해 301 개의 패키지가 설치되었습니다. 2번은 설치후 yum update 명령어로로 전체 시스템을 업데이트한 결과입니다. 111개의 패키지가 설치/갱신되었고 3번은 4의 패키지가 설치되었음을 알 수 있습니다.
이력에 표시되는 모든 Action 항목은 다음 표에 있으며 여러 개의 Action 이 있었을 경우 I,U 같이 축약어로 표시됩니다.
Downgrade |
D |
최소 한개의 패키지가 예전 버전으로 다운그레이드됨. |
Erase |
E |
최소 한개의 패키지가 삭제됨. |
Install |
I |
최소 한 개의 패키지가 설치됨. |
Obsoleting |
O |
최소 한개의 패키지가 obsolete 로 표시됨. |
Reinstall |
R |
최소 한개의패키지가 재설치됨. |
Update |
U |
최소 한개의 패키지가 새로운 버전으로 업데이트됨. |
Altered 필드는 변경된 패키지의 숫자와 변경 내역에 대한 기호가 표시되며 각 기호의 의미는 다음과 같다.
< |
트랜잭션이 완료되기 전에 rpmdb 데이타베이스가 yum 이 아닌 외부에서 변경됨. |
> |
트랜잭션이 완료된 후에 rpmdb 데이타베이스가 yum 이 아닌 외부에서 변경됨. |
* |
트랜잭션을 종료하지 못함 |
# |
트랜잭션이 성공적으로 종료되었지만 yum 이 0 아닌 종료 코드를 전달함. |
E |
트랜잭션이 성공적으로 종료되었지만 에러나 워닝이 표시됨. |
P |
트랜잭션이 성공적으로 종료되었지만 rpmdb 데이타베이스에 문제가 계속 존재함. |
s |
트랜잭션이 성공적으로 종료되었지만 –skip-broken 옵션을 사용하였으므로 어떤 패키지는 건너뜀. |
자세한 정보 보기
“history info ID” 명령어로 자세한 작업 이력을 확인할 수 있으며 ID 는 트랜잭션 이력에서 ID 필드에 표시되는 숫자를 입력하면 됩니다. 독자들도 사용하고 있는 리눅스 시스템의 트랜잭션 목록에서 상세 작업 이력을 확인해 보면, 다음은 리눅스에서 “yum history info 4” 명령으로 4번 트랜잭션의 이력을 확인한 결과입니다.
[root@gldigital ~]# yum history info 4 Loaded plugins: changelog, fastestmirror Transaction ID : 4 Begin time : Mon Oct 24 18:51:59 2022 Begin rpmdb : 306:340458f4d35084fc9f61ed45c0bfabc5a4baf88f End time : (0 seconds) End rpmdb : 308:b24db2f6f815f533c0a62592124499e340118701 User : Genhwan ParkReturn-Code : Success Command Line : install yum-plugin-changelog yum-plugin-downloadonly Transaction performed with: Installed rpm-4.11.3-48.el7_9.x86_64 @updates Installed yum-3.4.3-168.el7.centos.noarch @anaconda Installed yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch @anaconda Packages Altered: Dep-Install python-dateutil-1.5-7.el7.noarch @base Install yum-plugin-changelog-1.1.31-54.el7_8.noarch @base history info
트랜잭션 상세 정보
실행 시간, 소요 시간, 실행 결과와 작업에 사용된 rpm, yum 과 yum 플러그인 버전를 확인할 수 있으며 Command Line 항목을 통해 수행한 명령어를 확인할 수 있습니다.
“install yum-plugin-changelog yum-plugin-downloadonly”를 실행했으며 “yum-plugin-changelog”가 의존하는 패키지가 의존성 처리를 위해 설치 (Dep-Install)되었으므로 “python-dateutil-1.5-7.el7.noarch” 패키지가 설치되었음을 알 수 있습니다.
트랜잭션 되돌리기
“history undo ID” – “yum history undo 4” 명령어로 특정 트랜잭션을 되돌릴 수 있습니다. 되돌리기 작업은 수행한 트랜잭션을 이전 상태로 되돌리는 것이므로 트랜잭션이 패키지 설치라면 해당 트랜잭션에서 설치된 패키지는 삭제되고 트랜잭션이 패키지 삭제라면 삭제한 패키지는 설치됩니다. 되돌리기도 새로운 트랜잭션이므로 성공적으로 종료되었을 경우 별도의 트랜잭션 ID 를 갖게 되므로 전체 트랜잭션 ID 는 1 이 증가됩니다. 수행한 트랜잭션중에 하나를 골라서 되돌리기 작업을 수행해 보는 작업은 생략합니다.
설치를 되돌리는 작업이므로 패키지를 삭제하게 되며 패키지가 의존하여 같이 설치된(Dep-Install) 패키지도 삭제되며 이에 따라 패키지에 의존하는 모든 패키지들도 같이 삭제됩니다.
y 를 입력하면 삭제 작업이 진행되며 정상적으로 완료가 되었다면 다시 “yum history list” 명령을 내려보면 트랜잭션 ID가 하나 증가한 것을 확인할 수 있습니다.
되돌리기 작업후 트랜잭션 목록을 보면
최초에 확인한 트랜잭션 목록이 4번까지 였으므로 되돌리기 작업은 새로운 트랜잭션인 5번으로 수행됐으며 2개의 패키지가 삭제된 것을 알 수 있습니다.
마지막 되살리기 redo
“yum history redo ID” 명령어로 특정 트랜잭션을 되살릴 수 있습니다. 위에서 4번 트랜잭션으로 2개가 설치되고 5번 되돌리기 트랜잭션으로 삭제되었습니다. 이제 4번 트랜잭션에서 설치한 패키지를 재설치하려면 “yum history redo 4” 명령어로 4번 트랜잭션을 되살릴 수 있다. 이 작업은 5번 트랜잭션을 되돌리는 “yum history undo 15” 번과 비슷한 결과를 가져오게 됩니다.
서비스 데몬 설치 전에 한번 실습 해 보는 것도 좋을 듯 합니다.