web-dev-qa-db-fra.com

la mise à jour yum échoue: Erreur: impossible de récupérer les métadonnées du référentiel (repomd.xml) pour le référentiel…

J'utilise CentOS 6.3. Lorsque j'essaie de mettre à jour mon système avec yum, j'ai ce message:

yum update

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ircam.fr
 * centosplus: miroir.univ-paris13.fr
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum clean all

Loaded plugins: fastestmirror
Cleaning repos: CactiEZ addons base centosplus extras pgdg93 update
Cleaning up Everything
Cleaning up list of fastest mirrors

yum check

Loaded plugins: fastestmirror
check all

yum erase apf

Loaded plugins: fastestmirror
Setting up Remove Process
No Match for argument: apf
Determining fastest mirrors
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
CactiEZ                                                | 2.9 kB     00:00
CactiEZ/primary_db                                     |  13 kB     00:00
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum upgrade

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

Mon yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
35
az93

Vos ca-bundles.crt sont trop vieux. Une solution de contournement jusqu'à la mise à niveau vers une version plus récente de CentOS consisterait à modifier epel.repo de l'utilisation de https à http

Sudo sed -i 's/https/http/g' /etc/yum.repos.d/epel.repo
34
RobertDeRose

Essayez ceci (doit être root)

yum clean all
yum check
yum erase apf
yum update ca-certificates
yum upgrade
16
SHW

Tapez " http://mirror.centos.org/centos/6 " sur votre navigateur, et voyez, "addons" n'existe pas.

alors essayez yum --disablerepo=addons update

6
Amauche

Le problème pour moi était que les dépôts utilisent https et cela ne fonctionne pas.

cd /etc/yum.repos.d/
grep -RFi "https" *

Cela montre dans quels fichiers de dépôt https est utilisé. Ouvrez-les dans un éditeur et rendez-le http. Pour moi, cela a résolu le problème.

3
SPRBRN

Toutes les réponses précédentes n'ont pas fonctionné pour moi, mais l'exécution des commandes suivantes a fonctionné:

$ Sudo yum remove centos-release-SCL
$ Sudo yum update # Update to CentOS 6.8
$ Sudo yum install centos-release-scl
$ Sudo yum update

Ce que j'ai obtenu de ce billet de blog .

3
Roy Hinkley

Essayez de suivre.

cd /etc/yum/yum.repos.d

mv dries.repo dries.repo.bak

Ou recherchez le fichier qui a http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml et déplacez-le.

Encore une fois,

yum update
2
Siva Mandadi

Si vous utilisez 6.5, je ne sais pas pourquoi, mais le répertoire 6.5 n'existe pas dans le dépôt officiel yum pour centOS. Tous les colis renverront un code d'état 404

Si vous essayez ceci: http://mirror.centos.org/centos/ 6.5 /os/x86_64/Packages/php-pear-1.9.4-4.el6.noarch.rpm vous obtiendrez un 404, mais si vous essayez la version 6.6: http://mirror.centos.org/centos/ 6.6 /os/x86_64/Packages/php-pear-1.9.4-4.el6.noarch.rpm cela fonctionne.

2
Jefferson Souza

Si vous exécutez "mise à jour yum" ou "mise à niveau yum" sans aucun autre paramètre, tous les packages de votre système, yum compris, seront mis à niveau, il n'est donc pas vraiment nécessaire de mettre à jour yum seul, sauf si vous mettez à niveau les versions Fedora ou CentOS.

1
Ankur Loriya

J'ai installé CentOS via Vagrant, et il est venu avec le /etc/yum.repos.d/ répertoire pré-rempli avec des choses comme puppet.repo. Et voilà, puppet.repo et les autres repos inclus ne pointaient pas vers des ressources valides.

Je les ai donc supprimés et miam fonctionne maintenant.

1
David West

Dans mon cas, ce qui est vraiment exceptionnel, l'emplacement du fichier XML qui contient les informations de mise en pension est modifié.

  • J'ai une connexion Internet (ping 8.8.8.8 travaux)
  • Quand je lance yum upgrade, après beaucoup de 404 erreur, je peux obtenir les noms des packages que je dois télécharger, mais je ne peux pas les télécharger.

Et, lorsque je navigue dans la première URL 404 repo, qui est:

http://mirror.airenetworks.es/CentOS/7.4.1708/os/x86_64/repodata/repomd.xml

et je le vois absent. Accéder à son dossier parent http://mirror.airenetworks.es/CentOS/7.4.1708/readme J'ai compris:

Ce répertoire (et la version de CentOS) est obsolète. Pour les utilisateurs normaux, vous devez utiliser/7/et non /7.4.1708/ dans votre chemin. Veuillez voir ceci FAQ concernant le schéma de publication de CentOS:

https://wiki.centos.org/FAQ/General

Si vous savez ce que vous faites et que vous souhaitez absolument rester au niveau 7.4.1708, accédez à http://vault.centos.org/ pour les packages.

Veuillez garder à l'esprit que 7.4.1708 ne reçoit plus de mises à jour ni de correctifs de sécurité.

Donc, je dois retourner à /etc/yum.repo.d pour modifier les fichiers.

J'ai:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&Arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&Arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Je soupçonne que $releasever n'est plus utilisé, je peux donc tester en le changeant en 7 :( n'oubliez pas de vous échapper & avec \)

curl http://mirrorlist.centos.org/?release=7\&Arch=x86_64\&repo=os\&infra=Arch

nous pouvons obtenir une liste de fichiers:

ftp://ftp.cesca.cat/centos/7.5.1804/os/x86_64/
http://ftp.rediris.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cica.es/CentOS/7.5.1804/os/x86_64/
http://centos.mirror.minorisa.net/7.5.1804/os/x86_64/
http://repo.nixval.com/CentOS/7.5.1804/os/x86_64/
http://centos.uvigo.es/7.5.1804/os/x86_64/
http://ftp.uma.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cixug.es/CentOS/7.5.1804/os/x86_64/
http://mirror.airenetworks.es/CentOS/7.5.1804/os/x86_64/
http://mirror.gadix.com/centos/7.5.1804/os/x86_64/

Donc, nous pouvons définir la variable comme ceci:

  1. Ouvrez le /etc/yum.repo.d/CentOS-Base.repo
  2. Dans le [base] section, définissez: releasever=7.
  3. Relancez yum upgrade ou yum install xxx.
1
WesternGun