Không thể kéo siêu dữ liệu kho lưu trữ EPEL


20

Cài đặt Nginx trên Science Linux theo tài liệu này không thành công:

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

Thông tin phiên bản

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

Lưu ý: sudo yum update -y đã được ban hành trước khi bắt đầu cài đặt nginx

Cài đặt các gói khác bị vô hiệu hóa

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

Nhật ký trình gỡ lỗi 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

Đầu ra yum cập nhật trước và sau khi cài đặt 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 = cập nhật "epel"

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

1
Hãy thử yum updateđầu tiên và xem những gì sẽ xảy ra.
garethTheRed

Vấn đề vẫn tồn tại sau khi thực hiện lệnh này trước khi bắt đầu cài đặt nginx
030

Hãy thử chạy cài đặt với URLGRABBER_DEBUG=1 yum install nginx 2> debug.log. Điều này sẽ tạo ra một lượng lớn thông tin gỡ lỗi trong debug.log, nhưng bạn có thể tìm ra nơi thất bại.
garethTheRed

Nhật ký gỡ lỗi URLGRABBER đã được thêm vào
030

Tôi nghĩ @garethTheRed là đúng. Sau khi thêm kho lưu trữ, bạn cần khởi tạo nó để có thể truy xuất các gói được cung cấp bởi kho lưu trữ trong quesiton.
Valentin Bajrami

Câu trả lời:


20

Nếu thất bại sau đây:

yum check-update

nhưng:

yum --disablerepo="epel"  check-update

hoạt động, sau đó chạy:

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

và kiểm tra debug.log:

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

Nếu thông báo này được tìm thấy, hãy thử:

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

Nếu điều đó không giải quyết được vấn đề, thì bạn có thể cần cập nhật chứng chỉ ca của mình:

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

Nếu điều đó không giải quyết được vấn đề, thì hãy sao lưu chứng chỉ CA hiện tại của bạn:

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

và chạy:

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

Giải trình

Nhật ký hiển thị lỗi với chứng chỉ SSL của hệ thống của bạn.

Gói chứng chỉ CA trên hệ thống của bạn bằng cách nào đó có thể đã bị hỏng và yum -disablerepo="epel" reinstall ca-certificateslệnh ở trên chỉ đơn giản ghi đè lên phiên bản mới của bạn. Đây không chắc là câu trả lời mặc dù tất cả các repos khác đang hoạt động - nếu có sự cố SSL lớn, thì tất cả các repos sẽ thất bại.

Các curl...lệnh trên thay thế chứng chỉ CA của hệ thống bó với một phiên bản mới hơn. Gói chứng chỉ CA chứa tất cả các chứng chỉ CA gốc mà hệ thống của bạn tin tưởng.

Trong trường hợp này, repo EPEL có chứng chỉ SSL mới (được ký bởi CA gốc mới) mà hệ thống của bạn không tin tưởng. Các repos CentOS tiếp tục hoạt động với các chứng chỉ hơi cũ của họ.


33

Vấn đề là với gói nss quá cũ. Phiên bản cũ hơn này không thể nói chuyện với trang Fedora thông qua curlđó sử dụng phiên bản cũ hơn của thư viện nss.

Chỉ cần cập nhật phiên bản nss của bạn lên phiên bản mới nhất, nó sẽ giải quyết vấn đề với bản cập nhật repo EPEL:

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

LƯU Ý: phiên bản nss-3.14.3-4.el6_4.x86_64 này hoạt động tốt với kho EPEL.


2
Cái này hoạt động với tôi trên Centos 6.
NorbyTheGeek

1
Cảm ơn bạn đã đăng một câu trả lời, nhưng trong trường hợp của tôi vấn đề Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try againvẫn tồn tại.
030

Tuyệt vời! làm việc cho tôi bằng cách sử dụng Centos 6
Guided33

4

Tôi đã có cùng một lỗi khi làm việc đằng sau một proxy công ty. Cập nhật chứng chỉ hoặc sử dụng http không giúp được gì. Để khắc phục, tôi phải thêm một cài đặt proxy cho mỗi repos epel:

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

Chèn chi tiết proxy của riêng bạn tất nhiên.

Các tập tin repo của tôi bây giờ trông như thế này:

[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

Tôi đã có cùng một vấn đề và sửa nó bằng cách thay đổi httpsthành đơn giản http.

Nó không phải là một giải pháp hoàn hảo, nhưng có thể là một cách giải quyết tốt tùy thuộc vào nhu cầu bảo mật của bạn.


1
Điều này không thực sự trả lời câu hỏi. Nếu bạn có một câu hỏi khác, bạn có thể hỏi nó bằng cách nhấp vào Đặt câu hỏi . Bạn cũng có thể thêm tiền thưởng để thu hút sự chú ý hơn cho câu hỏi này một khi bạn có đủ danh tiếng .
jordanm

1
@jordanm Không ảnh hưởng đến vấn đề chính nhưng có thể là vấn đề. Với tôi thì nó ổn rồi.
Hauke ​​Laging 30/1/2015

0

Tôi đã có cùng một vấn đề, đã thử tất cả các bước trên không có tác dụng. Phát hiện ra tôi đã ngu ngốc như thế nào vì tôi đã cố gắng cài đặt mà không đăng nhập vào root. Ngay cả tài khoản của tôi cũng có quyền truy cập sudo.

sudo yum remove epel-release

su root

sudo yum install epel-release

Đã sửa lỗi của tôi trên CentOS 7

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.