안녕하세요. VISION IDC 기술팀입니다.
CentOS 7에서 yum update 또는 패키지 설치를 실행할 때 Could not retrieve mirrorlist, Cannot find a valid baseurl for repo와 같은 저장소 오류가 발생한다면 CentOS 7 지원 종료로 기존 미러가 더 이상 정상적으로 제공되지 않는 상황일 수 있습니다.
이 문서에서는 CentOS Linux 7의 기본 YUM 저장소를 공식 CentOS Vault의 최종 7.9.2009 스냅샷으로 변경하고, 캐시를 초기화한 뒤 저장소가 정상적으로 조회되는지 확인하는 방법을 설명합니다.
적용 환경
| 항목 | 기준 |
|---|---|
| 운영체제 | CentOS Linux 7 |
| 최종 릴리스 | 7.9.2009 |
| 대상 아키텍처 | x86_64 |
| 패키지 관리자 | yum |
| 저장소 설정 경로 | /etc/yum.repos.d/ |
다른 아키텍처나 별도 SIG 저장소, EPEL, 데이터베이스 벤더 저장소는 경로와 지원 정책이 다르므로 이 문서의 기본 저장소 설정과 별도로 확인해야 합니다.
먼저 확인할 항목
1. 운영체제 버전 확인
현재 서버가 CentOS Linux 7인지 먼저 확인합니다. CentOS Stream이나 Rocky Linux, AlmaLinux에는 이 Vault 설정을 적용하면 안 됩니다.
cat /etc/centos-release
uname -m
CentOS Linux 7 계열이며 아키텍처가 x86_64인지 확인합니다. 최종 패키지 집합은 CentOS 7.9.2009 Vault 경로를 사용합니다.
2. 현재 오류와 활성 저장소 확인
현재 설정된 저장소와 오류 메시지를 확인합니다. 이 결과는 변경 전 상태를 기록하고, Vault 전환 후 비교하는 데 사용합니다.
sudo yum repolist all
sudo yum makecache
기존 mirrorlist.centos.org 조회 실패나 base/7/x86_64의 유효한 baseurl을 찾지 못한다는 메시지가 표시되면 기본 저장소 전환이 필요할 가능성이 높습니다.
3. Vault 서버 접속 확인
저장소 파일을 수정하기 전에 DNS와 HTTPS 접속이 가능한지 확인합니다.
getent hosts vault.centos.org
curl -fsSL -o /dev/null -w '%{http_code}\n' https://vault.centos.org/7.9.2009/os/x86_64/repodata/repomd.xml
두 번째 명령의 결과가 200이면 저장소 메타데이터에 접근할 수 있는 상태입니다. 호스트 이름을 찾지 못하면 저장소 설정이 아니라 서버의 DNS 또는 네트워크부터 점검해야 합니다.
기존 저장소 설정 백업
변경 전에 전체 저장소 디렉터리와 기본 저장소 파일을 백업합니다. 외부 저장소가 함께 설치되어 있더라도 전체 디렉터리 백업을 통해 이전 상태를 확인할 수 있습니다.
sudo cp -a /etc/yum.repos.d "/etc/yum.repos.d.backup.$(date +%Y%m%d-%H%M%S)"
sudo cp -a /etc/yum.repos.d/CentOS-Base.repo "/etc/yum.repos.d/CentOS-Base.repo.bak.$(date +%Y%m%d-%H%M%S)"
백업 파일이 생성되었는지 확인합니다.
ls -ld /etc/yum.repos.d.backup.*
ls -l /etc/yum.repos.d/CentOS-Base.repo*
Vault 저장소로 변경
기존 미러 목록 대신 공식 CentOS Vault의 base, updates, extras 경로를 직접 지정합니다. 아래 명령은 CentOS-Base.repo 파일을 새 내용으로 교체합니다.
sudo tee /etc/yum.repos.d/CentOS-Base.repo > /dev/null <<'EOF'
[base]
name=CentOS-7.9.2009 - Base
baseurl=https://vault.centos.org/7.9.2009/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-7.9.2009 - Updates
baseurl=https://vault.centos.org/7.9.2009/updates/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-7.9.2009 - Extras
baseurl=https://vault.centos.org/7.9.2009/extras/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
작성한 파일에서 저장소 ID, URL, 활성화 여부와 GPG 키 경로를 확인합니다.
sudo cat /etc/yum.repos.d/CentOS-Base.repo
ls -l /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
GPG 키 파일이 존재해야 패키지 서명을 검사할 수 있습니다. 보안 검증을 우회하기 위해 gpgcheck=0으로 변경하는 방법은 권장하지 않습니다.
YUM 캐시 초기화 및 재생성
기존 미러에서 받아 둔 메타데이터를 제거하고 Vault 저장소 기준으로 캐시를 다시 생성합니다.
sudo yum clean all
sudo yum --disablerepo='*' --enablerepo=base --enablerepo=updates --enablerepo=extras makecache
명령이 완료되면 base, updates, extras의 메타데이터가 오류 없이 내려받아져야 합니다.
캐시 손상이 계속 의심되는 경우
정상 URL로 변경했는데도 이전 메타데이터 오류가 반복되면 YUM 캐시 디렉터리를 삭제한 뒤 다시 생성합니다. 삭제 대상은 패키지 자체가 아니라 내려받은 저장소 캐시입니다.
sudo rm -rf /var/cache/yum
sudo yum --disablerepo='*' --enablerepo=base --enablerepo=updates --enablerepo=extras makecache
정상 작동 확인
1. 활성 저장소 확인
sudo yum --disablerepo='*' --enablerepo=base --enablerepo=updates --enablerepo=extras repolist
base, updates, extras가 표시되고 저장소 오류 없이 패키지 수가 조회되면 기본 Vault 설정이 적용된 것입니다.
2. 패키지 정보 조회
sudo yum --disablerepo='*' --enablerepo=base --enablerepo=updates --enablerepo=extras info bash
패키지 정보가 정상적으로 출력되면 저장소 메타데이터 조회 기능이 복구된 것입니다.
3. 전체 저장소 상태 확인
sudo yum repolist all
이 단계에서 오류가 다시 발생하면 CentOS 기본 Vault가 아니라 활성화된 제3자 저장소가 실패하는지 저장소 ID를 확인합니다.
자주 발생하는 오류와 해결 방법
| 증상 | 가능한 원인 | 확인 방법 | 해결 방법 |
|---|---|---|---|
Could not resolve host: vault.centos.org |
DNS 설정 또는 외부 네트워크 연결 문제 | getent hosts vault.centos.org, cat /etc/resolv.conf |
정상 DNS 서버와 기본 게이트웨이, 서버 방화벽의 외부 통신 정책을 점검합니다. |
Cannot find a valid baseurl for repo |
Vault URL 오타, 잘못된 저장소 경로 또는 지원되지 않는 아키텍처 | cat /etc/yum.repos.d/CentOS-Base.repo, uname -m |
경로가 7.9.2009/os/$basearch/, updates/$basearch/, extras/$basearch/인지 확인합니다. |
| SSL 인증서 또는 인증서 날짜 오류 | 서버 시간이 크게 틀렸거나 CA 인증서가 손상된 상태 | date, timedatectl status, curl -Iv https://vault.centos.org/ |
시스템 시간과 NTP 동기화를 먼저 바로잡고, 인증서 검증을 비활성화하지 않은 상태에서 다시 시도합니다. |
| GPG 키 검증 실패 | CentOS 7 GPG 키 파일 누락 또는 미등록 | ls -l /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 |
키 파일이 존재하면 sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7을 실행하고 캐시를 다시 생성합니다. |
| 저장소 ID가 중복되었다는 오류 | 여러 .repo 파일에 동일한 [base], [updates], [extras] 항목이 존재 |
grep -R '^\[base\]\|^\[updates\]\|^\[extras\]' /etc/yum.repos.d/*.repo |
백업 파일의 확장자가 여전히 .repo인지 확인하고, 중복 파일은 저장소 디렉터리 밖으로 이동합니다. |
기본 저장소는 정상인데 yum 전체 명령이 실패 |
EPEL 또는 기타 제3자 저장소 지원 종료 | yum repolist all에서 실패한 저장소 ID 확인 |
문제가 발생한 저장소만 일시적으로 비활성화하여 기본 Vault를 검증하고, 해당 공급자의 아카이브 또는 마이그레이션 안내를 확인합니다. |
제3자 저장소를 제외하고 Vault만 점검하는 방법
아래 명령이 성공하면 CentOS 기본 Vault는 정상이며, 전체 yum 실행을 방해하는 원인은 다른 저장소일 가능성이 높습니다.
sudo yum --disablerepo='*' --enablerepo=base --enablerepo=updates --enablerepo=extras makecache
sudo yum --disablerepo='*' --enablerepo=base --enablerepo=updates --enablerepo=extras info bash
원상복구 방법
Vault 설정 적용 후 문제가 발생하면 생성된 백업 파일을 확인한 뒤 기존 CentOS-Base.repo를 복원할 수 있습니다.
ls -1t /etc/yum.repos.d/CentOS-Base.repo.bak.*
sudo cp -a /etc/yum.repos.d/CentOS-Base.repo.bak.YYYYMMDD-HHMMSS /etc/yum.repos.d/CentOS-Base.repo
sudo yum clean all
YYYYMMDD-HHMMSS는 실제 백업 파일명에 표시된 값으로 변경합니다.
운영 서버에서 추가로 고려할 사항
- Vault의 패키지는 CentOS 7 지원 종료 시점에 보관된 과거 버전이므로 새 취약점에 대한 패치가 추가되지 않습니다.
- 인터넷에 공개된 웹 서버, 데이터베이스 서버, SSH 서버는 Vault 전환만으로 보안 유지가 되지 않습니다.
- 애플리케이션과 데이터 백업, 패키지 목록, 서비스 설정, 방화벽 규칙을 정리한 뒤 지원 중인 Enterprise Linux 계열 또는 다른 장기 지원 운영체제로 이전 계획을 수립합니다.
- 기존 서버에서 패키지를 추가 설치해야 한다면 저장소 변경 전에 스냅샷 또는 전체 백업을 확보하고 의존성 변화를 검토합니다.
자주 묻는 질문
Vault로 변경하면 CentOS 7 보안 업데이트를 계속 받을 수 있나요?
아닙니다. CentOS Vault는 과거 패키지 트리를 보관한 아카이브이며 새로운 보안 업데이트가 추가되지 않습니다.
모든 CentOS 7 서버가 7.9.2009 경로를 사용해도 되나요?
x86_64 기반 CentOS Linux 7 서버의 기본 패키지를 최종 CentOS 7 패키지 집합으로 맞출 때 사용합니다. 다른 아키텍처나 별도 제품 저장소는 해당 경로를 그대로 적용하면 안 됩니다.
EPEL 저장소 오류도 이 설정으로 해결되나요?
아닙니다. 이 문서는 CentOS 기본 저장소만 다룹니다. EPEL과 제3자 저장소는 각 프로젝트의 CentOS 7 지원 종료 및 아카이브 정책을 별도로 확인해야 합니다.
HTTPS 오류가 나면 baseurl을 HTTP로 바꿔도 되나요?
영구 설정으로 HTTP를 사용하는 것은 권장하지 않습니다. 먼저 시스템 시간, DNS, CA 인증서와 외부 443 포트 통신을 점검해 HTTPS 검증이 정상적으로 동작하도록 해결하는 것이 안전합니다.
Vault 설정 후 바로 yum update를 실행해도 되나요?
먼저 yum repolist, yum makecache, 패키지 정보 조회로 저장소가 정상인지 확인하십시오. 운영 서버에서는 스냅샷이나 백업을 확보하고 패키지 변경 범위를 검토한 뒤 업데이트해야 합니다.
공식 참고자료
- CentOS Project — CentOS Linux 7 지원 종료 안내: 2024년 6월 30일 이후 업데이트가 게시되지 않고 패키지가 Vault로 보관된다는 내용을 확인했습니다. 조회일: 2026년 7월 21일.
- CentOS Project — CentOS Vault Mirror: Vault가 업데이트 저장소가 아닌 과거 트리의 정적 스냅샷이며 보안 업데이트가 추가되지 않는다는 내용을 확인했습니다. 조회일: 2026년 7월 21일.
- CentOS Project — CentOS 7.9.2009 Vault 디렉터리:
os,updates,extras저장소 경로가 제공되는 것을 확인했습니다. 조회일: 2026년 7월 21일. - VISION IDC — CentOS 패키지 업데이트 명령 확인: YUM을 이용한 기본 패키지 조회 및 업데이트 절차를 참고할 수 있습니다. CentOS 7에서는 본 문서의 지원 종료 및 Vault 제한사항을 함께 적용해야 합니다.
마무리
이번 문서에서는 CentOS 7의 YUM 저장소 오류를 해결하기 위해 기본 저장소를 공식 CentOS Vault 7.9.2009 경로로 변경하고, 캐시 재생성과 패키지 조회로 정상 작동을 확인하는 방법을 살펴봤습니다.
Vault 전환은 오래된 서버의 패키지 접근을 임시로 복구하는 방법일 뿐 보안 지원을 연장하지는 않습니다. 필요한 작업을 마친 뒤에는 지원 중인 운영체제로 이전하여 지속적인 보안 업데이트를 받을 수 있도록 준비하시기 바랍니다.
