문제해결

CentOS 8 yum 설치 시 No URLs in mirrorlist 해결 방법

CentOS 7 또는 CentOS 8, 9에서 yum이나 dnf 패키지 관리자를 사용하여 패키지를 설치하거나 업데이트하려 할 때, 아래와 같은 문제가 발생하여 설치에 실패하는 경우가 있습니다.

# yum upgrade -y
CentOS Linux 8 - AppStream                       34  B/s |  38  B     00:01
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

No URLs in mirrorlist 해결 방법

이 문제는 CentOS 패키지 리포지토리의 주소가 잘못되었거나 접속하지 못하여 발생하는 문제이지만, 최근들어 CentOS 7/8의 공식 패키지의 지원 종료로 인해 깨끗한 OS에서도 빈번하게 발생하는 문제입니다.

CentOS는 이제 더 이상 일반적인 지원 목록에서 제외되었으며 CentOS를 사용할 경우 Stream 버전을 사용하도록 권장하고 있습니다. Stream 버전을 사용하기 위해서는 기존의 운영체제에서 새 Stream 배포판으로 이전해야만 합니다.

이 문서가 도움이 되실 수 있습니다: https://www.centos.org/centos-linux-eol/

이 문제는 아래 두 명령어를 실행하여 저장소 경로를 변경함으로서 일시적으로 해결하실 수 있습니다. 일반적인 패키지 설치에는 문제가 더 이상 발생하지 않겠지만, CentOS 8 시스템 관련 업데이트는 더 이상 지원되지 않으므로 어디까지나 일시적인 해결책임을 인지하셔야 합니다.

아래 과정은 root 사용자 권한을 사용하여 진행해야 합니다.

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

결론적으로 미래에는 CentOS Stream으로 이전해야만 하는 상황입니다. 아래 CentOS 다운로드 링크에서 Stream 배포판에 대해 알아보실 수 있습니다.

또는 하단의 명령어를 사용한 후 재부팅하면 CentOS Stream 배포판으로 교체할 수 있다고 합니다. (직접 확인해보지는 않았습니다.)

$ sudo dnf install centos-release-stream -y
$ sudo dnf swap centos-{linux,stream}-repos -y
$ sudo dnf distro-sync -y

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

View Comments

  • 감사합니다.

    그런데 위의

    sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*

    sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

    명령어를 적용시킨 후

    오류: repo 'gitlab_gitlab-ce'의 메타 데이터를 다운로드하지 못했습니다: repomd.xml GPG signature verification error: Bad GPG signature

    라는 오류가 발생하는데 혹시 이에대해 아시는 정보가 있을까요?

Recent Posts

[안드로이드] INSTALL_FAILED_INSUFFICIENT_STORAGE 해결

INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…

5개월 ago

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

7개월 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

7개월 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

7개월 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

7개월 ago

윈도우 11 설치 시 Microsoft 계정 로그인 없이 로컬 계정 만들기

언제부턴가 윈도우 11을 처음 설치할 때 마이크로소프트(Microsoft) 계정 로그인을 강제로 요구하게 되었습니다. 물론 마이크로소프트 계정이…

1년 ago