"[Errno 256] No more mirrors to try"는 패키지 관리자가 설치할 수 있는 미러 서버를 모두 시도했지만, 원하는 패키지를 다운로드할 수 없을 때 발생하는 오류입니다. 이 오류는 보통 미러 서버의 문제, 패키지의 경로가 잘못되었거나, 패키지가 서버에서 제거되었을 때 발생합니다. 해결책으로는 레포지토리 설정을 확인하고, 다른 미러 사이트를 사용하거나, 사전 유효성을 확인하는 것이 있습니다. 중요한 정보는 다시 확인하시기 바랍니다.
보통은 yum 캐시가 손상되는데, 필자는 그래도 동일한 에러가 나타났다.
네트워크 문제는 아니고 아마 미러 서버가 사라진 듯 하다.
cd /etc/yum.repos.d
yum repository 의 위치가 /etc/yum.repos.d 에 있다.
해당 디렉토리에 기존 파일들을 백업 후에 CentOS-Base.repo 파일을 수정해주었다.
# 1. backup 작업
mkdir backup
mv CentOS-* ./backup
# 2. Repo 생성
vi CentOS-Base.repo
# 3. 아래 내용 붙혀넣기
[base]
name=CentOS-$releasever - Base
# original
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
# new
baseurl=http://centos.mirror.cdnetworks.com/7/os/x86_64
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
# original
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
# new
baseurl=http://centos.mirror.cdnetworks.com/7/updates/x86_64
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
# original
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
# new
baseurl=http://centos.mirror.cdnetworks.com/7/extras/x86_64
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
# original
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
# new
baseurl=http://centos.mirror.cdnetworks.com/7/centosplus/x86_64
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
그래도 동일한 에러가 나타났다.
failure: repodata/repomd.xml from pgdg-common: [Errno 256] No more mirrors to try.
오류를 보니 pgdg 라는 것이 문제인 것 같았다.
pgdg는 처음보는 단어라 ChatGPT에 물어보았더니 아래와 같이 대답하였다.
pgdg는 PostgreSQL Global Development Group의 약자로, PostgreSQL 데이터베이스 시스템의 개발 및 배포를 담당하는 조직입니다. 주로 다양한 플랫폼에 PostgreSQL을 설치하기 위해 PPA(Personal Package Archive)를 제공하며, 이를 통해 사용자는 Ubuntu와 같은 리눅스 배포판에 PostgreSQL을 쉽게 설치할 수 있습니다.
검색해봐도 잘 모르겠다.
뭔가 조금 다른 설명인거 같기도 해서 pgdg-redhat-all.repo 파일에 대해서 물어봤다.
pgdg-redhat-all.repo 파일은 PostgreSQL의 Yum 리포지토리를 관리하기 위한 설정 파일로, PostgreSQL 패키지를 Red Hat 계열의 운영 체제에서 설치하고 업데이트할 수 있게 해줍니다. 이 파일을 통해 PostgreSQL을 간편하게 설치할 수 있으며, OS 버전과 관련된 correctly 설정이 필요합니다. 이와 관련하여 GPG 서명 오류와 같은 문제가 발생할 수 있으니 유의해야 합니다.
yum 리포지토리 관리 설정파일이다.
아무튼 설정파일 자체에 문제가 있는거 같았다.
아직까지도 추측이나(현재는 해당 현상 해결) PostgreSQL 11버전이 EOS 가 되면서 에러가 나오지 않았을 까 생각한다.
아무튼 이 문제를 해결하기는 어려웠다... 여러 삽질을 했지만 해결이 되지 않았고 아래 블로그에서 기존 pgdg를 삭제하는 방법을 알게되어 그대로 적용해보았다.
위에 해당하는 include를 잡아주어야해서 sys_include 의 맨 뒷부분에 11버전의 gcc의 include 경로를 잡아주었다.
#pcscfg.cfg 파일
#맨 끝 부분 /usr/lib/gcc/x86_64-redhat-linux/11/include 추가
sys_include=($ORACLE_HOME/sdk/include,/usr/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include,/usr/lib/gcc/x86_64-redhat-linux/4.4.4/include,/usr/lib64/gcc/x86_64-suse-linux/4.8/include,/usr/lib/gcc/x86_64-redhat-linux/11/include)
[abc@hostname instantclient_12_2]$ ./sqlplus
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
[abc@hostname instantclient_12_2]$ ./sqlplus
Segmentation fault (core dumped)