리눅스 리뷰/CentOS 7

CentOS 7 Yum 레포지토리 동작 문제 해결 가이드

StWorld 2025. 5. 3. 11:59
728x90
반응형

 

 

CentOS 7에서 yum 레포지토리가 동작하지 않는 문제는 주로 CentOS 7의 지원 종료(EOL, 2024년 6월 30일)로 인해 공식 미러가 비활성화되었거나, 네트워크 문제, GPG 키 오류, 잘못된 레포지토리 설정 등으로 발생합니다. 이 가이드는 문제를 진단하고 해결하는 방법을 단계별로 설명합니다.

1. 문제 원인 파악

yum 명령어 실행 시 다음과 같은 오류가 발생할 수 있습니다:

  • Error: Cannot retrieve repository metadata (repomd.xml)
  • 404 Not Found
  • GPG key retrieval failed
  • Could not resolve host

주요 원인은 다음과 같습니다:

  • EOL로 인한 공식 미러 비활성화: CentOS 7은 2024년 6월 30일 지원이 종료되어 공식 미러가 CentOS Vault로 이동했습니다.
  • 네트워크 문제: 인터넷 연결 또는 DNS 설정 문제.
  • GPG 키 문제: 레포지토리의 GPG 키가 누락되었거나 손상됨.
  • 잘못된 레포지토리 설정: /etc/yum.repos.d/ 디렉토리의 .repo 파일이 잘못 구성됨.

2. 해결 방법

아래 단계를 순서대로 수행하여 문제를 해결하세요.

2.1 네트워크 연결 확인

yum은 인터넷 연결이 필요하므로 네트워크 상태를 먼저 점검합니다.

ping 8.8.8.8

DNS 설정을 확인하려면:

nslookup google.com

문제가 있다면 /etc/resolv.conf 파일을 확인하고 DNS 서버를 추가합니다:

sudo nano /etc/resolv.conf

예시:


nameserver 8.8.8.8
nameserver 8.8.4.4
        

적용 후 네트워크를 재시작합니다:

sudo systemctl restart network

2.2 CentOS Vault로 레포지토리 전환

CentOS 7의 공식 미러는 더 이상 사용되지 않으므로 CentOS Vault를 사용하도록 설정합니다.

2.2.1 기존 레포지토리 백업

기존 .repo 파일을 백업합니다:

sudo mkdir /etc/yum.repos.d/backup
sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

2.2.2 CentOS Vault 레포지토리 설정

새로운 .repo 파일을 생성합니다:

sudo vi /etc/yum.repos.d/CentOS-Vault.repo

아래 내용을 추가합니다:


[base]
name=CentOS-7 - Base
baseurl=http://vault.centos.org/7.9.2009/os/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[updates]
name=CentOS-7 - Updates
baseurl=http://vault.centos.org/7.9.2009/updates/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[extras]
name=CentOS-7 - Extras
baseurl=http://vault.centos.org/7.9.2009/extras/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[centosplus]
name=CentOS-7 - Plus
baseurl=http://vault.centos.org/7.9.2009/centosplus/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0
        

설명:

  • baseurl: CentOS Vault의 7.9.2009 버전(최종 안정 버전)을 가리킵니다.
  • gpgcheck=1: 패키지 무결성 검사를 활성화합니다.
  • enabled=0: centosplus는 기본적으로 비활성화됩니다.

2.2.3 yum 캐시 정리 및 테스트

yum 캐시를 정리하고 레포지토리를 테스트합니다:

sudo yum clean all
sudo yum makecache
sudo yum repolist

yum repolist 명령어가 성공적으로 레포지토리 목록을 출력하면 설정이 올바릅니다.

2.3 GPG 키 확인

GPG 키 오류가 발생하면 CentOS 7의 공식 GPG 키를 수동으로 가져옵니다:

sudo rpm --import http://vault.centos.org/7.9.2009/os/x86_64/RPM-GPG-KEY-CentOS-7

GPG 키가 이미 설치되어 있는지 확인하려면:

rpm -qa gpg-pubkey*

2.4 yum 업데이트 및 패키지 설치 테스트

레포지토리 설정이 완료되었으면 yum을 업데이트하고 테스트합니다:

sudo yum update
sudo yum install -y vim

위 명령어가 오류 없이 실행되면 문제가 해결된 것입니다.

2.5 (선택) EPEL 레포지토리 추가

추가 패키지가 필요한 경우 EPEL(Extra Packages for Enterprise Linux) 레포지토리를 추가할 수 있습니다:

sudo yum install -y epel-release

EPEL 레포지토리도 Vault를 사용하도록 수정합니다:

sudo vi /etc/yum.repos.d/epel.repo

baseurl을 다음과 같이 변경합니다:


[epel]
name=Extra Packages for Enterprise Linux 7
baseurl=http://vault.centos.org/7.9.2009/extras/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
enabled=1
        

3. 추가 문제 해결

3.1 프록시 설정 확인

프록시 환경에서는 /etc/yum.conf에 프록시 설정을 추가합니다:

sudo vi /etc/yum.conf

예시:


proxy=http://proxy.example.com:8080
proxy_username=username
proxy_password=password
        

3.2 yum-config-manager 사용

레포지토리 관리를 간소화하려면 yum-config-manager를 설치합니다:

sudo yum install -y yum-utils

레포지토리를 비활성화하거나 활성화할 수 있습니다:

sudo yum-config-manager --disable base
sudo yum-config-manager --enable base

4. 보안 및 유지 관리 팁

  • 정기 업데이트: 가능한 한 패키지를 최신 상태로 유지하세요.
  • 백업: 레포지토리 설정 변경 전 /etc/yum.repos.d/ 디렉토리를 백업하세요.
  • EOL 고려: CentOS 7은 EOL 상태이므로 CentOS Stream 또는 Rocky Linux로 마이그레이션을 검토하세요.

참고: CentOS Vault는 읽기 전용 아카이브이므로 최신 패키지나 보안 패치는 제공되지 않습니다.

5. 참고 자료

반응형