Yum

From 탱이의 잡동사니
Jump to: navigation, search

Overview

Linux command yum 사용법 정리.

Options

version

yum 의 버전정보를 표시한다.

$ yum version

help

도움말을 표시한다.

$ yum help

check

현재 설치된 패키지에 문제가 있는지 검사한다.

$ yum check [package]

Example

$ yum check
$ yum check yum.noarch

check-update

업데이트가 필요한지 검사한다. 인자값이 없을 시, 업데이트가 필요한 모든 패키지 목록을 출력한다.

$ yum check-update [package]

Example

$ yum check-update |head -n 10
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 
alsa-lib.x86_64                      1.1.0-4.el6                 base-cached    
audit.x86_64                         2.4.5-3.el6                 base-cached    
...

clean

캐시된 정보를 삭제한다. all 옵션 추가시, 캐시된 모든 정보를 삭제한다.

$ yum clean
$ yum clean all

deplist

패키지에 대한 의존성을 테스트한다.

$ yum deplist [package]

Example

$ yum deplist curl

distribution-synchronization/distro-sync

현재 설치되어 있는 패키지들의 정보를 등록된 저장소의 최신버전과 동기화한다. 패키지에 따라 업그레이드/다운그레이드가 이루어질 수 있다.

$ yum distro-sync

downgrade

설치된 패키지를 다운그레이드 한다.

$ yum downgrade package1 [package2]

install

패키지를 설치한다.

$ yum install package1 [package2] [...]

--downloadonly

패키지를 설치하지 않고 다운로드만 한다. 단, 별도의 플러그인 설치를 필요로 한다.

(RHEL5)
$ sudo yum install yum-downloadonly

(RHEL6)
$ sudo yum install yum-plugin-downloadonly

다음과 같이 사용하면 된다.

$ sudo yum install --downloadonly libevent

...
Dependencies Resolved

================================================================================
 Package             Arch        Version             Repository            Size
================================================================================
Updating:
 libevent            x86_64      2.0.22-7.el6        ...                  162 k
Updating for dependencies:
 libevent-devel      x86_64      2.0.22-7.el6        ...                   85 k

Transaction Summary
================================================================================
Upgrade       2 Package(s)

Total download size: 247 k
Is this ok [y/N]: 

다음의 사항에 주의해야 한다.

    Before using the plugin, check /etc/yum/pluginconf.d/downloadonly.conf to confirm that this plugin is "enabled=1"
    This is applicable for "yum install/yum update" and not for "yum groupinstall". Use "yum groupinfo" to identify packages within a specific group.
    If only the package name is specified, the latest available package is downloaded (such as sshd). 
    Otherwise, you can specify the full package name and version (such as httpd-2.2.3-22.el5).
    If you do not use the --downloaddir option, files are saved by default in /var/cache/yum/ in rhel-{arch}-channel/packages
    If desired, you can download multiple packages on the same command.
    You still need to re-download the repodata if the repodata expires before you re-use the cache. By default it takes two hours to expire.

reinstall

이미 설치된 패키지를 재설치 한다.

$ sudo yum reinstall <package name>

Example

$ sudo yum reinstall curl
Loaded plugins: auto-update-debuginfo, downloadonly
Setting up Reinstall Process
Found 24 installed debuginfo package(s)
Enabling updates-cached-debuginfo: Fedora 12 - x86_64 - Updates Debuginfo (cached)
Reading repository metadata in from local files
Enabling fedora-cached-debuginfo: Fedora 12 - x86_64 - Debuginfo (cached)
Reading repository metadata in from local files
Resolving Dependencies
--> Running transaction check
---> Package curl.x86_64 0:7.29.0-4.fc12 set to be reinstalled
--> Finished Dependency Resolution

Dependencies Resolved
...

remove/erase

설치된 패키지를 삭제한다.

$ yum remove | erase package1 [package2] [...]

update

설치되어 있는 전체/특정 패키지의 업그레이드를 진행한다. 아무런 패키지를 지정하지 않을 경우, 전체 업그레이드를 진행한다.

$ yum update [package1] [package2] [...]

search

패키지의 설명, 이름을 검색한다.

$ yum search string1 [string2] [...]

groupinfo

그룹 패키지의 정보를 표시한다.

$ yum groupinfo group1 [...]

groupinstall

지정된 그룹에 속한 모든 패키지를 설치한다.

$ yum groupinstall group1 [group2] [...]

grouplist

설치 가능한 패키지 그룹의 리스트를 표시한다.

$ yum grouplist [hidden] [groupwildcard] [...]

groupremove

그룹에 속한 모든 패키지를 삭제한다.

$ yum groupremove group1 [group2] [...]

history

yum 패키지에 대한 최초 설치, 업데이트 등의 내역을 나타낸다.

$ yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
 
$ yum history
Loaded plugins: auto-update-debuginfo
ID     | Login user             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
   107 |  <stk>                 | 2016-03-16 14:59 | Update         |    1   
   106 |  <stk>                 | 2016-03-16 14:48 | Update         |    1   
   105 |  <stk>                 | 2016-03-14 15:43 | Update         |    1 EE
   104 |  <stk>                 | 2016-03-11 14:01 | Install        |    1   
   103 |  <stk>                 | 2016-03-11 14:00 | Install        |    2   
   102 |  <stk>                 | 2016-03-11 13:59 | Install        |    1   
   101 |  <stk>                 | 2016-03-11 13:29 | Update         |    1   
   100 |  <stk>                 | 2016-03-10 15:00 | Update         |    1 EE
    99 |  <stk>                 | 2016-03-08 15:05 | Install        |    1   
    98 |  <stk>                 | 2016-03-04 15:20 | Update         |   11 EE
    97 | root <root>            | 2016-03-01 11:42 | Update         |    1 EE
    96 |  <stk>                 | 2016-02-22 11:40 | Install        |    1   
    95 |  <stk>                 | 2016-02-22 11:40 | Update         |    1   
    94 |  <stk>                 | 2016-02-19 15:52 | Downgrade      |    1   
    93 |  <stk>                 | 2016-02-19 15:52 | Downgrade      |    1   
    92 |  <stk>                 | 2016-02-19 15:52 | Erase          |    1   
    91 |  <stk>                 | 2016-02-19 15:38 | I, U           |    7   
    90 |  <stk>                 | 2016-02-19 13:58 | Update         |    2   
    89 |  <stk>                 | 2016-02-19 10:55 | Downgrade      |    1   
    88 |  <stk>                 | 2016-02-19 10:55 | Downgrade      |    1   
history list

list

입력한 패키지와 관련된 yum 명령 내역만 출력한다.

$ yum history list <package-regex>
 
$ yum history list lib*
Loaded plugins: auto-update-debuginfo
ID     | Login user             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
   103 |  <stk>                 | 2016-03-11 14:00 | Install        |    2   
   101 |  <stk>                 | 2016-03-11 13:29 | Update         |    1   
    96 |  <stk>                 | 2016-02-22 11:40 | Install        |    1   
...

info

history-number 에 해당하는 명령의 상세 내역을 확인한다.

$ yum history info <history-number>
 
$ yum history info 10
Loaded plugins: auto-update-debuginfo
Transaction ID : 10
Begin time     : Mon Nov 16 15:18:31 2015
Begin rpmdb    : 361:061e446b5581553ea6e8ce90e3a5856a394fecca
End time       :                           (0 seconds)
End rpmdb      : 362:e0b84597f8c98008043535c2ab4af412379cae43
User           :  <stk>
Return-Code    : Success
Command Line   : install libuuid-devel
Transaction performed with:
    Installed     rpm-4.7.2-2.fc12.x86_64
    Installed     yum-3.2.28-5.fc12.noarch
Packages Altered:
    Install libuuid-devel-2.16.2-9.fc12.x86_64
history info

summary

마지막으로 수행한 작업 내용을 보여준다.

$ yum history summary
 
$ yum history summary
Loaded plugins: auto-update-debuginfo
Login user                 | Time                | Action(s)        | Altered 
-------------------------------------------------------------------------------
 <stk>                     | Last week           | Update           |        3
 <stk>                     | Last 2 weeks        | I, U             |        7
 <stk>                     | Last 3 months       | D, E, I, U       |       82
root <root>                | Last 3 months       | I, U             |       14
 <stk>                     | Last 6 months       | D, E, I, R, U    |      153
root <root>                | Last 6 months       | Install          |      171
System <unset>             | Over a year ago     | Install          |      159
history summary

repeat

함께 입력한 history-number 에 해당하는 작업을 재수행한다.

$ yum history repeat <history-number>

undo

함께 입력한 history-number 에 해당하는 작업을 되돌린다.

$ yum history unto <history-number>
 
$ yum history undo 108
Loaded plugins: auto-update-debuginfo
Found 20 installed debuginfo package(s)
Enabling updates-cached-debuginfo: Fedora 12 - x86_64 - Updates Debuginfo (cached)
Reading repository metadata in from local files
Enabling fedora-cached-debuginfo: Fedora 12 - x86_64 - Debuginfo (cached)
Reading repository metadata in from local files
Undoing transaction 108, from Fri Mar 18 16:08:32 2016
    Install lynx-2.8.6-25.fc12.x86_64
Resolving Dependencies
--> Running transaction check
---> Package lynx.x86_64 0:2.8.6-25.fc12 set to be erased
--> Finished Dependency Resolution
...

redo

repeat 와 거의 비슷하다. 함께 입력한 history-numbrer 에 해당하는 작업을 다시 반복한다.

$ yum history redo <history-number>

new

현재 history 항목에 저장된 내용들을 모두 삭제한다.

info

현재 캐시되어 있는 패키지에 대한 정보를 보여준다.

$ yum info [...]

list

캐시에 등록된 패키지 목록을 보여준다.

$ yum list [...]
$ yum list updates
$ yum list all
$ yum list installed

updates 업데이트가 가능한 모든 패키지 리스트를 보여준다.

list all 설치가 가능한 모든 패키지 리스트를 보여준다.

installed 현재 시스템에 설치된 패키지 리스트를 보여준다.

repolist

설정되어 있는 저장소 정보를 표시한다.

$ yum repolist [all|enabled|disabled]

Sub options

--enablerepo

활성화하고자 하는 저장소를 지정한다.

$ sudo yum search --enablerepo test-repository asterisk

yum-utils

repoquery

repoquery 는 YUM repository 에 있는 패키지에 rpm 명령어와 비슷한 명령을 수행하는 프로그램이다.

-l, --list

YUM repository 에 있는 패키지/그룹에 있는 파일들의 목록을 확인한다.

$ repoquery --list curl-7.29.0-4.fc12.x86_64
/usr/bin/curl
/usr/share/doc/curl-7.29.0
/usr/share/doc/curl-7.29.0/BUGS
...

Download source

SRPM 패키지 다운로드

$ yum install yum-utils
$ yumdownloader --source mypkg