Come posso correggere gli errori "Impossibile trovare un baseurl valido per repo" su CentOS?


130

Ho finito di installare CentOS 6, ma quando ho provato a correre yum updateho ottenuto:

[root@centos6test ~]# yum update
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=i386&repo=os
error was 14: PYCURL ERROR 6 - "" Error: Cannot find a valid baseurl for repo: base

Perché sta succedendo questo? Come posso ripararlo?


3
Sei connesso alla rete? Puoi eseguire il ping su mirrorlist.centos.org?
Nikhil Mulley,

3
Cosa succede se corri curl 'http://mirrorlist.centos.org/?release=6&arch=i386&repo=os'?
camper

Risposte:


165

Per prima cosa devi connetterti, AFAIK CentOS 6 minimal imposta il tuo dispositivo di rete su ONBOOT=No, basta fare un dhclientcon i privilegi di amministratore per l'interfaccia di rete e dovresti essere attivo e funzionante:

$ sudo dhclient


1
Ho usato per configurare il client DHCP sul mio server remoto usando ssh in base a questa risposta e ora ho perso la connessione perché l'IP del server è cambiato dinamicamente ora e non pensavo a quel caso prima di applicare le modifiche. Questa risposta è fallace senza una descrizione sufficiente e porta a fraintendimenti.
Mojtaba Rezaeian,

4
Per la versione CentOS-7 (1611), ONBOOT=Nosi trova in un file simile /etc/sysconfig/network-scripts/ifcfg-enp0s3. Ho modificato quel file ONBOOT=yese il riavvio può risolverlo.
Johnny Wong,

2
Cambiando in ONBOOT=yesin /etc/sysconfig/network-scripts/ifcfg-enp0s3funziona per me, grazie @JohnnyWong
Evi Song

24

Ero stato alle prese con lo stesso problema su Centos6.4 x86_64. Ho ricevuto il seguente errore:

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" Error: Cannot find a valid baseurl for repo: base

Quindi, l'ho risolto con questi passaggi:

modifica interfaccia di rete. Nel mio caso, ho usato eth0CentOS 6.X In CentOS 7 è possibile utilizzare l'interfaccia "ensxxx".

vim /etc/sysconfig/network-scripts/ifcfg-eth0

aggiorna NM_CONTROLLED al n

ONBOOT=no
NM_CONTROLLED=no
BOOTPROTO=dhcp
DNS1=8.8.8.8
DNS2=4.2.2.2

riavviare l'interfaccia di rete

ifdown eth0
ifup eth0

1
ifcfg-eth0non esiste su CentOs 7
shailenTJ

@shailenTJ Basta toccarlo ~ funziona bene.
Eddie B,

1
@shailenTJ Hanno cambiato il sistema di denominazione, sarà enpXsX, sul mio sistema è enp0s3, ma probabilmente sarà leggermente diverso sul tuo.
MarcusJ,

Se fai "installazione minima", è "ifcfg-enpls0f0". Ma se si installa con una GUI, sostituisce quel file con qualcos'altro. Quindi si utilizza lo strumento delle impostazioni di rete nell'angolo in alto a destra della schermata del desktop principale.
Chris Dutrow,

4.2.2.2probabilmente non è la voce DNS che desideri!
Dolph,

14

Ho avuto lo stesso problema e si è risolto dopo aver modificato il /etc/yum.conffile. Se il server proxy è in esecuzione e l'IP fornito al server viene ignorato, ma sempre quando si apre nel browser (IE: è necessario contrassegnare il segno di spunta sul proxy ma non è necessario indicare nome utente e password).

Aggiungi questa riga seguente nella sezione principale del file /etc/yum.conf.

proxy=http://xxx.xxx.xx.xx:8080

cioè, sostituendo l'indirizzo proxy con proxy effettivo. Modificare anche il numero di porta se non è 8080.

Se il proxy richiede l'autenticazione, aggiungilo anche al file

proxy_username=username
proxy_password=password

9

Ho modificato il file /etc/yum.repos.d/CentOS-Base.repoe decommentato baseurl:

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

1
Grazie! Questo ha funzionato per me. Qualcuno sa perché questo è necessario o perché è stato commentato se è necessario?
Rich

9

Se il ping di un host noto con il suo nome (ad es. ping www.google.com) Restituisce ping: unknown hostma il ping di un ip (ad es. ping 8.8.8.8) Funziona correttamente, allora hai un problema di risoluzione DNS - prova ad aggiungere queste voci a /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

2

Ho avuto lo stesso problema ieri e ho passato ore a cercare di risolverlo. La soluzione è stata semplice.

Elimina il contenuto di /etc/yum.repos.d/remi.repoe quindi esegui

# yum update

E 'fatto! Il contenuto del file avvierà nuovamente il download e verrà configurato.


Dove si trova questo remi.repofile?

/etc/yum.repos.d/
Steven Kryskalla

Potrei essermi perso qualcosa, ma dove vedi che ha installato il repository di Remi? Ha chiaramente menzionato "Ho finito di installare CentOS6", dubito che i repository di Remi siano configurati. Potrei sbagliarmi ...
Spredzy,

Il problema è un file non valido in /etc/yum.repos.d- è remi.repoappena successo a essere il nome del file in questo caso
Curtis Mattoon

1

Ecco un'altra possibilità su cui mi sono imbattuto, causando questo problema:

Stavo usando un modulo Puppet per creare il repository EPEL per CentOS, il modulo stahnma / epel.

All'interno del modulo ha creato l'URL del repository con la variabile ::os_maj_versionche non esisteva nel mio elenco di fatti. Ho dovuto sostituirlo con :: operatingsystemmajrelease.

Quindi l'URL in non /etc/yum.repos.d/epel.repoera valido.


0

Mi è successo in un ambiente Centos 7 e sono stato in grado di risolverlo con il seguente comando:

yum clean all

Non avevo eseguito alcun comando yum per alcuni mesi, sembra che i metadati memorizzati nella cache siano diventati obsoleti.


0

Tutte le risposte precedenti sono corrette ma purtroppo non ha funzionato per me. Il comando seguente ha funzionato per me:

Attenzione, questo cancellerà tutti i repository Centos !!! usalo a tuo rischio e pericolo

mkdir ~/backup
cp -r /etc/yum.repos.d/Cen* ~/backup
rm /etc/yum.repos.d/Cen*

questo eliminerà il repository dal sistema
Saurabh Chandra Patel,

Probabilmente dovresti considerare di includere la procedura per ricreare i file di repository eliminati dopo averli eliminati tutti.
Kusalananda
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.