EPELリポジトリメタデータをプルできません


20

このドキュメントに従ってScientific LinuxにNginxをインストールすると失敗します。

[vagrant@localhost ~]$ sudo su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epe
l/6/x86_64/epel-release-6-8.noarch.rpm'
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch
.rpm
warning: /var/tmp/rpm-tmp.gdSOR9: Header V3 RSA/SHA256 Signature, key ID 0608b89
5: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
[vagrant@localhost ~]$ sudo yum install nginx
Loaded plugins: security
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Pl
ease verify its path and try again
[vagrant@localhost ~]$

バージョン情報

[vagrant@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Thu Nov 21 13:35:52 CST
 2013 x86_64 x86_64 x86_64 GNU/Linux
[vagrant@localhost ~]$ cat /etc/*{release,version}
Scientific Linux release 6.5 (Carbon)
Scientific Linux release 6.5 (Carbon)
cat: /etc/*version: No such file or directory
[vagrant@localhost ~]$

注: sudo yum update -y nginxのインストールを開始する前に発行された

他のパッケージのインストールは無効です

[vagrant@localhost ~]$ sudo yum install vim -y
Loaded plugins: security
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Pl
ease verify its path and try again
[vagrant@localhost ~]$

URLGRABBERデバッガーログ

2014-08-03 14:22:44,437 attempt 1/10: https://mirrors.fedoraproject.org/metalink
?repo=epel-6&arch=x86_64
INFO:urlgrabber:attempt 1/10: https://mirrors.fedoraproject.org/metalink?repo=ep
el-6&arch=x86_64
2014-08-03 14:22:44,438 opening local file "/var/cache/yum/x86_64/6.5/epel/metal
ink.xml.tmp" with mode wb
INFO:urlgrabber:opening local file "/var/cache/yum/x86_64/6.5/epel/metalink.xml.
tmp" with mode wb
* About to connect() to mirrors.fedoraproject.org port 443 (#0)
*   Trying IP... * connected
* Connected to mirrors.fedoraproject.org (IP) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* NSS error -8018
* Closing connection #0
* Problem with the SSL CA cert (path? access rights?)
2014-08-03 14:22:50,071 exception: [Errno 14] PYCURL ERROR 77 - "Problem with th
e SSL CA cert (path? access rights?)"
INFO:urlgrabber:exception: [Errno 14] PYCURL ERROR 77 - "Problem with the SSL CA
 cert (path? access rights?)"
2014-08-03 14:22:50,072 retrycode (14) not in list [-1, 2, 4, 5, 6, 7], re-raisi
ng
INFO:urlgrabber:retrycode (14) not in list [-1, 2, 4, 5, 6, 7], re-raising
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Pl
ease verify its path and try again

nginxをインストールする前後にyum更新を出力する

[vagrant@localhost ~]$ sudo yum update -y
Loaded plugins: security
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Pl
ease verify its path and try again
[vagrant@localhost ~]$

yum --disablerepo = "epel"アップデート

[vagrant@localhost ~]$ sudo yum --disablerepo="epel" update
Loaded plugins: security
Setting up Update Process
No Packages marked for Update

1
yum update最初に試して、何が起こるか見てください。
garethTheRed 14

問題は、nginxのインストールを開始する前にこのコマンドを実行した後持続
030

でインストールを実行してみてくださいURLGRABBER_DEBUG=1 yum install nginx 2> debug.log。これにより、で大量のデバッグ情報が作成されますが、debug.log失敗した場所で解決できる場合があります。
garethTheRed

URLGRABBERデバッグログが追加されました
030

@garethTheRedは正しいと思います。リポジトリを追加した後、リポジトリから提供されたパッケージをクエリで取得できるように、リポジトリを初期化する必要があります。
バレンティンバジラミ

回答:


20

以下が失敗した場合:

yum check-update

しかし:

yum --disablerepo="epel"  check-update

動作し、実行します:

URLGRABBER_DEBUG=1 yum check-update 2> debug.log

確認してくださいdebug.log

PYCURL ERROR 77 - "Problem with the SSL CA cert (path? access rights?)"

このメッセージが見つかった場合は、次を試してください。

yum --disablerepo="epel" reinstall ca-certificates

それでも問題を解決できない場合は、CA証明書を更新する必要があります。

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

それでも問題を解決できない場合は、現在のCA証明書をバックアップします。

cp /etc/pki/tls/certs/ca-bundle.crt /root/

そして実行:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt

説明

ログには、システムのSSL証明書に関するエラーが表示されます。

システム上のCA証明書バンドルが何らかの理由で破損している可能性があり、yum -disablerepo="epel" reinstall ca-certificates上記のコマンドは単に新しいバージョンで上書きします。他のすべてのリポジトリが機能しているため、これが答えになるとは考えられません。SSLに重大な問題がある場合、すべてのリポジトリが失敗します。

上記のcurl...コマンドは、システムのCA証明書バンドルを新しいバージョンに置き換えます。CA証明書バンドルには、システムが信頼するすべてのルートCA証明書が含まれています。

この場合、EPELリポジトリには、システムが信頼しない新しいSSL証明書(新しいルートCAによって署名された)があります。CentOSリポジトリは、わずかに古い証明書で引き続き機能します。


33

問題は、nssパッケージが古すぎることです。この古いバージョンcurlは、古いバージョンのnssライブラリを使用するFedoraサイトと通信できません。

nssバージョンを最新に更新するだけで、EPELリポジトリの更新に関する問題が解決します。

$ sudo yum clean all 
$ sudo yum --disablerepo="epel" update nss

注:このバージョンのnss-3.14.3-4.el6_4.x86_64はEPELリポジトリで正常に動作します。


2
CentOSに6に私のために働いたこの1
NorbyTheGeek

1
回答を投稿していただきありがとうございますが、私の場合は問題が解決しませんError: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try again
030 14年

驚くばかり!
Centos

4

企業プロキシの背後で作業しているときに同じエラーが発生しました。証明書を更新するか、httpを使用しても解決しませんでした。それを修正するには、各epelリポジトリにプロキシ設定を追加する必要がありました。

for x in /etc/yum.repos.d/epel*; do sed -i '/^\[/ a proxy=http://YOUR.PROXY.HERE:8080' $x; done

もちろん、独自のプロキシの詳細を挿入します。

リポジトリファイルは次のようになります。

[epel]
proxy=http://YOUR.PROXY.HERE:8080
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

[epel-debuginfo]
proxy=http://YOUR.PROXY.HERE:8080
...

2

私は同じ問題を抱えていたので、httpsシンプルに変更して修正しましたhttp

これは完全なソリューションではありませんが、セキュリティのニーズによっては適切な回避策になる場合があります。


1
これは本当に質問に答えません。別の質問がある場合は、質問するをクリックして質問できます。十分な評判を得たら、この質問により多くの注意を引くために賞金追加することもできます。
ヨルダン

1
@jordanm主な問題には影響しませんが、回避策があります。私にとっては大丈夫です。
ハウケレイジング

0

私は同じ問題を抱えていて、上記のすべての手順を試してみましたが、うまくいきませんでした。rootにログインせずにインストールしようとしたため、私がどれほど愚かであるかがわかりました。私のアカウントでさえsudoアクセスがありました。

sudo yum remove epel-release

su root

sudo yum install epel-release

CentOS 7の問題を修正しました

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