l'aggiornamento yum non riesce: errore: impossibile recuperare i metadati del repository (repomd.xml) per il repository ...


34

Sto usando CentOS 6.3. Quando provo ad aggiornare il mio sistema con yum ho questo messaggio:

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

My 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

1
da ieri hai fatto così tante domande sui bug con la connettività Internet yum e problemi di percorso, hai appena considerato di reinstallare il tuo sistema? Sembra piuttosto
— fottuto

Devi prima risolvere la connettività Internet. La reinstallazione potrebbe essere un'opzione. Oppure prova ad avviare un sistema di live CD.
— peterph

Ho risolto il problema eliminando la cartella "yum.repos.d" e ricreato un file example.repo. aggiungi i dettagli del repository da qui: linuxquestions.org/questions/linux-newbie-8/…
— Yang

Risposte:


33

Il tuo ca-bundles.crt è troppo vecchio. Una soluzione alternativa fino all'aggiornamento a una versione più recente di CentOS sarebbe quella di modificare epel.repo dall'uso di https in http

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

2
+1 Spot on. Ma non dovresti aver bisogno di aggiornare CentOS per acquisire l'ultimo pacchetto di certificati (a causa del supporto a lungo termine di CentOS). yum update ca-certificatesdovrebbe fare il trucco (dopo aver disabilitato https per epel o aver preso direttamente rpm e aver aggiornato usando rpm).
— Kev,

@kev Beh, in teoria il tuo commento dovrebbe funzionare, ma purtroppo per me quando chiedo yum to update ca-certificatesottengo "Nessun pacchetto contrassegnato per l'aggiornamento" . In effetti quando lo faccio yum list | grep ca-certificatesottengo questo ca-certificati.noarch 2010.63-3.el6_1.5 come l'ultima versione sulla mia scatola CentOS 6.4. Sulla mia scatola CentOS 6.5 ottengo ca-certificati.noarch 2014.1.98-65.1.el6 Quindi sembra che sia necessario aggiornare almeno a CentOS 6.5 per ottenere gli ultimi certificati CA da CentOS, oppure ottenere manualmente i giri / min e installarlo .
— RobertDeRose,

@Kev Rob l'ha inchiodato. Molte aziende sono ancora in distrazioni molto vecchie. Attualmente sto lavorando su CentOS4.5 per un cliente e devo fare molte cose che normalmente non dovrebbero essere fatte.
— SgtPooki,

@RobD Sembra che OP stia usando http e quando ho riscontrato lo stesso problema anche io stavo usando http non https. Quindi sono solo curioso di sapere come dedurre che i certificati root ssl ca essendo obsoleti sia la causa principale?
— Dwight Spencer,

@DwightSpencer scusa, non capisco la tua domanda, cos'è OP? Ho dedotto che i miei certificati ssl ca root erano il problema perché sulla mia vecchia scatola CentOS 6.2 non potevo aggiornare, ma sulla mia scatola 6.6 potevo. Il semplice passaggio da https a http ha risolto il problema. Ho più o meno ristretto a quello.
— RobertDeRose,

16

Prova questo (deve essere root)

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

Guarda la modifica
— az93,

Sìì! Ha funzionato :)
— facundofarias il

1
Ha funzionato perfettamente e questo è molto più pulito di alcune altre risposte su questo thread.
— Dwight Spencer,

Ho dovuto aggiungere un yum update --disableplugin fastestmirrorpassaggio lì perché uno di quei passaggi (probabilmente yum clean) ha rimosso le informazioni necessarie per contattare i mirror. Gli ho detto "no" quando si è offerto di fare l'aggiornamento, poi ho fatto una cosa semplice yum updatee questa volta è riuscito. Credo che il primo passaggio abbia fatto scaricare una nuova lista di mirror dal sito principale di CentOS, che ha permesso al secondo passaggio di avere successo.
— Warren Young,


3

Il problema per me era che i repository usano https e che non funziona.

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

Questo mostra in quali file repo viene utilizzato https. Aprili in un editor e rendilo http. Per me ciò ha risolto il problema.


3

Tutte le risposte precedenti non hanno funzionato per me, ma eseguendo i seguenti comandi ha funzionato:

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

Che ho ottenuto da questo post sul blog .




1

Se esegui "yum update" o "yum upgrade" senza altri parametri, verranno aggiornati tutti i pacchetti sul tuo sistema, incluso yum, quindi non è necessario aggiornare yum da solo a meno che tu non stia aggiornando le versioni Fedora o CentOS.


In effetti ho bisogno di installare ftp. Ma quando uso yum install ftp vado con lo stesso problema.
— Az93,

1

Ho installato CentOS tramite Vagrant, ed è arrivato con la /etc/yum.repos.d/directory prepopolata con cose come puppet.repo. Ecco puppet.repoed altri repository inclusi non puntavano a risorse valide.

Quindi li ho rimossi e ora funziona.


1

Nel mio caso, il che è davvero eccezionale, la posizione del file XML che contiene le informazioni sul repository viene modificata.

  • Ho una connessione a Internet ( ping 8.8.8.8funziona)
  • Quando eseguo yum upgrade, dopo molti 404errori, posso ottenere i nomi dei pacchetti che devo scaricare, ma non riesco a scaricarli.

E, quando sfoglio il primo URL repository 404, che è:

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

e lo vedo assente. Andando nella sua cartella principale http://mirror.airenetworks.es/CentOS/7.4.1708/readmeottengo questo:

Questa directory (e versione di CentOS) è obsoleta. Per gli utenti normali, dovresti usare / 7 / e non /7.4.1708/ nel tuo percorso. Si prega di consultare queste FAQ relative allo schema di rilascio di CentOS:

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

Se sai cosa stai facendo e vuoi assolutamente rimanere al livello 7.4.1708, vai su http://vault.centos.org/ per i pacchetti.

Tieni presente che il 7.4.1708 non riceve più aggiornamenti né correzioni di sicurezza.

Quindi, devo tornare /etc/yum.repo.da modificare i file.

Io ho:

[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

Sospetto che $releasevernon sia più in uso, quindi posso provare cambiandolo in 7: (ricordati di scappare &con \)

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

possiamo ottenere un elenco di file:

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/

Quindi, possiamo impostare la variabile in questo modo:

  1. Apri il /etc/yum.repo.d/CentOS-Base.repo
  2. Nella [base]sezione, definire: releasever=7.
  3. Rieseguire yum upgradeo yum install xxx.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.