CentOS 6 yum update 오류(YumRepo Error: All mirror URLs are not using ftp, http[s] or file.)
CentOS 6버전은 더이상 유지관리 및 업데이트를 지원하지 않습니다. (CentOS-6: 2020년 11월 30일 만료)
조만간 만료 대상: CentOS-7(2024년 6월 30일 만료)
그렇기에 각종 오류들이 발생하는데 흔히 나타나는 yum update 오류(YumRepo Error: All mirror URLs are not using ftp, http[s] or file.)에 대해서 알아보고 문제 해결 방법을 찾아보겠습니다.
CentOS 버전 확인 방법
[root@hello-db ~]# grep . /etc/*-release
/etc/centos-release:CentOS release 6.10 (Final)
/etc/redhat-release:CentOS release 6.10 (Final)
/etc/system-release:CentOS release 6.10 (Final)
발생하는 에러
[root@hello-db ~]# sudo yum update -y
Loaded plugins: fastestmirror, security
Setting up Update Process
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base
원인
CentOS 6 버전 업데이트 지원이 종료되어 CentOS의 공식 저장소에서 CentOS 6용 패키지를 찾을 수 없게 되었습니다.
- 저장소 URL 오류: CentOS 6의 공식 저장소가 비활성화되거나 제거되어 yum이 업데이트 서버에 접속할 수 없게 되었습니다.
- 저장소 구성 파일 오류: /etc/yum.repos.d/ 디렉토리에 있는 CentOS 저장소 구성 파일들이 더 이상 유효하지 않은 URL을 포함하고 있을 수 있습니다.
해결 방법
CentOS 6 운영 체제에서 yum 패키지 관리자의 미러 리스트 파일을 직접 수정하여, 기존의 미러 URL 대신 CentOS 6의 아카이브(보관) 저장소인 Vault 저장소의 URL을 수동으로 설정합니다. 이렇게 하면 yum이 패키지를 찾을 때 Vault 저장소를 직접 참조하게 합니다.(CentOS vault mirror(http://vault.centos.org/)
특별한 설정이 없다면 64비트 운영체제겠지만.. 확인해봅시다
CentOS의 bit를 출력해서 64비트 운영체제라면
[root@hello-db ~]# getconf LONG_BIT
64
CentOS-6 공식 지원 종료된 저장소 변경
echo "https://vault.centos.org/6.10/os/x86_64/" > /var/cache/yum/x86_64/6/base/mirrorlist.txt
echo "http://vault.centos.org/6.10/extras/x86_64/" > /var/cache/yum/x86_64/6/extras/mirrorlist.txt
echo "http://vault.centos.org/6.10/updates/x86_64/" > /var/cache/yum/x86_64/6/updates/mirrorlist.txt
CentOS의 bit를 출력해서 34비트 운영체제라면
[root@hello-db ~]# getconf LONG_BIT
32
CentOS-6 공식 지원 종료된 저장소 변경
echo "https://vault.centos.org/6.10/os/i386/" > /var/cache/yum/i386/6/base/mirrorlist.txt
echo "http://vault.centos.org/6.10/extras/i386/" > /var/cache/yum/i386/6/extras/mirrorlist.txt
echo "http://vault.centos.org/6.10/updates/i386/" > /var/cache/yum/i386/6/updates/mirrorlist.txt
주의사항
이 방법은 직접적이고 빠르게 저장소 경로를 변경할 수 있지만, 일반적으로 yum의 저장소 구성 파일(`/etc/yum.repos.d/` 아래의 `.repo` 파일들)을 직접 수정하는 방법이 더 권장됩니다.
`/var/cache/yum/` 아래의 파일들은 캐시로서 다루어지기 때문에, yum 캐시 클리어(`yum clean all`)를 실행할 경우 변경한 내용이 사라질 수 있습니다.