[Centos] Failed to download metadata for repo 'appstream' 에러 해결

안나·2024년 11월 6일
0

DevOps

목록 보기
19/21
post-thumbnail

🎃 발생 에러

[root@e12ebc3453d8 /]# yum update
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                                     0.0  B/s |   0  B     00:00    
Errors during downloading metadata for repository 'appstream':
  - Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: mirrorlist.centos.org]
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: mirrorlist.centos.org]


🎃 발생 원인

CentOS Linux EOL

CentOS 8이 2021년 12월 31일에 공식적으로 지원이 종료(EOL, End of Life)되면서, 기본 리포지토리(mirrorlist.centos.org)는 더 이상 CentOS 8 패키지에 대한 업데이트나 접근을 제공하지 않습니다. 이로 인해 CentOS 8에서 기본 mirrorlist 경로를 사용하면 패키지 다운로드에 실패하게 됩니다.



🎃 해결 방법:Vault 저장소로 변경

/etc/yum.repos.d/CentOS-Linux-AppStream.repo 파일에서 mirrorlist 대신 vault.centos.org URL을 baseurl로 지정함으로써, EOL 버전 패키지에 접근할 수 있습니다. Vault 저장소는 CentOS 8 패키지를 포함하고 있지만, 더 이상 업데이트나 보안 패치를 제공하지 않으므로 최신 보안이 필요한 환경에서는 CentOS Stream이나 다른 지원되는 운영체제로 업그레이드하는 것이 좋습니다.
AppStream 뿐만 아니라 Baseos, Extra에서도 모두 발생하니 모든 파일을 아래와 같이 바꿔줍니다.

YUM 레포지토리 파일 수정/etc/yum.repos.d/CentOS-Linux-AppStream.repo 파일을 열고, 다음과 같이 수정합니다:

# vi CentOS-Linux-AppStream.repo 
-----

[appstream]
name=CentOS Linux 8.5.2111 - AppStream
#mirrorlist=http://mirrorlist.centos.org/?release=8.5.2111&arch=$basearch&repo=AppStream&infra=$infra
baseurl=http://vault.centos.org/$contentdir/8.5.2111/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
~                                                            

YUM 레포지토리 파일 수정/etc/yum.repos.d/CentOS-Linux-BaseOS.repo 파일을 열고, 다음과 같이 수정합니다:

# vi CentOS-Linux-BaseOS.repo
-----

[baseos]
name=CentOS Linux 8.5.2111 - BaseOS
#mirrorlist=http://mirrorlist.centos.org/?release=8.5.2111&arch=$basearch&repo=BaseOS&infra=$infra
baseurl=http://vault.centos.org/$contentdir/8.5.2111/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

YUM 레포지토리 파일 수정/etc/yum.repos.d/CentOS-Linux-Extras.repo 파일을 열고, 다음과 같이 수정합니다:


# vi CentOS-Linux-Extras.repo 
-----

[extras]
name=CentOS Linux 8.5.2111 - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=8.5.2111&arch=$basearch&repo=extras&infra=$infra
baseurl=http://vault.centos.org/$contentdir/8.5.2111/extras/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial                                                             
~                                                                









+) Centos7에서는

  • YUM 레포지토리 파일 수정:/etc/yum.repos.d/CentOS-Base.repo 파일을 열고, base, updates, extras 섹션을 다음과 같이 수정합니다:

    [base]
    name=CentOS-$releasever - Base
    baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    [updates]
    name=CentOS-$releasever - Updates
    baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    [extras]
    name=CentOS-$releasever - Extras
    baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
  • YUM 캐시 청소:
    변경한 후에는 YUM 캐시를 청소하세요:

    yum clean all
  • 패키지 설치:

    yum update

0개의 댓글