yumエラー「リ​​ポジトリのメタリンクを取得できません:epel。パスを確認してもう一度お試しください」ContextBrokerの更新


106

コマンドyum install contextBrokerを使用してOrion ContextBrokerを更新しようとしています。残念ながら、次のエラーが発生します。

ロードされたプラグイン:fastestmirror、refresh-packagekit、セキュリティLoading

キャッシュされたホストファイルからミラー速度

エラー:リポジトリのメタリンクを取得できません:epel。パスを確認して、もう一度お試しください

何がうまくいかないのでしょうか?


3
推奨されるトラブルシューティング手順:システムは使用できますcurl -v https://mirrors.fedoraproject.orgか?
mwfearnley

選択した回答は、根本的な問題を解決しない回避策であり、実際にはパッケージのインストールが引き続き失敗する可能性があります。最良の回答の選択を解除することをお勧めします。そして、投票数に、ほとんどの人に有効な回答への回答を並べ替えさせます。
ポール

回答:


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証明書を更新することでした。
2018年

3
metalink = ...で始まるすべてのエントリにコメントを付け、baseurl = ....で始まるすべてのエントリのコメントを外すと、RHEL7.1で動作しました
Anurag Singh

1
あなたの方法を試してみyum clean all && yum updateました。しかし、完全ではなかった、epel-release-7-11.noarch: [Errno 256] No more mirrors to tryなどと言った ので、私はyum update curl --disablerepo=epelスベサリアが示唆したように試して、yum clean all && yum updateもう一度試してみたが、ようやくうまくいった。
Hosi Golden

私のために働いた。どうもありがとう。
tarekahf

3
mirrorlist=行はありませんでしたが、行があり、metalink=コメントする必要がありました。
JellicleCat

169

ca-certificatesパッケージを更新する必要があるだけです。その前に、httpsで失敗しているすべてのリポジトリを無効にしてください。そのため、ミラーリストにコメントする、またはhttpsの代わりにhttpを使用するソリューションも機能します。

たとえば、epelリポジトリのみを無効にする必要がある場合:

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

これは、SSL証明書を使用するwget、curl、およびその他のものにも役立ちます。


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に依存関係があるはずです!!
ステファン・

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たりコメントを外したりするエントリはbaseurl機能しません。私は問題がhttpsfedora .repoファイルのiniside にあることに気づきました。私はそれを解決して、/etc/yum.repository.dすべてhttpshttp別の.repoファイルに置き換えました。うまくいきました!


これはおそらく/etc/yum.conf(会社のプロキシ)に設定されたプロキシに関係していますか?
ChristofKälin19年

19

これはうまくいくと思います。私はこれで私の問題を解決しました。

$ sudo yum clean all

$ 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を更新するとnssも更新されることがわかりました...それが問題だったのでしょうか。私の場合、metalink URLを丸め、失敗したこと、そして--tlsv1(bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1170339)で動作することを確認しました。カールが古くなっていると想定して更新しました。だから今私はNSSがcurlを更新せずに更新されたのではないか、それがうまくいったかどうか疑問に思いました。
ポール

9

プロキシ経由でインターネットにアクセスしているかどうかを確認し、インターネットプロキシアドレスをyum構成に追加します。

追加

proxy=http://ip:port

/etc/yum.conf


2
httpsプロキシも指定されていることを確認してください。
マーカス

1
これは私にとってはproxy_username=your_user proxy_password=your_passwd
うまくいきました

7

ウォークスルーステップ

次のコマンドを実行すると、HTTPSではなくHTTPを使用するようにリポジトリが更新されます。

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

その後、次のコマンドで更新できるはずです。

yum -y update

私のために働く唯一の解決策!他のすべてはそれに何も変更していません(私はepelパッケージが必要です)。
くろねこ2017

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リポジトリも正常に機能します。別のリポジトリで同じエラーが発生する場合は、--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
これを行う前に、ミラーリスト(承認された回答)ではなくbaseurlを使用する必要がありました
Telmo Pimentel Mota

3

インターネットにアクセスできないボックスの場合は、epelリポジトリを削除できます。

yum remove epel-release --disablerepo=epel

これは私が誤って製品ボックスにepel-releaseを使用rpmしてインストールしたときに起こりました。


3

ca-certificatesパッケージは最新ですが、同じ問題が発生しました。ミラーhttps://mirrors.fedoraproject.org/は現在署名さDigiCert High Assurance EV Root CAれており、ca-bundle

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

私の場合にhttps接続が失敗した理由は、システムの日付が2002年に設定されているためDigiCert High Assurance EV Root CAです。

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

システム時刻を変更すると、問題が修正されました。


この回答をありがとうございました。あなたは伝説です
トニー・セピア

2

/etc/yum.repository.d/に移動して解決しました。私の場合、baseurlを使用してミラーリストとコメントのないエントリをコメント化します。加えてsslverify = falseを追加しました。

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


それだけでなく、URLをarchives.fedoraproject.org/pub/archive/fedora/linux/releases/…(fedora.repoおよびfedora-updates.repoの場合)に変更します。前にある「アーカイブ」とパスにある「pub / archive」に注意してください)
dagelf 2015年

yum install -y yum-utils --disablerepo = epel && yum-config-manager --save --setopt = epel.sslverify = false
Andrei Sedoi


1

私の場合、ミラーリストをコメントアウトするとエラーは解消されましたが、レポも機能していなかったため/etc/yum.repos.d/epel.repo、以下のように手動で正しいbaseurlをポイントしました

[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

次のように私のを修正しました:

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はCentOS 7 i386であることが判明しました。これは明らかにEPELでサポートされなくなったアーキテクチャです。この場合の唯一の救済策は、再インストールすることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.