yum error "Impossible de récupérer metalink pour le référentiel: epel. Veuillez vérifier son chemin et réessayer. »Mise à jour de ContextBroker


106

J'essaye de mettre à jour Orion ContextBroker en utilisant la commande yum install contextBroker. Malheureusement, j'obtiens l'erreur suivante:

Plugins chargés: rapidmirror, refresh-packagekit, chargement de sécurité

vitesses de miroir à partir du fichier hôte mis en cache

Erreur: impossible de récupérer le lien métallique pour le référentiel: epel. Veuillez vérifier son chemin et réessayer

Qu'est-ce qui ne va pas?


3
Étape de dépannage suggérée: votre système le peut-il curl -v https://mirrors.fedoraproject.org?
mwfearnley

La réponse sélectionnée est une solution de contournement qui ne résout pas le problème racine et, en fait, l'installation du package peut continuer à échouer. Je suggère de désélectionner la meilleure réponse et de laisser le décompte des votes trier les réponses en fonction de celle qui a fonctionné pour la plupart des gens.
Paul

Réponses:


125

J'ai résolu ce problème en éditant à la fois /etc/yum.repos.d/epel.repoet les /etc/yum.repos.d/epel-testing.repofichiers, en commentant toutes les entrées commençant par mirrorlist=...et en décommentant toutes les entrées commençant par baseurl=....


Dans mon cas, ce correctif a permis à yum de télécharger avec succès les métadonnées pour le repo epel, mais essayer d'installer des packages a échoué avec [Errno 14] Peer cert cannot be verified or peer cert invalid. Le correctif correct était de mettre à jour les certificats CA, comme dans la réponse ci-dessous.
bain

3
commenter toutes les entrées commençant par metalink = ... et décommenter toutes les entrées commençant par baseurl = .... a fonctionné pour moi sur RHEL7.1
Anurag Singh

1
J'ai essayé votre méthode, puis yum clean all && yum updatej'ai travaillé. Mais pas complètement, dit-il, epel-release-7-11.noarch: [Errno 256] No more mirrors to tryetc. J'ai donc essayé yum update curl --disablerepo=epelcomme la sbétharie le suggérait, et j'ai réessayé yum clean all && yum update, ça a finalement marché maintenant.
Hosi Golden

A travaillé pour moi. Merci beaucoup.
tarekahf

3
Je n'avais pas de mirrorlist=lignes, mais j'avais des metalink=lignes, et celles-ci devaient être commentées.
JellicleCat

171

Vous aviez juste besoin de mettre à jour le package de certificats CA. Avant cela, désactivez simplement tous les dépôts avec https qui échouent. C'est pourquoi une solution avec commenter la liste miroir ou utiliser http à la place https fonctionnerait également.

Par exemple, si vous devez désactiver uniquement le repo epel:

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

Cela aidera également wget, curl et tout ce qui utilise des certificats SSL.


9
Cela devrait être accepté comme la bonne réponse, car il diagnostique la source réelle du problème, plutôt que de simplement fournir une solution de contournement.
Horatio Alderaan

1
J'ai testé cela sur la boîte bento CentOS 6.5 et cela rend les choses un peu plus fiables lors de l'exécution yum clean all && yum makecache. Cependant, cela échoue encore parfois. L'ajout d'une nouvelle tentative à mon script l'a rendu encore plus fiable. Je soupçonne que certains miroirs ne sont pas fiables et qu'une nouvelle tentative peut donner un autre miroir qui fonctionne. Donc, si au début cela ne réussit pas, essayez à nouveau!
TrinitronX

1
Eh bien, cela vient de l'expérience, et oui, le message est cryptique :)
XoR

2
assurez-vous que si vous êtes derrière un proxy d'entreprise pour le définir également pour https, par exempleexport https_proxy=<your proxy>
Markus

3
epel-repo RPM doit avoir des certificats ca avec une dépendance !!
Stéphane

59

utilisez cette commande:

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

ou utilisez la commande

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

allez à la ligne numéro 4 et changez l'URL de

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

à

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

Merci; cela a juste fonctionné pour moi après avoir essayé de nombreuses autres solutions documentées (mon erreur était, Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again). Ma question est la suivante: pourquoi cela a-t-il fonctionné? est-ce dû à un problème de configuration sur le site du référentiel?
CODE-REaD

1
Probablement pas le serveur HTTPS, mais la prise en charge côté client HTTPS sur les systèmes peut devenir obsolète, car les autorités de certification racine ne sont pas mises à jour ou les bibliothèques SSL ne prennent pas en charge les nouveaux chiffrements.
mwfearnley

Après de nombreux essais, résolu avec votre commande sed. Copier + Coller, c'est ce dont j'avais besoin car en général, je ne suis pas responsable de ce genre de choses, j'installe simplement un ordinateur de test qui ne sera utilisé que par moi pour tester certaines mises à jour de la base de données.
EAmez

1
Dans Cent OS 7.6, c'estsudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo
JamesThomasMoon1979

19

Pour mon cas, les commentaires mirrorlistet les entrées sans baseurlaccord ne fonctionnent pas. J'ai remarqué que le problème httpsvenait de l'iniside des .repofichiers fedora. Je l'ai résolu en entrant /etc/yum.repository.det en les remplaçant tous httpspar httpdes fichiers .repo différents. Ça a marché!!


Cela a probablement à voir avec un proxy défini dans /etc/yum.conf (proxy d'entreprise)?
Christof Kälin

19

Je suppose que cela devrait fonctionner. J'ai résolu mon problème avec ça.

$ sudo miam nettoie tout

$ sudo yum --disablerepo = "epel" mise à jour nss


3
Cela fonctionne pour Centos 6.8. Merci
neo

1
Cela a également résolu mon problème, je suis curieux de savoir pourquoi l' update nssaide à résoudre ce problème?!
KLajdPaja

12

La mise à jour de curl a fonctionné pour nous. D'une manière ou d'une autre, yum utilise curl pour ses transactions.

yum update curl --disablerepo=epel

Votre réponse est meilleure que la réponse acceptée, il n'est pas nécessaire de changer epel.repo ou epel-testing.repo.
Hosi Golden

J'ai retracé cela et mis à jour curl avant de lire ceci ou certaines des autres réponses. Je vois que la mise à jour de curl a également mis à jour nss ... donc je me demande si c'était le problème. Dans mon cas, j'ai bouclé l'URL metalink, j'ai vu qu'elle échouait et j'ai vu qu'elle fonctionnait avec --tlsv1 ( bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1170339 ). La boucle supposée était obsolète et l'a mise à jour. Alors maintenant, je me demande si NSS aurait pu être mis à jour sans mettre à jour curl et cela aurait fonctionné ou non.
Paul

9

Vérifiez si vous accédez à Internet via un proxy, puis ajoutez votre adresse proxy Internet à yum configuration.

ajouter

proxy=http://ip:port

à /etc/yum.conf


2
assurez-vous que le proxy https est également spécifié.
Markus

1
cela a fonctionné pour moi, mais uniquement avec le paramètre supplémentaire suivant:proxy_username=your_user proxy_password=your_passwd
MaggusK

7

Procédure pas à pas

L'exécution de la commande suivante mettra à jour le référentiel pour utiliser HTTP plutôt que HTTPS:

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

Vous devriez alors pouvoir mettre à jour avec cette commande:

yum -y update

La seule solution qui fonctionne pour moi! Tous les autres n'y ont rien changé (j'ai besoin de packages epel).
KuroNeko

Dans Cent OS 7.6, c'estsudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo
JamesThomasMoon1979

6

Vous pouvez rencontrer ce message / cette erreur après avoir installé epel-release. La solution rapide consiste à mettre à jour vos certificats SSL:

yum -y upgrade ca-certificates

L'erreur ci-dessus peut également se produire lors de la mise à jour du certificat.Si tel est le cas, désactivez simplement le epeldépôt, c'est-à-dire utilisez la commande suivante:

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

Une fois les certificats mis à jour, vous pourrez utiliser yum normalement, même le repo epel fonctionnera correctement. Si vous obtenez la même erreur pour un dépôt différent, mettez simplement son nom contre l' --disablerepo=<repo-name>indicateur.


Remarque : à utiliser sudosi vous n'êtes pas l' rootutilisateur.


1
C'est la meilleure réponse pour moi :)
qingbo

5

J'ai résolu ce problème par cette solution.

vous venez de changer dans ce fichier /etc/yum.repos.d/epel.repo

mirrorlist = changer cette URL https en http

baseurl = changer cette URL https en http


4

Tout ce qui précède n'a pas fonctionné pour moi, mais une reconstruction de la base de données rpm, avec la commande suivante, a fonctionné:

sudo rpm --rebuilddb

Merci à tous pour l'aide.


1
J'ai dû utiliser baseurl au lieu de mirrorlist (réponse acceptée) avant de faire cela
Telmo Pimentel Mota

3

Pour les boîtiers qui n'ont pas d'accès Internet, vous pouvez supprimer le epelréférentiel:

yum remove epel-release --disablerepo=epel

Ce qui est arrivé à moi comme j'ai accidentellement installé à l' epel-releaseaide rpmd'une boîte de prod.


3

J'ai rencontré le même problème même si le package ca-certificates est à jour. Le miroir https://mirrors.fedoraproject.org/ est actuellement signé par DigiCert High Assurance EV Root CAlequel est inclus dans monca-bundle

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

La raison pour laquelle les connexions https ont échoué dans mon cas, était que la date du système a été fixée à l'année 2002 où le DigiCert High Assurance EV Root CAn'est pas (encore) valide.

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

La modification de l'heure système a résolu le problème.


Merci beaucoup pour cette réponse. You Sir are a legend
Tony Sepia

2

Je l'ai résolu en allant dans /etc/yum.repository.d/. Pour mon cas, je commente la liste des miroirs et les entrées sans compromis avec baseurl. ainsi que sslverify = false ajouté.

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


Non seulement cela, mais aussi en changeant les URL en archives.fedoraproject.org/pub/archive/fedora/linux/releases/… (pour fedora.repo et fedora-updates.repo). Notez les "archives" devant et le "pub / archive" dans le chemin)
dagelf

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

2

J'ai contourné ce problème en modifiant les entrées https dans le fichier epel.repo en http.


1

Dans mon cas, lorsque je commente la liste miroir, l'erreur s'est échappée mais le repo ne fonctionnait pas non plus, alors je pointe manuellement le baseurl droit /etc/yum.repos.d/epel.repocomme ci-dessous

[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

Changer l'URL de la liste miroir de https à http a résolu le problème pour moi.


0

Correction du mien comme ceci:

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

Aucun de ceux-ci n'a fonctionné pour moi (je n'ai même pas essayé les hacks comme l'édition manuelle du fichier de dépôt).

Cependant, cela a fonctionné après un simple yum update -y


0

Une autre cause possible est que votre architecture n'est pas prise en charge. J'ai rencontré ce problème parce que j'avais reçu une machine virtuelle CentOS, que je voulais installer EPEL et que je ne pouvais pas le faire toute ma vie.

Il s'avère que la VM était CentOS 7 i386, qui est une architecture qui n'est apparemment plus prise en charge par EPEL. Je suppose que le seul remède dans ce cas est de réinstaller.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.