반응형
문제
- CentOS Linux 8에서 yum을 이용해서 패키지 설치를 하기위해 아래와 같은 명령어를 입력했다.
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm
- 명령어 동작 시 아래와 같은 메시지가 출력되며 패키지가 설치되지 않았다.
Failed loading plugin “osmplugin”: No module named ‘librepo’
Error : Failed to download metadata for repo ‘appstream’ : Cannot prepare internal mirrorlist: No URLs in mirrorlist
원인
Failed loading plugin “osmplugin”: No module named ‘librepo’
- 오라클 클라우드 내부적으로 발생하는 문제라고 한다.
Error : Failed to download metadata for repo ‘appstream’ : Cannot prepare internal mirrorlist: No URLs in mirrorlist
- CentOS Linux 8은 2021년 12월 31일까지만 지원한다고 한다.
- 그리고 2022년 1월 31일 까지만 공식 미러에서 패키지를 지원하고 이후에는 공식적으로 지원하지 않고 https://vault.centos.org/ 해당 위치로 이동하여 보관하는 것 같다.
- 리눅스를 자주 사용하지 않아서 잘 모르겠지만 추측으로는 공식 미러에서 기존에 제공해주던 패키지가 제거되고 새로운 경로로 이동되어서 오류가 난게 아닐까 싶었다.
해결
- 해결 방법은 세 가지 정도로 정리되었다.
- 해당 이슈가 없는 리눅스로의 전환
- CentOS Linux 8을 사용을 계속 유지하면서 해당 문제를 해결
- CentOS Linux 8을 CentOS Stream 8로 전환
- 그 중 나는 3번째 방법을 택하기로 했다.
- 이유는 아직 오라클 클라우드에 해당 인스턴스에 어떠한 작업도 하지 않은 상황이었다. 굳이 CentOS Linux 8을 계속 사용할 이유가 없었다.
- 또한 리눅스 전환을 하는 것도 기존에 만들어진 인스턴스의 이미지를 변경하는 것보다 기존
CentOS Linux 8
을CentOS Stream 8
로 마이그레이션하는 것이 더 편해보였다.- 만약 실제로 서비스가 운영되는 환경이면 버전 업그레이드로 인한 사이드 이펙트들을 많이 고려해서 신중하게 작업해야할 것 같다.
- 2번의 방법을 택해야 하는사람들은 다음게시물을 참고해보길 바란다. 아마 패키지가 제거된 기존 경로의 URL을 패키지가 보관된 URL로 변경하여 사용하는 방식인것 같다.
CentOS Linux 8을 CentOS Stream 8로 마이그레이션하기
- CentOS 홈페이지에서
CentOS Linux 8
을CentOS Stream 8
로 전환하는 방법을 알려주고 있다.
- 홈페이지에서
CentOS Stream
을 클릭 후8
을 클릭하여Converting from CentOS Linux 8 to CentOS Stream 8
에 적혀있는 명령어를 사용한다.sudo dnf --disablerepo '*' --enablerepo extras swap centos-linux-repos centos-stream-repos
sudo dnf distro-sync
- 설치 중간 중간 묻는 질문에는 y를 입력해주었다. 설치 작업이 조금 오래걸릴 수 있다.
- 작업 완료후
CentOS Linux 8
에서CentOS Stream 8
로 마이그레이션 된 모습이다.
Error : Failed to download metadata for repo ‘appstream’ : Cannot prepare internal mirrorlist: No URLs in mirrorlist
메시지도 더 이상 표시되지 않는다. 정상적으로 설치되는 모습이다.
[참고자료]
https://www.centos.org/centos-linux-eol/
https://minokamo.tokyo/2021/02/02/3305/
https://forketyfork.medium.com/centos-8-no-urls-in-mirrorlist-error-3f87c3466faa
반응형