9.5. YUM 및 YUM 리포지토리 구성


참고

전문 지식을 확장하려면 Red Hat System Administration III(RH254)RHCSASECRET Track(RH199) 교육 과정에도 관심이 있을 수 있습니다.

yum 및 관련 유틸리티의 구성 정보는 /etc/yum.conf 에 있습니다. 이 파일에는 전역 효과가 있는 yum 옵션을 설정할 수 있는 필수 [main] 섹션이 하나 이상 포함되어 있으며 리포지토리별 옵션을 설정할 수 있는 하나 이상의 [repository] 섹션도 포함할 수 있습니다. 그러나 /etc/yum .repo s.d/ 디렉토리에 개별 리포지토리를 new 또는 기존 .repo 파일에 정의하는 것이 좋습니다. /etc/yum.conf 파일의 개별 [repository] 섹션에 정의된 값은 [main] 섹션에 설정된 값을 재정의합니다.

이 섹션에서는 다음을 수행하는 방법을 보여줍니다.

  • /etc/yum.conf 설정 파일의 [main] 섹션을 편집하여 글로벌 yum 옵션을 설정합니다.
  • /etc/yum.conf[repository] 섹션 및 /etc/yum .repo s.d/ 디렉토리에 있는 .repo 파일을 편집하여 개별 리포지토리에 대한 옵션을 설정합니다.
  • 동적 버전 및 아키텍처 값이 올바르게 처리되도록 /etc/yum.conf 의 yum 변수와 /etc/yum.repos.d/ 디렉토리에 있는 파일을 사용합니다.
  • 명령줄에서 yum 리포지토리를 추가, 활성화 및 비활성화합니다.
  • 사용자 지정 yum 리포지토리를 설정합니다.

9.5.1. [main] 옵션 설정

/etc/yum.conf 설정 파일에는 정확히 하나의 [main] 섹션이 포함되어 있으며 이 섹션의 일부 키-값 쌍은 yum의 작동 방식에 영향을 미치므로 yum이 리포지토리를 처리하는 방식에 영향을 미칩니다.

/etc/yum.conf[main] 섹션 제목 아래에 많은 추가 옵션을 추가할 수 있습니다.

샘플 /etc/yum.conf 설정 파일은 다음과 같습니다.

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

[comments abridged]

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
Copy to Clipboard Toggle word wrap

다음은 [main] 섹션에서 가장 일반적으로 사용되는 옵션입니다.

assumeyes=value

assumeyes 옵션은 yum이 중요 작업의 확인을 요청하는지 여부를 결정합니다. 값을 다음 중 하나로 바꿉니다.

0 (기본값) - yum은 수행하는 중요한 작업을 확인하라는 메시지를 표시합니다.

1 - 중요한 yum 작업을 확인하라는 메시지가 표시되지 마십시오. yes=1 이 설정된 경우 yum은 명령줄 옵션 -y--assumeyes 와 동일한 방식으로 작동합니다.

cachedir=directory

yum이 캐시 및 데이터베이스 파일을 저장하는 디렉터리를 설정하려면 이 옵션을 사용합니다. 디렉터리 를 디렉터리의 절대 경로로 바꿉니다. 기본적으로 yum의 캐시 디렉토리는 /var/cache/yum/$basearch/$releasever/ 입니다.

$basearch$releasever yum 변수에 대한 설명은 9.5.3절. “YUM 변수 사용” 을 참조하십시오.

debuglevel=value
이 옵션은 yum에서 생성한 디버깅 출력에 대한 세부 정보를 지정합니다. 여기서 value1 에서 10 사이의 정수입니다. 더 높은 debuglevel 값을 설정하면 yum은 더 자세한 디버깅 출력을 표시합니다. debuglevel=2 는 기본값이지만 debuglevel=0 은 디버깅 출력을 비활성화합니다.
exactarch=value

이 옵션을 사용하면 이미 설치된 패키지를 업데이트할 때 정확한 아키텍처를 고려하도록 yum을 설정할 수 있습니다. 값을 다음과 같이 바꿉니다.

0 - 패키지를 업데이트할 때 정확한 아키텍처를 고려하지 마십시오.

1 (기본값) - 패키지를 업데이트할 때 정확한 아키텍처를 고려하십시오. 이 설정을 사용하면 yum은 64비트 아키텍처가 있는 시스템에 이미 설치된 패키지를 업데이트하기 위해 32비트 아키텍처용 패키지를 설치하지 않습니다.

exclude=package_name more_package_names
exclude 옵션을 사용하면 설치 또는 시스템 업데이트 중에 키워드로 패키지를 제외할 수 있습니다. 제외에 대한 여러 패키지를 나열하면 공백으로 구분된 패키지 목록을 인용하여 수행할 수 있습니다. 와일드카드를 사용하는 쉘 와일드카드 표현식(예: *?)이 허용됩니다.
gpgcheck=value

gpgcheck 옵션을 사용하여 yum이 패키지에서 GPG 서명 검사를 수행해야 하는지 지정합니다. 값을 다음과 같이 바꿉니다.

0 - 로컬 패키지 설치를 포함하여 모든 리포지토리의 패키지에서 GPG 서명 확인을 비활성화합니다.

1 (기본값) - 로컬 패키지 설치를 포함하여 모든 리포지토리의 모든 패키지에서 GPG 서명을 확인할 수 있습니다. gpgcheck 가 활성화되면 모든 패키지의 서명이 확인됩니다.

이 옵션이 /etc/yum.conf 파일의 [main] 섹션에 설정된 경우 모든 리포지토리에 대해 GPG-checking 규칙을 설정합니다. 그러나 개별 리포지토리에 대해 gpgcheck=값을 설정할 수도 있습니다. 즉, 다른 리포지토리에서 비활성화하는 동안 한 리포지토리에서 GPG 검사를 활성화할 수 있습니다. 해당 .repo 파일에 개별 리포지토리에 대한 gpgcheck=값을 설정하면 /etc/yum.conf 에 있는 경우 기본값이 재정의됩니다.

group_command=value

group_command 옵션을 사용하여 yum group install,yum group upgrade, yum group remove 명령이 패키지 그룹을 처리하는 방법을 지정합니다. 값을 의 값으로 바꿉니다.

단순 - 패키지 그룹의 모든 멤버를 설치합니다. 이전에 설치한 패키지만 업그레이드하지만 그동안 그룹에 추가된 패키지를 설치하지 마십시오.

compat - 단순하지만 yum upgrade 는 이전 업그레이드 이후 그룹에 추가된 패키지도 설치합니다.

개체 - (기본값.) 이 옵션을 사용하면 yum은 이전에 설치한 그룹을 추적하고 별도로 설치된 그룹 및 패키지의 일부로 설치된 패키지를 구분합니다. 보기 예 9.15. “LibreOffice 패키지 그룹에 대한 정보 보기”

group_package_types=package_type more_package_types
여기에서 yum group install 명령을 호출할 때 설치된 패키지 유형(선택 사항,기본 또는 필수)을 지정할 수 있습니다. 기본 패키지 유형 및 필수 패키지 유형은 기본적으로 선택됩니다.
history_record=value

이 옵션을 사용하면 yum을 설정하여 트랜잭션 기록을 기록할 수 있습니다. 값을 다음 중 하나로 바꿉니다.

0 - yum은 트랜잭션의 기록 항목을 기록하지 않아야 합니다.

1 (기본값) - yum은 트랜잭션의 기록 항목을 기록합니다. 이 작업은 특정 디스크 공간을 차지하며 트랜잭션에는 약간의 추가 시간이 걸리지만, 이전 작업에 대한 많은 정보를 제공합니다. 이 정보는 yum history 명령으로 표시할 수 있습니다. history_ record=1 은 기본값입니다.

yum history 명령에 대한 자세한 내용은 9.4절. “트랜잭션 내역 작업” 을 참조하십시오.

참고

yum은 기록 레코드를 사용하여 yum 외부에서 수행된 rpmdb 데이터 베이스의 수정 사항을 탐지합니다. 이러한 경우 yum은 경고를 표시하고 rpmdb 변경으로 인한 가능한 문제를 자동으로 검색합니다. history_ record 가 꺼지면 yum은 이러한 변경 사항을 감지할 수 없으며 자동 검사가 수행되지 않습니다.

installonlypkgs=space separated list of packages

여기에서 yum을 설치할 수 있는 패키지 목록을 공백으로 구분하여 제공할 수 있지만 업데이트되지 않습니다. 기본적으로 설치 전용 패키지 목록은 yum.conf(5) 매뉴얼 페이지를 참조하십시오.

installonlypkgs 지시문을 /etc/yum.conf 에 추가하는 경우 yum.conf(5)의 installonly(설치 전용) 섹션에 나열된 패키지를 모두 나열해야 합니다. 특히 커널 패키지가 항상 installonlypkgs 에 나열되어 있고 installonly_limit 는 항상 2 보다 큰 값으로 설정되어 있으므로 기본 패키지를 부팅하지 못하는 경우 백업 커널을 항상 사용할 수 있습니다.

installonly_limit=value

이 옵션은 installonlypkgs 지시문에 나열된 패키지 수를 동시에 설치할 수 있도록 설정합니다. installonlypkgs 에 나열된 단일 패키지에 대해 동시에 설치할 수 있는 최대 버전 수를 나타내는 정수로 값을 바꿉니다.

installonlypkgs 지시문의 기본값에는 여러 가지 커널 패키지가 포함되어 있으므로 installonly_limit 값을 변경하면 단일 커널 패키지의 최대 버전 수에도 영향을 미칩니다. /etc/yum.conf 에 나열된 기본값은 installonly_limit=3 이며 가능한 최소 값은 installonly_limit=2 입니다.

yum이 실행 중인 커널을 제거하므로 installonly_limit=1 을 설정할 수 없습니다. installonly_limit=1 을 사용하면 yum이 실패합니다.

installonly_limit=2 를 사용하면 하나의 백업 커널을 사용할 수 있습니다. 그러나 두 개의 백업 커널을 사용할 수 있도록 기본 설정 installonly_limit=3 를 유지하는 것이 좋습니다.

keepcache=value

keepcache 옵션은 yum이 설치 후 헤더 및 패키지의 캐시를 유지할지 여부를 결정합니다. 여기서 value 는 다음 중 하나입니다.

0 (기본값) - 설치 후 헤더 및 패키지의 캐시를 유지하지 마십시오.

1 - 설치 후 캐시를 유지합니다.

logfile=file_name
로깅 출력 위치를 지정하려면 file_name 을 yum이 로깅 출력을 써야 하는 파일의 절대 경로로 바꿉니다. 기본적으로 yum은 /var/log/yum.log 에 로그합니다.
max_connenctions=number
여기서 값은 최대 동시 연결 수이며 기본값은 5입니다.
multilib_policy=value

multilib_policy 옵션은 패키지 설치에 여러 아키텍처 버전을 사용할 수 있는 경우 설치 동작을 설정합니다. 여기서 값은 다음과 같습니다.

best - 이 시스템에 가장 적합한 아키텍처 설치. 예를 들어, AMD64 시스템에 multilib_policy=best 를 설정하면 yum이 모든 패키지의 64비트 버전을 설치합니다.

all - 항상 모든 패키지에 대해 가능한 모든 아키텍처를 설치합니다. 예를 들어 multilib_policy 가 AMD64 시스템에 모두 설정된 경우 yum은 둘 다 사용할 수 있는 경우 패키지의 i686 및 AMD64 버전을 둘 다 설치합니다.

obsoletes=value

obsoletes 옵션을 사용하면 업데이트 중에 더 이상 사용되지 않는 프로세스 논리를 사용할 수 있습니다. 한 패키지가 다른 패키지를 더 이상 사용하지 않는 사양 파일에서 선언하면 이전 패키지가 설치된 이전 패키지로 교체됩니다. 예를 들어 패키지의 이름이 변경된 경우 obsoletes가 선언됩니다. 값을 다음 중 하나로 바꿉니다.

0 - 업데이트를 수행할 때 yum의 더 이상 사용되지 않는 처리 논리를 비활성화합니다.

1 (기본) - 업데이트를 수행할 때 yum이 더 이상 사용되지 않는 처리 논리를 사용하도록 설정합니다.

plugins=value

yum 플러그인을 활성화 또는 비활성화하기 위한 글로벌 스위치이며 값은 다음 중 하나입니다.

0 - 모든 yum 플러그인을 전역적으로 비활성화합니다.

중요

특정 플러그인이 중요한 yum 서비스를 제공하므로 모든 플러그인을 비활성화하는 것은 권장되지 않습니다. 특히 product-idsubscription-manager 플러그인은 인증서 기반CDN( Content Delivery Network )을 지원합니다. 전역적으로 플러그인을 비활성화하는 것은 편리함으로 제공되며 일반적으로 yum을 사용하여 잠재적인 문제를 진단할 때만 권장됩니다.

1 (기본값) - 전역에서 모든 yum 플러그인을 활성화합니다. plugins=1 을 사용하면 해당 플러그인의 구성 파일에서 enabled=0 을 설정하여 특정 yum 플러그인을 비활성화할 수 있습니다.

다양한 yum 플러그인에 대한 자세한 내용은 9.6절. “yum 플러그인” 을 참조하십시오. 플러그인 제어에 대한 자세한 내용은 9.6.1절. “YUM 플러그인 활성화, 구성 및 비활성화” 을 참조하십시오.

reposdir=directory
여기에서 디렉터리.repo 파일이 있는 디렉터리의 절대 경로입니다. 모든 .repo 파일에는 저장소 정보( /etc/yum.conf[repository] 섹션과 유사합니다. yum은 트랜잭션에 사용할 리포지토리의 마스터 목록을 생성하기 위해 /etc/yum.conf 파일의 .repo 파일과 [repository] 섹션에서 모든 리포지토리 정보를 수집합니다. reposdir 이 설정되지 않은 경우 yum은 기본 디렉토리 /etc/yum.repos.d/ 를 사용합니다.
retries=value
이 옵션은 오류를 반환하기 전에 yum이 파일을 검색하려는 횟수를 설정합니다. 값은 정수 0 이상입니다. 값을 0 으로 설정하면 yum이 영구적으로 다시 시도합니다. 기본값은 10 입니다.

사용 가능한 [main] 옵션의 전체 목록은 yum.conf(5) 매뉴얼 페이지의 [main] OPTIONS 섹션을 참조하십시오.

9.5.2. [repository] 옵션 설정

[repository] 섹션은 repositorymy_personal_repo (공백이 허용되지 않음)와 같은 고유한 리포지토리 ID로 개별 yum 리포지토리를 정의할 수 있도록 합니다. 충돌을 방지하려면 사용자 정의 리포지토리가 Red Hat 리포지토리에서 사용하는 이름을 사용해서는 안 됩니다.

다음은 [리포지토리] 섹션의 최소 예는 다음과 같습니다.

[repository]
name=repository_name
baseurl=repository_url
Copy to Clipboard Toggle word wrap

모든 [repository] 섹션에는 다음 지시문이 포함되어야 합니다.

name=repository_name
여기서 repository_name 은 리포지토리를 설명하는 사람이 읽을 수 있는 문자열입니다.
baseurl=repository_url

repository_url 을 리포지토리의 repodata 디렉터리가 있는 디렉터리의 URL로 바꿉니다.

  • HTTP를 통해 리포지터리를 사용할 수 있는 경우 http://path/to/repo을 사용합니다.
  • FTP를 통해 리포지토리를 사용할 수 있는 경우 ftp://path/to/repo을 사용합니다.
  • 리포지토리가 머신에 로컬인 경우 file:///path/to/local/repo를 사용합니다.
  • 특정 온라인 리포지토리에 기본 HTTP 인증이 필요한 경우 사용자 이름 및 암호를 사용자 이름 :password@link 로 URL 앞에 추가하여 지정할 수 있습니다. 예를 들어 http://www.example.com/repo/ 의 리포지토리에 "user"의 사용자 이름과 "password"의 암호가 필요한 경우 baseurl 링크를 http://user:/repo/ 로 지정할 수 있습니다.

    일반적으로 이 URL은 다음과 같은 HTTP 링크입니다.

    baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/
    Copy to Clipboard Toggle word wrap

    yum은 항상 URL에서 $releasever,$arch, $basearch 변수를 확장합니다. yum 변수에 대한 자세한 내용은 9.5.3절. “YUM 변수 사용” 을 참조하십시오.

기타 유용한 [repository] 지시문은 다음과 같습니다.

enabled=value

이 방법은 yum에 특정 리포지토리를 사용하거나 무시하도록 하는 간단한 방법입니다. 값은 다음 중 하나입니다.

0 - 업데이트 및 설치를 수행할 때 이 리포지토리를 패키지 소스로 포함하지 마십시오. 이는 리포지토리를 설정하고 해제하는 쉬운 방법입니다. 이 방법은 업데이트 또는 설치를 활성화하지 않으려는 저장소에서 단일 패키지를 원할 때 유용합니다.

1 - 이 리포지토리를 패키지 소스로 포함합니다.

리포지토리를 켜거나 꺼짐은 --enablerepo=repo_name또는 --disablerepo=repo_name 옵션을 yum 에 전달하거나 PackageKit 유틸리티의 소프트웨어 추가/제거 창을 통해 수행할 수도 있습니다.

async=value

리포지토리 패키지의 병렬 다운로드를 제어합니다. 여기서 value 는 다음 중 하나입니다.

자동 (기본) - 병렬 다운로드가 가능하면 사용되므로 yum 은 오류가 발생하지 않도록 플러그인에서 생성한 리포지토리에 대해 자동으로 비활성화합니다.

On - 리포지토리에 대해 병렬 다운로드가 활성화됩니다.

off - 리포지토리에 대해 병렬 다운로드가 비활성화되어 있습니다.

더 많은 [저장소] 옵션이 있으며, 그 중 일부는 특정 [기본] 옵션과 동일한 형식을 갖습니다. 전체 목록은 yum.conf(5) 매뉴얼 페이지의 [repository] OPTIONS 섹션을 참조하십시오.

예 9.25. 샘플 /etc/yum.repos.d/redhat.repo 파일

다음은 샘플 /etc/yum.repos.d/redhat.repo 파일입니다.

#
# Red Hat Repositories
# Managed by (rhsm) subscription-manager
#

[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-rpms]
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (RPMs)
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/os
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/key.pem
sslclientcert = /etc/pki/entitlement/11300387955690106.pem

[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-source-rpms]
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (Source RPMs)
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/source/SRPMS
enabled = 0
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/key.pem
sslclientcert = /etc/pki/entitlement/11300387955690106.pem

[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-debug-rpms]
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (Debug RPMs)
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/debug
enabled = 0
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/key.pem
sslclientcert = /etc/pki/entitlement/11300387955690106.pem
Copy to Clipboard Toggle word wrap

9.5.3. YUM 변수 사용

yum 명령과 모든 yum 구성 파일 (즉, /etc/yum.conf 및 /etc/yum .repo s.d/ 디렉토리에 있는 모든 .repo 파일)에서 다음 기본 제공 변수를 사용하고 참조할 수 있습니다.

$releaseVer
이 변수를 사용하여 Red Hat Enterprise Linux 릴리스 버전을 참조할 수 있습니다. yum은 /etc/yum.conf 구성 파일의 distroverpkg=value line에서 $releasever 값을 가져옵니다. /etc/yum.conf 에 이러한 행이 없는 경우 yum은 redhat-release 파일을 제공하는 redhat-release제품 패키지에서 버전 번호를 파생하여 올바른 값을 유추합니다.
$Arch
이 변수를 사용하여 Python의 os.uname() 함수를 호출할 때 반환된 시스템의 CPU 아키텍처를 참조할 수 있습니다. $arch 에 유효한 값에는 i586,i686x86_64 가 포함됩니다.
$basearch
basearch 를 사용하여 시스템의 기본 아키텍처를 참조할 수 있습니다. 예를 들어 i686 및 i586 시스템의 기본 아키텍처는 모두 i386 이며 AMD64 및 Intel 64 시스템의 기본 아키텍처는 x86_64 여야 합니다.
$YUM0-9
이러한 10개의 변수는 각각 동일한 이름의 쉘 환경 변수 값으로 교체됩니다. 이러한 변수 중 하나를 참조하고(예: /etc/yum.conf ) 동일한 이름의 쉘 환경 변수가 없으면 구성 파일 변수가 교체되지 않습니다.

사용자 지정 변수를 정의하거나 기존 변수의 값을 재정의하려면 /etc/yum/vars/ 디렉터리에서 변수와 동일한 이름으로 파일을 생성하고 첫 번째 줄에 원하는 값을 추가합니다.

예를 들어, 리포지토리 설명에는 운영 체제 이름이 자주 포함됩니다. $osname 이라는 새 변수를 정의하려면 첫 번째 줄에 "Red Hat Enterprise Linux"를 사용하여 새 파일을 만들고 /etc/yum/vars/osname 으로 저장합니다.

~]# echo "Red Hat Enterprise Linux 7" > /etc/yum/vars/osname
Copy to Clipboard Toggle word wrap

"Red Hat Enterprise Linux 7" 대신 .repo 파일에서 다음을 사용할 수 있습니다.

name=$osname $releasever
Copy to Clipboard Toggle word wrap

9.5.4. 현재 구성 보기

글로벌 yum 옵션의 현재 값(즉, /etc/yum.conf 파일의 [main] 섹션에 지정된 옵션)을 표시하려면 명령줄 옵션 없이 yum-config-manager 명령을 실행합니다.

yum-config-manager
Copy to Clipboard Toggle word wrap

다른 구성 섹션 또는 섹션의 내용을 나열하려면 다음 양식에서 명령을 사용합니다.

yum-config-manager section…
Copy to Clipboard Toggle word wrap

glob 표현식을 사용하여 일치하는 모든 섹션의 구성을 표시할 수도 있습니다.

yum-config-manager glob_expression…
Copy to Clipboard Toggle word wrap

예 9.26. 주요 섹션의 구성 보기

기본 섹션의 모든 구성 옵션 및 해당 값을 나열하려면 쉘 프롬프트에서 다음을 입력합니다.

~]$ yum-config-manager main \*
Loaded plugins: langpacks, product-id, subscription-manager
================================== main ===================================
[main]
alwaysprompt = True
assumeyes = False
bandwith = 0
bugtracker_url = https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%206&component=yum
cache = 0
[output truncated]
Copy to Clipboard Toggle word wrap

9.5.5. YUM 리포지토리 추가, 활성화 및 비활성화

참고

전문 지식을 확장하려면 Red Hat System Administration III(RH254) 교육 과정에도 관심이 있을 수 있습니다.

9.5.2절. “[repository] 옵션 설정” yum 리포지토리를 정의하는 데 사용할 수 있는 다양한 옵션을 설명합니다. 이 섹션에서는 yum-config-manager 명령을 사용하여 리포지토리를 추가, 활성화 및 비활성화하는 방법을 설명합니다.

중요

시스템이 Red Hat Subscription Management에 등록된 경우 인증서 기반CDN( Content Delivery Network )에 등록된 경우 Red Hat Subscription Manager 툴을 사용하여 /etc/yum.repos.d/redhat.repo 파일의 리포지토리를 관리합니다.

YUM 리포지토리 추가

새 리포지토리를 정의하려면 [repository] 섹션을 /etc/yum.conf 파일에 추가하거나 /etc/yum .repo s.d/ 디렉터리의 .repo 파일에 추가할 수 있습니다. 이 디렉토리에 .repo 파일 확장자가 있는 모든 파일은 yum에서 읽고 있으며, 여기에서 /etc/yum.conf 대신 리포지토리를 정의하는 것이 좋습니다.

주의

Red Hat의 인증서 기반CDN( Content Delivery Network ) 이외의 확인되지 않았거나 신뢰할 수 없는 소프트웨어 소스에서 소프트웨어 패키지를 취득 및 설치하면 잠재적인 보안 위험이 있으며 보안, 안정성, 호환성 및 유지 관리 문제가 발생할 수 있습니다.

yum 리포지토리는 일반적으로 자체 .repo 파일을 제공합니다. 이러한 저장소를 시스템에 추가하고 활성화하려면 root 로 다음 명령을 실행하십시오.

yum-config-manager --add-repo repository_url
Copy to Clipboard Toggle word wrap

여기서 repository_url 은 . repo 파일에 대한 링크입니다.

예 9.27. example.repo 추가

http://www.example.com/example.repo 에 있는 리포지터리를 추가하려면 쉘 프롬프트에서 다음을 입력합니다.

~]# yum-config-manager --add-repo http://www.example.com/example.repo
Loaded plugins: langpacks, product-id, subscription-manager
adding repo from: http://www.example.com/example.repo
grabbing file http://www.example.com/example.repo to /etc/yum.repos.d/example.repo
example.repo                       | 413 B   00:00
repo saved to /etc/yum.repos.d/example.repo
Copy to Clipboard Toggle word wrap

YUM 리포지토리 활성화

특정 리포지토리 또는 리포지토리를 활성화하려면 쉘 프롬프트에서 root 로 다음을 입력합니다.

yum-config-manager --enable repository…
Copy to Clipboard Toggle word wrap

리포지토리가 고유한 리포지토리 ID입니다( yum repolist all 을 사용하여 사용 가능한 리포지토리 ID 나열). 또는 glob 표현식을 사용하여 일치하는 모든 리포지토리를 활성화할 수 있습니다.

yum-config-manager --enable glob_expression…
Copy to Clipboard Toggle word wrap

예 9.28. /etc/yum.conf의 사용자 지정 섹션에 정의된 리포지토리 활성화.

[example], [example-debuginfo], [example-source]섹션에 정의된 리포지토리를 활성화하려면 다음을 입력합니다.

~]# yum-config-manager --enable example\*
Loaded plugins: langpacks, product-id, subscription-manager
============================== repo: example ==============================
[example]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = http://www.example.com/repo/7Server/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/example
[output truncated]
Copy to Clipboard Toggle word wrap

예 9.29. 모든 리포지토리 활성화

/etc/yum.conf 파일과 /etc/yum.repos.d/ 디렉토리에 모두 정의된 모든 리포지토리를 활성화하려면 다음을 입력합니다.

~]# yum-config-manager --enable \*
Loaded plugins: langpacks, product-id, subscription-manager
============================== repo: example ==============================
[example]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = http://www.example.com/repo/7Server/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/example
[output truncated]
Copy to Clipboard Toggle word wrap

성공하면 yum-config-manager --enable 명령은 현재 리포지토리 구성을 표시합니다.

YUM 리포지토리 비활성화

yum 리포지토리를 비활성화하려면 root 로 다음 명령을 실행합니다.

yum-config-manager --disable repository…
Copy to Clipboard Toggle word wrap

리포지토리가 고유한 리포지토리 ID입니다( yum repolist all 을 사용하여 사용 가능한 리포지토리 ID 나열). yum-config-manager --enable 도 마찬가지로 glob 표현식을 사용하여 일치하는 모든 리포지토리를 동시에 비활성화할 수 있습니다.

yum-config-manager --disable glob_expression…
Copy to Clipboard Toggle word wrap

예 9.30. 모든 리포지토리 비활성화

/etc/yum.conf 파일과 /etc/yum.repos.d/ 디렉토리에 모두 정의된 모든 리포지토리를 비활성화하려면 다음을 입력합니다.

~]# yum-config-manager --disable \*
Loaded plugins: langpacks, product-id, subscription-manager
============================== repo: example ==============================
[example]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = http://www.example.com/repo/7Server/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/example
[output truncated]
Copy to Clipboard Toggle word wrap

성공하면 yum-config-manager --disable 명령을 실행하면 현재 구성이 표시됩니다.

9.5.6. YUM 리포지토리 생성

yum 리포지토리를 설정하려면 다음을 수행합니다.

  1. createrepo 패키지를 설치합니다.

    # yum install createrepo
    Copy to Clipboard Toggle word wrap
  2. 새 리포지토리의 모든 패키지를 /tmp/local_repo/ 와 같은 하나의 디렉터리에 복사합니다.

    cp /your/packages/*.rpm /tmp/local_repo/
    Copy to Clipboard Toggle word wrap
  3. 리포지토리를 생성하려면 다음을 실행합니다.

    createrepo /tmp/local_repo/
    Copy to Clipboard Toggle word wrap

    이렇게 하면 yum 리포지토리에 필요한 메타데이터가 생성되고 새로 생성된 하위 디렉터리 repodata 에 메타데이터를 배치합니다.

    이제 yum에서 리포지토리를 사용할 준비가 되었습니다. 이 리포지토리는 HTTP 또는 FTP 프로토콜을 통해 공유하거나 로컬 머신에서 직접 참조할 수 있습니다. yum 리포지토리를 구성하는 방법에 대한 자세한 내용은 9.5.2절. “[repository] 옵션 설정” 섹션을 참조하십시오.

    참고

    리포지토리에 대한 URL을 구성할 때 이 디렉터리에는 메타데이터만 포함되어 있으므로 /mnt/local_repo /repodata 를 참조하십시오. 실제 yum 패키지는 /mnt/local_repo 에 있습니다.

9.5.6.1. 이미 생성된 yum 리포지토리에 패키지 추가

이미 생성된 yum 리포지토리에 패키지를 추가하려면 다음을 수행합니다.

  1. 새 패키지를 리포지토리 디렉터리(예: /tmp/local_repo/ )에 복사합니다.

    cp /your/packages/*.rpm /tmp/local_repo/
    Copy to Clipboard Toggle word wrap
  2. 메타데이터에 새로 추가된 패키지를 반영하려면 다음을 실행합니다.

    createrepo --update /tmp/local_repo/
    Copy to Clipboard Toggle word wrap
  3. 선택 사항: 새로 업데이트된 리포지토리와 함께 yum 명령을 이미 사용한 경우 다음을 실행합니다.

    yum clean expire-cache
    Copy to Clipboard Toggle word wrap

9.5.7. 선택적 리포지토리 추가

선택적 및 추가 서브스크립션 채널은 오픈 소스 라이센스 소프트웨어 (선택 채널) 및 독점 라이센스 소프트웨어 (애드라이브 채널의 경우)를 포함하는 Red Hat Enterprise Linux용 추가 소프트웨어 패키지를 제공합니다.

선택적 및 추가 채널에 가입하기 전에 지원 범위 세부 정보를 참조하십시오. 이러한 채널에서 패키지를 설치하려면 How to access Optional and Supplementary channel, and -devel packages using Red Hat Subscription Manager (RHSM)를 사용하여 Red Hat Customer Portal에 설명된 단계를 따르십시오.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat