배포를 위해 Oracle cloud를 오랜만에 재시작하여 접속해보니 아래와 같은 에러가 발생했다.
다소 시간이 소요되었지만, CentOS 8을 사용하는 다수의 사람들도 겪는 이슈인 것 같았다.
하나씩 해결하니 금방 해결할 수 있었다.
1. Failed to set locale, defaulting to C.UTF-8
먼저 한국 시간으로 변경을 위해 아래 명령어를 입력한 이후에 yum, dnf 수행 시 계속 위 에러가 발생했다.
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
localtime의 심볼릭 링크를 대한민국 시간으로 변경하는 커맨드이다.
위 변경 사항으로 인해 시간은 변경되었지만, 이후에 locale을 얻어오지 못하면서 yum, dnf 수행 시 에러가 발생했다.
많은 출처에서는 .bashrc에 export LANG=ko_KR.utf8 을 추가하도록 안내했지만 에러는 여전했다.
[해결 방법]
해당 에러를 읽어보니 locale set에 실패해서 default인 C.UTF-8로 set한다고 이해했다.
따라서 현재 localtime으로 대한민국 시간이 되어있으므로, 충돌이 발생하여 에러가 발생할 것으로 생각했다.
아래 명령어로 우선 에러 메시지 출력되지 않도록 할 수 있었다. 에러 해결 후에 다시 대한민국 시간으로 맞추었다.
export LANG=C.UTF-8
2. Failed loading plugin "osmsplugin": No module named 'librepo'
Oracle cloud 이용자들이 많이 겪는 에러로 보인다.
librepo를 찾지 못하므로 설치해주면 된다. 하지만 문제는 3번 에러로 인해 dnf가 동작하지 않는 것이었다.
[해결 방법]
dnf install python3-librepo
sudo dnf install python3-librepo
3. Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
CentOS 8의 변경점으로 인해 repo 를 가져오지 못하는 것으로 보인다.
아래 블로그를 참고하여 명령어 입력 후 dnf, yum 사용이 가능해졌고, 2번 문제를 해결 할 수 있었다.
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
https://tech.chhanz.xyz/linux/2022/02/04/dnf-error-centos-8/
[Linux] CentOS 8: Failed to download metadata for repo 'appstream'
EOS CentOS 8 CentOS 8 은 December 31, 2021 부로 EOS 되었습니다. 지속적인 사용을 위해서는 CentOS 8 Stream 으로 배포판 변경을 해야지 지속적인 지원을 받을 수 있습니다. Error dnf Error: Failed to download metadata fo
tech.chhanz.xyz
[Linux] 리눅스 메시지 큐 관련 파라미터 설정 (0) | 2023.02.12 |
---|---|
리눅스 명령어와 쉘스크립트 (0) | 2021.10.11 |