느리지만 단단한 IT 인프라 이야기

Server/CentOS

[RHEL/CentOS] EOL버전 Repo 변경하기

바둑이 아저씨 2026. 1. 1. 22:08

 

( 출처 : namu.wiki )


CentOS 7, 8등 서비스가 종료된 OS를 새로 설치한 후 yum / dnf 명령어가 정상 동작하지 않는 경우가 자주 발생합니다.


이는 CentOS 프로젝트 정책 변경으로 인해 기본 미러 레포지토리가 더 이상 유지되지 않기 때문이며, 이 경우 기존 Base / Updates 레포를 vault.centos.org로 변경해주어야 합니다.


1. yum / dnf 이 동작하지 않는 이유

  • CentOS 7 : 2024-06-30 EOL (End Of Life)
  • CentOS 8 : 2021-12-31 EOL
  • 공식 미러에서 패키지 제거 → 기본 repo 접근 불가

따라서 기본 레포를 그대로 사용하면 아래와 같은 오류가 발생합니다.

Cannot find a valid baseurl for repo: base
Failed to download metadata for repo

2. 해결 방법 개요

CentOS에서 제공하는 보관용 아카이브 레포지토리(vault.centos.org)를 사용합니다.

  • 과거 릴리즈 패키지를 그대로 보관
  • 보안 업데이트는 제공되지 않음 (중요)
  • 레거시 서버 / 테스트 환경에 적합

3. vi 편집기를 이용한 레포 URL 일괄 변경 방법

repo 파일을 직접 수정하는 대신, vi의 치환 기능(%s)을 사용하면 기존 미러 레포 주소를 vault.centos.org로 빠르게 변경할 수 있습니다.

1) repo 파일 열기

vi /etc/yum.repos.d/CentOS-Base.repo

2) mirrorlist 비활성화

:%s/^mirrorlist=/#mirrorlist=/g

mirrorlist 항목은 더 이상 사용되지 않으므로 주석 처리합니다.

3) 기존 mirror URL을 vault 레포로 치환

:%s|mirror.centos.org|vault.centos.org|g

구분자로 / 대신 |를 사용하면 URL 치환 시 가독성이 좋아집니다.

4) 주석 처리된 baseurl 활성화

:%s/^#baseurl=/baseurl=/g

기본적으로 주석 처리된 baseurl을 다시 활성화하여 vault 레포를 사용하도록 변경합니다.

5) 저장 후 종료

:wq

4. vi 치환 명령어 요약

명령어 설명
:%s/old/new/g 파일 전체에서 old → new 치환
:%s/^text/#text/g 라인 시작 문자열 주석 처리
:%s|old|new|g / 대신 | 구분자 사용 (URL 치환에 유용)

vi 치환 방식은 여러 repo 파일을 수정해야 할 때 특히 유용하며, 최소한의 작업으로 레포 설정을 변경할 수 있습니다.

실무에서는 위의 방법이 CentOS 7/8 긴급 복구, 신규 서버 세팅, 레거시 환경 유지 시 자주 활용되는 방법입니다.


위의 방법 외에 5, 6번의 방법을 통한 수정 방법도 있으니, 편한 방법으로 적용 해보시면 됩니다.


5. CentOS 7 레포지토리 변경 방법

cd /etc/yum.repos.d/

기존 repo 백업

mkdir backup
mv CentOS-*.repo backup/

Vault 레포 생성

cat << EOF > CentOS-Base.repo
[base]
name=CentOS-7 - Base
baseurl=http://vault.centos.org/7.9.2009/os/\$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

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

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

6. CentOS 8 레포지토리 변경 방법

cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' CentOS-*

CentOS 8은 기본적으로 8.5 기준 vault 레포를 사용하게 됩니다.


7. 캐시 초기화 및 동작 확인

yum clean all
yum makecache
yum repolist

정상적으로 repo 정보가 출력되면 설정 완료입니다.


8. 주의사항

  • Vault 레포는 보안 패치가 제공되지 않음
  • 운영 서버에는 Rocky Linux / AlmaLinux 전환 권장
  • 테스트, 레거시 유지 목적에만 사용 권장

CentOS 7, 8 환경을 유지해야 하는 경우 vault.centos.org 레포 설정은 사실상 필수 작업입니다.

vault 를 제외한 다양한 레포주소가 있으니, 해당 유효한 주소의 레포로 위와 같이 설정 하셔도 무관합니다.

감사합니다.

'Server > CentOS' 카테고리의 다른 글

[RHEL/CentOS] NTP 서버 설정  (0) 2025.06.04
[RHEL/CentOS] VNC 서버 설치 및 설정 방법  (0) 2025.06.02