9장. yum


yum 은 사용 가능한 패키지에 대한 정보를 쿼리하고, 리포지토리에서 패키지를 가져와 설치 및 제거한 다음 전체 시스템을 사용 가능한 최신 버전으로 업데이트할 수 있는 Red Hat 패키지 관리자입니다. yum은 패키지를 업데이트, 설치 또는 제거할 때 자동 종속성 확인을 수행하므로 사용 가능한 모든 종속 패키지를 자동으로 확인, 가져오기 및 설치할 수 있습니다.

yum은 새로운 추가 리포지토리 또는 패키지 소스를 사용하여 구성할 수 있으며 기능을 강화하고 확장하는 많은 플러그인도 제공합니다. yum은 RPM 과 동일한 많은 작업을 수행할 수 있습니다. 또한 많은 명령줄 옵션이 비슷합니다. yum은 단일 시스템 또는 그 그룹의 그룹에서 쉽고 간단한 패키지 관리를 활성화합니다.

다음 섹션에서는 Red Hat Enterprise Linux 7 설치 가이드에 설명된 대로 설치 중에 시스템이 Red Hat 서브스크립션 관리에 등록되어 있다고 가정합니다. 시스템이 서브스크립션되지 않은 경우 7장. 시스템 등록 및 서브스크립션 관리 를 참조하십시오.

중요

yum은 모든 패키지 리포지토리(패키지 소스) 또는 개별 리포지토리에 대해 GPG(Gnu 개인 정보 보호 가드) 서명 확인 (GnuPG) 서명 확인 기능을 활성화하여 보안 패키지 관리를 제공합니다. 서명 확인이 활성화되면 yum은 해당 리포지토리의 올바른 키로 GPG가 서명되지 않은 패키지 설치를 거부합니다. 즉, 시스템에서 다운로드하고 설치하는 RPM 패키지가 Red Hat과 같은 신뢰할 수 있는 소스에서 가져온다는 것을 신뢰할 수 있으며 전송 중에 수정되지 않았음을 신뢰할 수 있습니다. yum을 사용하여 서명 확인 활성화에 대한 자세한 내용은 9.5절. “YUM 및 YUM 리포지토리 구성” 를 참조하십시오.

또한 yum을 사용하면 다른 시스템에서 다운로드 및 설치를 위해 자체 RPM 패키지 리포지토리를 쉽게 설정할 수 있습니다. 가능한 경우 yum은 여러 패키지 및 메타데이터의 병렬 다운로드를 사용하여 다운로드 속도를 높입니다.

yum을 학습하는 것은 종종 시스템 관리 작업을 수행하는 가장 빠른 방법이며 PackageKit 그래픽 패키지 관리 도구에서 제공하는 기능 외에도 기능을 제공합니다.

참고

yum을 사용하여 시스템에서 패키지를 설치, 업데이트 또는 제거하려면 수퍼유저 권한이 있어야 합니다. 이 장의 모든 예제에서는 su 또는 sudo 명령을 사용하여 이미 수퍼유저 권한을 얻은 것으로 가정합니다.

9.1. 패키지 확인 및 업데이트

yum을 사용하면 시스템에 적용 대기 중인 업데이트가 있는지 확인할 수 있습니다. 업데이트해야 하는 패키지를 나열하고 전체적으로 업데이트하거나 선택한 개별 패키지를 업데이트할 수 있습니다.

9.1.1. 업데이트 확인

사용 가능한 업데이트가 있는 설치된 패키지를 보려면 다음 명령을 사용하십시오.

yum check-update

예 9.1. yum check-update 명령의 출력 예

yum check-update 의 출력은 다음과 같습니다.

~]# yum check-update
Loaded plugins: product-id, search-disabled-repos, subscription-manager
dracut.x86_64             033-360.el7_2   rhel-7-server-rpms
dracut-config-rescue.x86_64      033-360.el7_2   rhel-7-server-rpms
kernel.x86_64             3.10.0-327.el7   rhel-7-server-rpms
rpm.x86_64              4.11.3-17.el7   rhel-7-server-rpms
rpm-libs.x86_64            4.11.3-17.el7   rhel-7-server-rpms
rpm-python.x86_64           4.11.3-17.el7   rhel-7-server-rpms
yum.noarch              3.4.3-132.el7   rhel-7-server-rpms

위의 출력의 패키지는 업데이트를 사용할 수 있는 상태로 나열됩니다. 목록의 첫 번째 패키지는 dracut 입니다. 예제 출력의 각 행은 dracut 의 경우 여러 행으로 구성됩니다.

  • dracut - 패키지 이름
  • x86_64 - 패키지가용으로 빌드된 CPU 아키텍처
  • 033 - 설치할 업데이트된 패키지의 버전입니다.
  • 360.el7 - 업데이트된 패키지 릴리스
  • _2 - z-stream 업데이트의 일부로 추가된 빌드 버전입니다.
  • rhel-7-server-rpms - 업데이트된 패키지가 있는 리포지토리입니다.

출력은 또한 커널(커널 패키지), yum 및 RPM 자체( yumrpm 패키지) 및 종속 항목(예: rpm-libs, rpm-python 패키지)을 업데이트할 수 있음을 보여줍니다.

9.1.2. 패키지 업데이트

한 번에 하나의 패키지, 여러 패키지 또는 모든 패키지를 업데이트하도록 선택할 수 있습니다. 업데이트하는 패키지 또는 패키지의 종속 항목에 자체적으로 사용 가능한 업데이트가 있는 경우 해당 패키지도 업데이트됩니다.

단일 패키지 업데이트

단일 패키지를 업데이트하려면 root 로 다음 명령을 실행합니다.

yum update package_name

예 9.2. rpm 패키지 업데이트

rpm 패키지를 업데이트하려면 다음을 입력합니다.

~]# yum update rpm
Loaded plugins: langpacks, product-id, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package rpm.x86_64 0:4.11.1-3.el7 will be updated
--> Processing Dependency: rpm = 4.11.1-3.el7 for package: rpm-libs-4.11.1-3.el7.x86_64
--> Processing Dependency: rpm = 4.11.1-3.el7 for package: rpm-python-4.11.1-3.el7.x86_64
--> Processing Dependency: rpm = 4.11.1-3.el7 for package: rpm-build-4.11.1-3.el7.x86_64
---> Package rpm.x86_64 0:4.11.2-2.el7 will be an update
--> Running transaction check
...
--> Finished Dependency Resolution

Dependencies Resolved
=============================================================================
 Package          Arch    Version     Repository    Size
=============================================================================
Updating:
 rpm            x86_64   4.11.2-2.el7  rhel      1.1 M
Updating for dependencies:
 rpm-build         x86_64   4.11.2-2.el7  rhel      139 k
 rpm-build-libs      x86_64   4.11.2-2.el7  rhel       98 k
 rpm-libs         x86_64   4.11.2-2.el7  rhel      261 k
 rpm-python        x86_64   4.11.2-2.el7  rhel       74 k

Transaction Summary
=============================================================================
Upgrade 1 Package (+4 Dependent packages)

Total size: 1.7 M
Is this ok [y/d/N]:

이 출력에는 관심 있는 몇 가지 항목이 포함되어 있습니다.

  1. 로드된 플러그인: langpack, product-id, subscription-manager - YUM은 항상 설치 및 활성화되는 yum 플러그인을 알려줍니다. 특정 플러그인에 대한 설명은 9.6절. “yum 플러그인” 에서 yum 플러그인에 대한 일반 정보는 9.6.3절. “YUM 플러그인 작업” 을 참조하십시오.
  2. rpm.x86_64 - 새 rpm 패키지와 해당 종속 항목을 다운로드하여 설치할 수 있습니다. 트랜잭션 검사는 이러한 각 패키지에 대해 수행됩니다.
  3. yum은 업데이트 정보를 표시하고 업데이트 확인을 요청하는 메시지를 표시합니다. yum은 기본적으로 대화식으로 실행됩니다. yum 명령이 수행하려는 트랜잭션을 이미 알고 있는 경우 -y 옵션을 사용하여 yum에서 요청하는 질문에 yes 로 자동으로 응답할 수 있습니다(대화형이 아닌 경우 실행됨). 그러나 발생할 수 있는 문제를 쉽게 해결할 수 있도록 yum 계획을 시스템에 적용할 변경 사항을 항상 확인해야 합니다. 패키지를 설치하지 않고 다운로드하도록 선택할 수도 있습니다. 이렇게 하려면 다운로드 프롬프트에서 d 옵션을 선택합니다. 그러면 선택한 패키지의 백그라운드 다운로드가 시작됩니다.

    트랜잭션이 실패하면 9.4절. “트랜잭션 내역 작업” 에 설명된 대로 yum history 명령을 사용하여 yum 트랜잭션 기록을 볼 수 있습니다.

중요

yum은 yum update 또는 yum install 명령을 사용 중인지에 관계없이 항상 새 커널을 설치합니다.

RPM 을 사용하는 경우 현재 커널을 대체하는 rpm - u 커널 대신 새 커널을 설치하는 rpm -i kernel 명령을 사용하는 것이 중요합니다.

마찬가지로 패키지 그룹을 업데이트할 수 있습니다. root 로 다음을 입력합니다.

yum group update group_name

여기서 group_name 을 업데이트하려는 패키지 그룹의 이름으로 바꿉니다. 패키지 그룹에 대한 자세한 내용은 9.3절. “패키지 그룹 작업” 을 참조하십시오.

또한 yum은 더 이상 사용되지 않는 구성 옵션을 사용하여 update 와 동일한 업그레이드 명령을 제공합니다( 9.5.1절. “[main] 옵션 설정”참조). 기본적으로 사용되지 않는 것은 /etc/yum.conf 에서 설정되어 이 두 명령을 동일하게 만듭니다.

모든 패키지 업데이트 및 해당 종속 항목 업데이트

모든 패키지 및 종속 항목을 업데이트하려면 인수 없이 yum update 명령을 사용하십시오.

yum update
yum update --security

최신 보안 업데이트가 포함된 버전으로만 패키지를 업데이트할 수도 있습니다. root 로 다음을 입력합니다.

yum update-minimal --security

예를 들면 다음과 같습니다.

  • kernel-3.10.0-1 패키지가 시스템에 설치되어 있습니다.
  • kernel-3.10.0-2 패키지는 보안 업데이트로 릴리스되었습니다.
  • kernel-3.10.0-3 패키지는 버그 수정 업데이트로 릴리스되었습니다.

그런 다음 yum update-minimal --security 가 패키지를 kernel-3.10.0-2 로 업데이트하고 yum update --security 는 패키지를 kernel-3.10.0-3 으로 업데이트합니다.

패키지 업데이트 자동화

패키지 데이터베이스를 자동으로 새로 고치고 자동으로 업데이트하려면 yum-cron 서비스를 사용할 수 있습니다. 자세한 내용은 9.7절. “YUM-cron을 사용하여 패키지 데이터베이스 자동 새로 고침 및 업데이트 다운로드”의 내용을 참조하십시오.

9.1.3. ISO 및 YUM을 사용하여 시스템 오프 라인 업그레이드

인터넷 또는 Red Hat Network에서 연결이 끊긴 시스템의 경우 Red Hat Enterprise Linux 설치 ISO 이미지와 함께 yum update 명령을 사용하면 시스템을 최신 마이너 버전으로 빠르게 업그레이드할 수 있습니다. 다음 단계는 업그레이드 프로세스를 보여줍니다.

  1. ISO 이미지를 마운트할 대상 디렉터리를 생성합니다. 이 디렉터리는 마운트 시 자동으로 생성되지 않으므로 다음 단계를 진행하기 전에 생성합니다. 루트 로서 다음을 입력합니다.

    mkdir mount_dir

    mount_dir 을 마운트 디렉터리의 경로로 바꿉니다. 일반적으로 사용자는 /media 디렉터리에 하위 디렉터리를 생성합니다.

  2. Red Hat Enterprise Linux 7 설치 ISO 이미지를 이전에 생성한 대상 디렉터리에 마운트합니다. 루트 로서 다음을 입력합니다.

    mount -o loop iso_name mount_dir

    iso_name 을 ISO 이미지의 경로로 바꾸고 mount_dir 을 대상 디렉터리의 경로로 바꿉니다. 여기서는 파일을 블록 장치로 마운트하려면 -o loop 옵션이 필요합니다.

  3. 마운트 디렉토리에서 media.repo 파일을 /etc/yum.repos.d/ 디렉토리에 복사합니다. 이 디렉터리의 설정 파일에는 제대로 작동하려면 .repo 확장자가 있어야 합니다.

    cp mount_dir/media.repo /etc/yum.repos.d/new.repo

    이렇게 하면 yum 리포지토리의 구성 파일이 생성됩니다. new.repo 를 파일 이름으로 교체합니다(예: rhel7.repo ).

  4. Red Hat Enterprise Linux 설치 ISO를 가리키도록 새 구성 파일을 편집합니다. /etc/yum.repos.d/new.repo파일에 다음 행을 추가합니다.

    baseurl=file:///mount_dir

    mount_dir 을 마운트 지점의 경로로 바꿉니다.

  5. 이전 단계에서 만든 /etc/yum.repos.d/new.repo 를 포함한 모든 yum 리포지토리를 업데이트합니다. 루트 로서 다음을 입력합니다.

    yum update

    이렇게 하면 마운트된 ISO 이미지에서 제공하는 버전으로 시스템이 업그레이드됩니다.

  6. 성공적으로 업그레이드되면 ISO 이미지를 마운트 해제할 수 있습니다. 루트 로서 다음을 입력합니다.

    umount mount_dir

    여기서 mount_dir 은 마운트 디렉터리의 경로입니다. 또한 첫 번째 단계에서 생성된 마운트 디렉토리를 제거할 수 있습니다. 루트 로서 다음을 입력합니다.

    rmdir mount_dir
  7. 이전에 생성된 구성 파일을 다른 설치 또는 업데이트에 사용하지 않는 경우 제거할 수 있습니다. 루트 로서 다음을 입력합니다.

    rm /etc/yum.repos.d/new.repo

예 9.3. Red Hat Enterprise Linux 7.0에서 7.1으로 업그레이드

시스템의 최신 버전(예: rhel-server-7.1-x86_64-dvd.iso )을 사용하여 ISO 이미지를 사용하여 시스템을 업그레이드해야 하는 경우 /media/rhel7/ 와 같은 마운트 대상 디렉터리를 만듭니다. 루트 로서 ISO 이미지를 사용하여 디렉터리로 변경하고 다음을 입력합니다.

~]# mount -o loop
    rhel-server-7.1-x86_64-dvd.iso /media/rhel7/

그런 다음 마운트 디렉토리에서 media.repo 파일을 복사하여 이미지의 yum 리포지토리를 설정합니다.

~]# cp /media/rhel7/media.repo /etc/yum.repos.d/rhel7.repo

yum이 마운트 지점을 리포지토리로 인식하도록 하려면 이전 단계에서 복사한 /etc/yum.repos.d/rhel7.repo 에 다음 행을 추가합니다.

baseurl=file:///media/rhel7/

이제 yum 리포지토리를 업데이트하면 rhel-server-7.1-x86_64-dvd.iso 에서 제공하는 버전으로 시스템이 업그레이드됩니다. root 로서 다음을 실행합니다.

~]# yum update

시스템이 성공적으로 업그레이드되면 이미지를 마운트 해제하고 대상 디렉터리 및 구성 파일을 제거할 수 있습니다.

~]# umount /media/rhel7/
~]# rmdir /media/rhel7/
~]# rm
     /etc/yum.repos.d/rhel7.repo
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.