yum 오류“저장소에 대한 metalink를 검색 할 수 없습니다 : epel. 경로를 확인하고 다시 시도하십시오.”ContextBroker 업데이트


106

yum install contextBroker 명령을 사용하여 Orion ContextBroker를 업데이트하려고합니다. 불행히도 다음과 같은 오류가 발생합니다.

로드 된 플러그인 : 가장 빠른 미러, 새로 고침 패키지 키트, 보안 로딩

캐시 된 호스트 파일의 미러 속도

오류 : 저장소 : epel에 대한 metalink를 검색 할 수 없습니다. 경로를 확인하고 다시 시도하십시오.

무엇이 잘못 될 수 있습니까?


3
제안 된 문제 해결 단계 : 시스템을 사용할 수 curl -v https://mirrors.fedoraproject.org있습니까?
mwfearnley

선택한 답변은 근본 문제를 해결하지 않는 해결 방법이며 실제로 패키지 설치가 계속 실패 할 수 있습니다. 베스트 답변의 선택을 취소하고 투표 수를 통해 대부분의 사람들에게 효과가있는 답변을 정렬하도록합니다.
Paul

답변:


125

로 시작하는 모든 항목에 주석을 달고로 시작하는 모든 항목의 주석을 해제 하여 /etc/yum.repos.d/epel.repo/etc/yum.repos.d/epel-testing.repo파일을 모두 편집하여이 문제를 해결했습니다 .mirrorlist=...baseurl=...


제 경우에는이 수정으로 yum이 epel 저장소에 대한 메타 데이터를 성공적으로 다운로드 할 수 있었지만 패키지를 설치하려는 시도는 [Errno 14] Peer cert cannot be verified or peer cert invalid. 올바른 수정 사항은 아래 답변과 같이 ca 인증서를 업데이트하는 것입니다.
bain

3
MetaLink를로 시작하는 모든 항목을 주석 = ... 그리고 base을로 시작하는 모든 항목을 주석을 해제 = .... RHEL7.1에 나를 위해 일한
아 누락 싱

1
당신의 방법을 시도한 다음 yum clean all && yum update작동했습니다. 그러나 완전히는 아니었다 epel-release-7-11.noarch: [Errno 256] No more mirrors to try. 그래서 나는 yum update curl --disablerepo=epelsbetharia가 제안한대로 시도 yum clean all && yum update했고, 다시 시도 했고, 이제 마침내 작동했다.
Hosi Golden

나를 위해 일했습니다. 감사합니다.
tarekahf

3
나는 mirrorlist=줄 이 없었지만 줄이 있었고 metalink=주석이 필요했습니다.
JellicleCat

171

ca-certificates 패키지를 업데이트하기 만하면됩니다. 그 전에 실패한 https로 모든 저장소를 비활성화하십시오. 그렇기 때문에 mirrorlist에 주석을 달거나 https 대신 http를 사용하는 솔루션도 작동합니다.

예를 들어 epel repo 만 비활성화해야하는 경우 :

yum --disablerepo=epel -y update  ca-certificates

이것은 또한 wget, curl 및 SSL 인증서를 사용하는 다른 모든 것에 도움이됩니다.


9
이것은 해결 방법을 제공하는 것이 아니라 문제의 실제 원인을 진단하므로 정답으로 받아 들여 져야합니다.
Horatio Alderaan 2015 년

1
나는 이것을 CentOS 6.5 도시락 상자 에서 테스트했으며 실행할 때 약간 더 안정적 yum clean all && yum makecache입니다. 그러나 때로는 여전히 실패합니다. 내 스크립트에 재 시도를 추가하면 훨씬 더 안정적이었습니다. 일부 미러는 신뢰할 수 없으며 다시 시도하면 작동하는 다른 미러를 제공 할 수 있습니다. 따라서 처음에 성공하지 못하면 다시 시도하십시오!
TrinitronX 2015 년

1
그럼이 경험에서 오는, 그리고 예, 메시지는 비밀입니다 :)
XOR

2
당신은 또한 HTTPS 예를 들어 그것을 설정하는 기업 프록시 뒤에 있다면 확인export https_proxy=<your proxy>
마르쿠스

3
epel-repo RPM에는 ca-certificates에 종속성이 있어야합니다 !!
Stéphane

59

다음 명령을 사용하십시오.

sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

또는 명령을 사용하십시오.

vi /etc/yum.repos.d/epel.repo

4 번 줄로 이동하여 URL을

mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

mirrorlist=http://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

감사; 이것은 문서화 된 다른 많은 솔루션을 시도한 후에 저에게 효과적이었습니다 (내 오류는 Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again). 제 질문은 이것이 왜 작동 했습니까? 저장소 사이트의 구성 문제 때문입니까?
CODE-REaD

1
아마도 HTTPS 서버는 아니지만 루트 인증 기관이 업데이트되지 않았거나 SSL 라이브러리가 새 암호를 지원하지 않기 때문에 시스템의 HTTPS 클라이언트 측 지원이 오래 될 수 있습니다.
mwfearnley

많은 시도 끝에 sed 명령으로 해결되었습니다. 그냥 복사 + 붙여 넣기 만하면됩니다. 보통 저는 이런 종류의 일을 담당하지 않고 일부 데이터베이스 업데이트를 테스트하기 위해 나만 사용할 테스트 컴퓨터를 설치하기 때문에 필요했습니다.
EAmez

1
Cent OS 7.6에서 이것은sudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo
JamesThomasMoon1979

19

내 경우에는 주석 처리 mirrorlist및 din't baseurl작동하지 않는 항목이 없습니다 . 나는 문제가 페도라 파일 https내부에 있다는 것을 알았습니다 .repo. 나는에 가서 그것을 해결 /etc/yum.repository.d하고 모든 교체 httpshttp다른 .repo 파일에. 작동했습니다 !!


이것은 아마도 /etc/yum.conf (회사 프록시)에 설정된 프록시와 관련이 있습니까?
Christof Kälin

19

나는 이것이 효과가 있다고 생각한다. 나는 이것으로 내 문제를 해결했습니다.

$ sudo yum 모두 청소

$ sudo yum --disablerepo = "epel"nss 업데이트


3
이것은 Centos 6.8에 적합합니다. 감사합니다
neo

1
이것은 또한 내 문제를 해결했으며, 왜이 update nss문제를 해결 하는 데 도움 이되는지 궁금합니다 !
KLajdPaja

12

curl을 업데이트하는 것이 우리에게 효과적이었습니다. 어떻게 든 yum은 트랜잭션에 curl을 사용합니다.

yum update curl --disablerepo=epel

귀하의 답변은 수락 된 답변보다 낫습니다. epel.repo 또는 epel-testing.repo를 변경할 필요가 없습니다.
Hosi Golden

나는 이것을 추적하고 이것 또는 다른 답변 중 일부를 읽기 전에 curl을 업데이트했습니다. curl 업데이트도 nss를 업데이트했음을 알았습니다. 그래서 그것이 문제인지 궁금합니다. 제 경우에는 metalink URL을 컬링하고 실패한 것을 확인했으며 --tlsv1 ( bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1170339 ) 과 함께 작동하는 것을 확인했습니다 . curl이 구식이라고 가정하고 업데이트했습니다. 그래서 이제 나는 NSS가 curl을 업데이트하지 않고 업데이트 될 수 있었는지 궁금합니다.
Paul

9

프록시를 통해 인터넷에 액세스하는지 확인한 다음 yum구성에 인터넷 프록시 주소를 추가 합니다.

더하다

proxy=http://ip:port

/etc/yum.conf


2
https 프록시도 지정해야합니다.
Markus

1
이것은 나를 위해 일했지만 추가로 다음 매개 변수를 사용했을 때만 :proxy_username=your_user proxy_password=your_passwd
MaggusK

7

연습 단계

다음 명령을 실행하면 HTTPS가 아닌 HTTP를 사용하도록 저장소가 업데이트됩니다.

sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

그러면 다음 명령으로 업데이트 할 수 있습니다.

yum -y update

나를 위해 일하는 유일한 솔루션! 다른 모든 것들은 아무것도 변경하지 않았습니다 (나는 epel 패키지가 필요합니다).
쿠로 네코

Cent OS 7.6에서 이것은sudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo
JamesThomasMoon1979

6

epel-release를 설치 한 후이 메시지 / 오류가 나타날 수 있습니다. 빠른 수정은 SSL 인증서를 업데이트하는 것입니다.

yum -y upgrade ca-certificates

인증서를 업데이트하는 동안에도 위의 오류가 발생할 수 있습니다. 그렇다면 epel다음 명령을 사용하여 저장소를 비활성화하십시오 .

yum -y upgrade ca-certificates --disablerepo=epel 

인증서가 업데이트되면 yum을 정상적으로 사용할 수 있으며 epel repo도 정상적으로 작동합니다. 다른 리포지토리에 대해 동일한 오류가 발생하는 경우 --disablerepo=<repo-name>플래그 에 대해 이름을 입력하십시오 .


참고 : 사용자 sudo가 아닌 경우 root사용하십시오.


1
즉 :) 나를 위해 최선의 대답
qingbo

5

이 솔루션으로이 문제를 해결했습니다.

이 파일을 변경하면 /etc/yum.repos.d/epel.repo

mirrorlist =이 URL https를 http로 변경

baseurl =이 URL https를 http로 변경


4

위의 모든 것이 저에게 효과가 없었지만 다음 명령을 사용하여 rpm 데이터베이스를 다시 빌드하면 작동했습니다.

sudo rpm --rebuilddb

도움을 주셔서 감사합니다.


1
이 일을하기 전에 사용 base을 대신 mirrorlist (허용 대답)에 있었다
텔모 멘텔 모타를

3

인터넷에 액세스 할 수없는 상자의 경우 epel저장소 를 제거 할 수 있습니다 .

yum remove epel-release --disablerepo=epel

실수로 제품 상자에 epel-release사용하여 설치했을 때 이런 일이 발생했습니다 rpm.


3

ca-certificates 패키지가 최신 버전 인 경우에도 동일한 문제가 발생했습니다. 미러 https://mirrors.fedoraproject.org/ 는 현재 DigiCert High Assurance EV Root CAca-bundle

$ grep -A 3 "DigiCert High" /etc/ssl/certs/ca-bundle.crt 
# DigiCert High Assurance EV Root CA
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3

내 경우 https 연결이 실패한 이유는 시스템 날짜가 DigiCert High Assurance EV Root CA(아직) 유효하지 않은 2002 년으로 설정 되었기 때문 입니다.

$ date
Di 1. Jan 11:10:35 CET 2002

시스템 시간을 변경하면 문제가 해결되었습니다.


이 답변에 감사드립니다. 당신 선생님 전설이다
토니 세피아

2

/etc/yum.repository.d/로 이동하여 해결했습니다. 내 경우에는 baseurl로 mirrorlist와 uncomenting 항목을 주석 처리합니다. 뿐만 아니라 sslverify = false가 추가되었습니다.

/server/637549/epel-repo-for-centos-6-causing-error


뿐만 아니라 URL을 archives.fedoraproject.org/pub/archive/fedora/linux/releases/…(federa.repo 및 fedora-updates.repo의 경우)로 변경합니다. 앞의 "아카이브"및 경로에 "술집 / 아카이브") 참고
dagelf

냠 냠-utils를 --disablerepo = EPEL && 냠 - 설정 - 관리자 --save --setopt = epel.sslverify = 거짓 -y 설치
안드레이 Sedoi

2

epel.repo 파일의 https 항목을 http로 변경하여이 문제를 해결했습니다.


1

내 경우에는 mirrorlist를 주석 처리하면 오류가 해결되었지만 repo도 작동하지 않았으므로 수동으로 오른쪽 baseurl /etc/yum.repos.d/epel.repo을 아래와 같이 가리 킵니다.

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://iad.mirror.rackspace.com/epel/7Server/x86_64/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://iad.mirror.rackspace.com/epel/7Server/x86_64/debug/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://iad.mirror.rackspace.com/epel/7Server/SRPMS/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1


0

미러리스트 URL을 https에서 http로 변경하면 문제가 해결되었습니다.


0

다음과 같이 내 수정 :

yum install elfutils-default-yama-scope-0.168-8.el7.noarch --disablerepo=epel
yum install nss-pem -disablerepo=epel
yum reinstall ca-certificates --disablerepo=epel
yum clean all
rm -rf /var/cache/yum
yum update`

0

이것들 중 어느 것도 나를 위해 일하지 않았습니다 (수동으로 repo 파일을 편집하는 것과 같은 해킹을 시도하지 않았습니다).

그러나 그것은 간단한 후에 작동했습니다 yum update -y


0

또 다른 가능한 원인은 아키텍처가 지원되지 않기 때문입니다. 나는 CentOS VM이 제공되었고 EPEL을 설치하고 싶었지만 평생 할 수 없었기 때문에 이것을 만났습니다.

VM은 더 이상 EPEL에서 지원하지 않는 아키텍처 인 CentOS 7 i386이었습니다. 이 경우 유일한 해결책은 다시 설치하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.