웹사이트 검색

Linux 패키지 관리를 위한 20가지 YUM 명령


이 문서에서는 YUM(Yellowdog Updater Modified) 도구를 사용하여 Linux 시스템에서 패키지를 설치, 업데이트, 제거, 검색하고 관리하는 방법에 대해 설명합니다. Strong>RedHat.

이 문서에 표시된 예제 명령은 RHEL 8 서버에서 실제로 테스트되었습니다. 이러한 자료를 연구 목적, RHEL 인증 또는 새 패키지를 설치하고 시스템을 최신 상태로 유지하는 방법을 탐색하는 데 사용할 수 있습니다.

이 문서의 기본 요구 사항은 명령에 대한 기본적인 이해와 아래 나열된 모든 명령을 탐색하고 연습할 수 있는 Linux 운영 체제가 있어야 한다는 것입니다.

YUM은 무엇인가요?

YUM(Yellowdog Updater 수정됨)은 오픈 소스 명령줄이자 RPM(용 그래픽 기반 패키지 관리 도구)입니다. RedHat 패키지 관리자) 기반 Linux 시스템.

이를 통해 사용자와 시스템 관리자는 시스템에서 소프트웨어 패키지를 쉽게 설치, 업데이트, 제거 또는 검색할 수 있습니다. GPL(일반 공중 라이선스)에 따라 Seth Vidal이 오픈 소스로 개발 및 출시했습니다. 즉, 누구나 다운로드할 수 있습니다. 코드에 액세스하여 버그를 수정하고 맞춤형 패키지를 개발할 수 있습니다.

YUM은 다양한 타사 저장소를 사용하여 종속성 문제를 해결함으로써 패키지를 자동으로 설치합니다.

업데이트: yum 명령은 yum의 차세대 버전이자 다음 명령을 대체하는 것으로 간주되는 dnf 명령으로 대체됩니다. 최신 RPM 기반 배포판의 YUM.

1. YUM으로 패키지 설치

Firefox라는 패키지를 설치하려면 아래 명령을 실행하면 Firefox에 필요한 모든 종속성을 자동으로 찾아서 설치합니다.

yum install firefox
Loaded plugins: fastestmirror
Dependencies Resolved

================================================================================================
 Package                    Arch        Version                    Repository            Size        
================================================================================================
Updating:
firefox                        i686        10.0.6-1.el6.centos     updates             20 M
Updating for dependencies:
 xulrunner                     i686        10.0.6-1.el6.centos     updates             12 M

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

Total download size: 32 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): firefox-10.0.6-1.el6.centos.i686.rpm                                |  20 MB   01:10
(2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm                              |  12 MB   00:52
------------------------------------------------------------------------------------------------
Total                                                           63 kB/s |  32 MB   02:04

Updated:
  firefox.i686 0:10.0.6-1.el6.centos

Dependency Updated:
  xulrunner.i686 0:10.0.6-1.el6.centos

Complete!

위 명령은 시스템에 패키지를 설치하기 전에 확인을 요청합니다. 확인 요청 없이 자동으로 패키지를 설치하려면 아래 예와 같이 -y 옵션을 사용하세요.

yum -y install firefox

2. YUM을 사용하여 패키지 제거

모든 종속성이 포함된 패키지를 완전히 제거하려면 아래와 같이 다음 명령을 실행하면 됩니다.

yum remove firefox
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================
 Package                    Arch        Version                        Repository            Size        
====================================================================================================
Removing:
 firefox                    i686        10.0.6-1.el6.centos            @updates              23 M

Transaction Summary
====================================================================================================
Remove        1 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : firefox-10.0.6-1.el6.centos.i686                                                                                                                          1/1

Removed:
  firefox.i686 0:10.0.6-1.el6.centos

Complete!

같은 방식으로 위 명령은 패키지를 제거하기 전에 확인을 요청합니다. 확인 메시지를 비활성화하려면 아래와 같이 -y 옵션을 추가하면 됩니다.

yum -y remove firefox

3. YUM을 사용하여 패키지 업데이트

오래된 버전의 MySQL 패키지가 있고 이를 최신 안정 버전으로 업데이트하고 싶다고 가정해 보겠습니다. 다음 명령을 실행하면 모든 종속성 문제가 자동으로 해결되고 설치됩니다.

yum update mysql
Loaded plugins: fastestmirror
Dependencies Resolved

============================================================================================================
 Package            Arch                Version                    Repository                    Size
============================================================================================================
Updating:
 vsftpd             i386                2.0.5-24.el5_8.1           updates                       144 k

Transaction Summary
============================================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total size: 144 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : vsftpd                                                                     1/2
  Cleanup        : vsftpd                                                                     2/2

Updated:
  vsftpd.i386 0:2.0.5-24.el5_8.1

Complete!

4. YUM을 사용하여 패키지 나열

이름으로 특정 패키지를 검색하려면 list 기능을 사용하세요. 예를 들어 OpenSSH라는 패키지를 검색하려면 다음 명령을 사용하세요.

yum list openssh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirror.nus.edu.sg
Installed Packages
openssh.i386                                       4.3p2-72.el5_6.3                                                                      installed
Available Packages                                 4.3p2-82.el5                                                                          base

더 정확하게 검색하려면 알고 있는 경우 해당 버전으로 패키지 이름을 정의하십시오. 예를 들어 패키지의 특정 버전 OpenSSH-4.3p2을 검색하려면 다음 명령을 사용합니다.

yum list openssh-4.3p2

5. YUM을 사용하여 패키지 검색

패키지의 정확한 이름이 기억나지 않으면 검색 기능을 사용하여 지정한 패키지 이름과 일치하는 사용 가능한 모든 패키지를 검색하세요. 예를 들어, 단어와 일치하는 모든 패키지를 검색합니다.

yum search vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.iitm.ac.in
============================== Matched: vsftpd ========================
ccze.i386 : A robust log colorizer
pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD
vsftpd.i386 : vsftpd - Very Secure Ftp Daemon

6. YUM을 사용하여 패키지에 대한 정보 얻기

패키지를 설치하기 전에 패키지에 대한 정보를 알고 싶다고 가정해 보겠습니다. 패키지에 대한 정보를 얻으려면 아래 명령을 실행하십시오.

yum info firefox
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.iitm.ac.in
Available Packages
Name       : firefox
Arch       : i386
Version    : 10.0.6
Release    : 1.el5.centos
Size       : 20 M
Repo       : updates
Summary    : Mozilla Firefox Web browser
URL        : http://www.mozilla.org/projects/firefox/
License    : MPLv1.1 or GPLv2+ or LGPLv2+
Description: Mozilla Firefox is an open-source web browser, designed for standards
           : compliance, performance and portability.

7. YUM을 사용하여 사용 가능한 모든 패키지 나열

Yum 데이터베이스에서 사용 가능한 모든 패키지를 나열하려면 아래 명령을 사용하십시오.

yum list | less

8. YUM을 사용하여 설치된 모든 패키지 나열

시스템에 설치된 모든 패키지를 나열하려면 아래 명령을 실행하면 설치된 모든 패키지가 표시됩니다.

yum list installed | less

9. Yum은 기능을 제공합니다

Yum 제공 기능은 특정 파일이 속한 패키지를 찾는 데 사용됩니다. 예를 들어 /etc/httpd/conf/httpd.conf가 포함된 패키지 이름을 알고 싶은 경우입니다.

yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror
httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server
Repo        : installed
Matched from:
Other       : Provides-match: /etc/httpd/conf/httpd.conf

10. Yum을 사용하여 사용 가능한 업데이트 확인

시스템에 설치된 패키지 중 사용 가능한 업데이트가 몇 개 있는지 확인하려면 다음 명령을 사용하십시오.

yum check-update

11. Yum을 사용하여 시스템 업데이트

모든 보안 및 바이너리 패키지 업데이트로 시스템을 최신 상태로 유지하려면 다음 명령을 실행하십시오. 시스템에 모든 최신 패치와 보안 업데이트가 설치됩니다.

yum update

12. 사용 가능한 모든 그룹 패키지 나열

Linux에서는 여러 패키지가 특정 그룹에 번들로 제공됩니다. yum을 사용하여 개별 패키지를 설치하는 대신 그룹에 속하는 모든 관련 패키지를 설치하는 특정 그룹을 설치할 수 있습니다. 예를 들어 사용 가능한 모든 그룹을 나열하려면 다음 명령을 실행하면 됩니다.

yum grouplist
Installed Groups:
   Administration Tools
   DNS Name Server
   Dialup Networking Support
   Editors
   Engineering and Scientific
   FTP Server
   Graphics
   Java Development
   Legacy Network Server
Available Groups:
   Authoring and Publishing
   Base
   Beagle
   Cluster Storage
   Clustering
   Development Libraries
   Development Tools
   Eclipse
   Educational Software
   KDE (K Desktop Environment)
   KDE Software Development

13. 그룹 패키지 설치

특정 패키지 그룹을 설치하려면 groupinstall 옵션을 사용합니다. 예를 들어, "MySQL Database"를 설치하려면 아래 명령을 실행하면 됩니다.

yum groupinstall 'MySQL Database'
Dependencies Resolved

=================================================================================================
Package								Arch      Version			 Repository        Size
=================================================================================================
Updating:
 unixODBC                           i386      2.2.11-10.el5      base              290 k
Installing for dependencies:
 unixODBC-libs                      i386      2.2.11-10.el5      base              551 k

Transaction Summary
=================================================================================================
Install       1 Package(s)
Upgrade       1 Package(s)

Total size: 841 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : unixODBC-libs	1/3
  Updating       : unixODBC         2/3
  Cleanup        : unixODBC         3/3

Dependency Installed:
  unixODBC-libs.i386 0:2.2.11-10.el5

Updated:
  unixODBC.i386 0:2.2.11-10.el5

Complete!

14. 그룹 패키지 업데이트

기존에 설치된 그룹 패키지를 업데이트하려면 아래와 같이 다음 명령을 실행하면 됩니다.

yum groupupdate 'DNS Name Server'

Dependencies Resolved
================================================================================================================
 Package			Arch	        Version				Repository           Size
================================================================================================================
Updating:
 bind                           i386            30:9.3.6-20.P1.el5_8.2          updates              981 k
 bind-chroot                    i386            30:9.3.6-20.P1.el5_8.2          updates              47 k
Updating for dependencies:
 bind-libs                      i386            30:9.3.6-20.P1.el5_8.2          updates              864 k
 bind-utils                     i386            30:9.3.6-20.P1.el5_8.2          updates              174 k

Transaction Summary
================================================================================================================
Install       0 Package(s)
Upgrade       4 Package(s)

Total size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : bind-libs            1/8
  Updating       : bind                 2/8
  Updating       : bind-chroot          3/8
  Updating       : bind-utils           4/8
  Cleanup        : bind                 5/8
  Cleanup        : bind-chroot          6/8
  Cleanup        : bind-utils           7/8
  Cleanup        : bind-libs            8/8

Updated:
  bind.i386 30:9.3.6-20.P1.el5_8.2                  bind-chroot.i386 30:9.3.6-20.P1.el5_8.2

Dependency Updated:
  bind-libs.i386 30:9.3.6-20.P1.el5_8.2             bind-utils.i386 30:9.3.6-20.P1.el5_8.2

Complete!

15. 그룹 패키지 제거

시스템에서 기존에 설치된 그룹을 삭제하거나 제거하려면 아래 명령을 사용하십시오.

yum groupremove 'DNS Name Server'

Dependencies Resolved

===========================================================================================================
 Package                Arch              Version                         Repository          Size
===========================================================================================================
Removing:
 bind                   i386              30:9.3.6-20.P1.el5_8.2          installed           2.1 M
 bind-chroot            i386              30:9.3.6-20.P1.el5_8.2          installed           0.0

Transaction Summary
===========================================================================================================
Remove        2 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : bind                                                   1/2
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave
  Erasing        : bind-chroot                                            2/2

Removed:
  bind.i386 30:9.3.6-20.P1.el5_8.2                                        bind-chroot.i386 30:9.3.6-20.P1.el5_8.2

Complete!

16. 활성화된 Yum 저장소 나열

시스템에서 활성화된 모든 Yum 저장소를 나열하려면 다음 옵션을 사용하십시오.

yum repolist

repo id                     repo name                                            status
base                        CentOS-5 - Base                                      enabled:  2,725
epel                        Extra Packages for Enterprise Linux 5 - i386         enabled:  5,783
extras                      CentOS-5 - Extras                                    enabled:    282
mod-pagespeed               mod-pagespeed                                        enabled:      1
rpmforge                    RHEL 5 - RPMforge.net - dag                          enabled: 11,290
updates                     CentOS-5 - Updates                                   enabled:    743
repolist: 20,824

16. 활성화 및 비활성화된 Yum 저장소를 모두 나열합니다.

다음 명령은 시스템에서 활성화 및 비활성화된 모든 yum 저장소를 표시합니다.

yum repolist all

repo id                     repo name                                            status
C5.0-base                   CentOS-5.0 - Base                                    disabled
C5.0-centosplus             CentOS-5.0 - Plus                                    disabled
C5.0-extras                 CentOS-5.0 - Extras                                  disabled
base                        CentOS-5 - Base                                      enabled:  2,725
epel                        Extra Packages for Enterprise Linux 5 - i386         enabled:  5,783
extras                      CentOS-5 - Extras                                    enabled:    282
repolist: 20,824

17. 특정 저장소에서 패키지 설치

활성화되거나 비활성화된 특정 저장소에서 특정 패키지를 설치하려면 yum 명령에서 --enablerepo 옵션을 사용해야 합니다. 예를 들어 PhpMyAdmin 패키지를 설치하려면 명령을 실행하면 됩니다.

yum --enablerepo=epel install phpmyadmin

Dependencies Resolved
=============================================================================================
 Package                Arch           Version            Repository           Size
=============================================================================================
Installing:
 phpMyAdmin             noarch         3.5.1-1.el6        epel                 4.2 M

Transaction Summary
=============================================================================================
Install       1 Package(s)

Total download size: 4.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm                       | 4.2 MB     00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : phpMyAdmin-3.5.1-1.el6.noarch             1/1
  Verifying  : phpMyAdmin-3.5.1-1.el6.noarch             1/1

Installed:
  phpMyAdmin.noarch 0:3.5.1-1.el6

Complete!

18. 대화형 Yum 쉘

Yum 유틸리티는 여러 명령을 실행할 수 있는 사용자 정의 셸을 제공합니다.

yum shell
Loaded plugins: fastestmirror
Setting up Yum Shell
> update httpd
Loading mirror speeds from cached hostfile
 * base: mirrors.sin3.sg.voxel.net
 * epel: ftp.riken.jp
 * extras: mirrors.sin3.sg.voxel.net
 * updates: mirrors.sin3.sg.voxel.net
Setting up Update Process
>

19. Yum 캐시 정리

기본적으로 yum은 각 하위 디렉터리와 함께 /var/cache/yum/에 모든 저장소 활성화 패키지 데이터를 보관합니다. 활성화된 저장소에서 캐시된 모든 파일을 정리하려면 다음 명령을 정기적으로 실행해야 합니다. 모든 캐시를 정리하고 불필요한 공간을 사용하고 있지 않은지 확인하십시오. 우리는 캐시된 데이터를 있는 그대로 유지하고 싶기 때문에 아래 명령의 출력을 제공하고 싶지 않습니다.

yum clean all

20. Yum의 역사 보기

yum 명령의 과거 트랜잭션을 모두 보려면 다음 명령을 사용하십시오.

yum history

Loaded plugins: fastestmirror
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    10 | root               | 2012-08-11 15:19 | Install        |    3
     9 | root               | 2012-08-11 15:11 | Install        |    1
     8 | root               | 2012-08-11 15:10 | Erase          |    1 EE
     7 | root               | 2012-08-10 17:44 | Install        |    1
     6 | root               | 2012-08-10 12:19 | Install        |    2
     5 | root               | 2012-08-10 12:14 | Install        |    3
     4 | root               | 2012-08-10 12:12 | I, U           |   13 E<
     3 | root               | 2012-08-09 13:01 | Install        |    1 >
     2 | root               | 2012-08-08 20:13 | I, U           |  292 EE
     1 | System            | 2012-08-08 17:15 | Install        |  560
history list

우리는 예제를 통해 모든 기본부터 고급 yum 명령까지 다루려고 노력했습니다. yum 명령과 관련된 내용이 누락되었을 수 있습니다. 댓글 상자를 통해 업데이트해 주세요. 그래서 우리는 받은 피드백을 바탕으로 계속해서 동일한 내용을 업데이트하고 있습니다.