Tidak Dapat Menarik Metadata repositori EPEL

20

Menginstal Nginx di Scientific Linux sesuai dengan dokumentasi ini gagal:

[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 ~]$

Informasi versi

[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 ~]$

Catatan: sudo yum update -y dikeluarkan sebelum memulai instalasi nginx

Instalasi paket lain dinonaktifkan

[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 Debugger Log

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

Keluarkan pembaruan yum sebelum dan sesudah upaya menginstal nginx

[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" pembaruan

[vagrant@localhost ~]$ sudo yum --disablerepo="epel" update
Loaded plugins: security
Setting up Update Process
No Packages marked for Update
030
sumber
1
Coba yum updatedulu dan lihat apa yang terjadi.
garethTheRed
Masalah berlanjut setelah menjalankan perintah ini sebelum mulai menginstal nginx
030
Coba jalankan instalasi dengan URLGRABBER_DEBUG=1 yum install nginx 2> debug.log. Ini akan membuat sejumlah besar info debug masuk debug.log, tetapi Anda mungkin bisa mengetahui di mana ia gagal.
garethTheRed
URLGRABBER Debug Log telah ditambahkan
030
Saya pikir @garethTheRed benar. Setelah menambahkan repositori, Anda perlu menginisialisasi untuk dapat mengambil paket yang disediakan oleh repositori dalam pertanyaan.
Valentin Bajrami

Jawaban:

20

Jika yang berikut gagal:

yum check-update

tapi:

yum --disablerepo="epel"  check-update

bekerja, lalu jalankan:

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

dan periksa debug.log:

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

Jika pesan ini ditemukan, maka cobalah:

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

Jika itu gagal menyelesaikan masalah, maka Anda mungkin perlu memperbarui sertifikat-ca Anda:

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

Jika itu gagal menyelesaikan masalah, maka buat cadangan sertifikat CA Anda saat ini:

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

dan lari:

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

Penjelasan

Log menunjukkan kesalahan dengan sertifikat SSL sistem Anda.

Bundel sertifikat CA pada sistem Anda mungkin entah bagaimana menjadi rusak dan yum -disablerepo="epel" reinstall ca-certificatesperintah di atas hanya menimpa Anda dengan versi baru. Ini tidak mungkin menjadi jawaban karena semua repo lain bekerja - jika ada masalah SSL besar, maka semua repo akan gagal.

The curl...perintah di atas menggantikan sistem anda sertifikat CA bundel dengan versi yang lebih baru. Bundel sertifikat CA berisi semua sertifikat CA root yang dipercaya sistem Anda.

Dalam hal ini repo EPEL memiliki sertifikat SSL baru (ditandatangani oleh CA root baru) yang tidak dipercayai oleh sistem Anda. Repos CentOS terus bekerja dengan sertifikat yang sedikit lebih tua.

garethTheRed
sumber
33

Masalahnya adalah paket nss terlalu tua. Versi yang lebih lama ini tidak dapat berbicara dengan situs Fedora melalui curlyang menggunakan versi nss library yang lebih lama.

Cukup perbarui versi nss Anda ke yang terbaru, ini menyelesaikan masalah dengan pembaruan repo EPEL:

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

CATATAN: versi nss-3.14.3-4.el6_4.x86_64 ini berfungsi dengan baik dengan repositori EPEL.

Eugene Voronov
sumber
2
Yang ini bekerja untuk saya di Centos 6.
NorbyTheGeek
1
Terima kasih telah mengirim jawaban, tetapi dalam kasus saya masalahnya Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try againtetap ada.
030
Luar biasa! bekerja untuk saya menggunakan Centos 6
Dipandu33
4

Saya memiliki kesalahan yang sama ketika bekerja di belakang proxy perusahaan. Memperbarui sertifikat atau menggunakan http tidak membantu. Untuk memperbaikinya saya harus menambahkan pengaturan proxy ke masing-masing repo epel:

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

Masukkan detail proxy Anda sendiri tentu saja.

File repo saya sekarang terlihat seperti ini:

[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
...
Tolle
sumber
2

Saya memiliki masalah yang sama dan memperbaikinya dengan mengubahnya httpsmenjadi sederhana http.

Ini bukan solusi yang sempurna, tetapi mungkin solusi yang layak tergantung pada kebutuhan keamanan Anda.

vrushal patil
sumber
1
Ini tidak benar-benar menjawab pertanyaan. Jika Anda memiliki pertanyaan yang berbeda, Anda dapat menanyakannya dengan mengeklik Ajukan Pertanyaan . Anda juga dapat menambahkan hadiah untuk menarik lebih banyak perhatian ke pertanyaan ini setelah Anda memiliki reputasi yang cukup .
jordanm
1
@jordanm Tidak memengaruhi masalah utama tetapi mungkin bisa diatasi. Itu tidak masalah bagi saya.
Hauke ​​Laging
0

Saya memiliki masalah yang sama, mencoba semua langkah di atas tidak ada yang berhasil. Mengetahui betapa bodohnya saya karena saya mencoba menginstal tanpa login ke root. Bahkan kamu akun saya punya akses sudo.

sudo yum remove epel-release

su root

sudo yum install epel-release

Memperbaiki masalah saya di CentOS 7

Baru mengenal CentOS
sumber