¿Cómo puedo solucionar los errores "no se puede encontrar una baseurl válida para repos" en CentOS?

130

Terminé de instalar CentOS 6, pero cuando intenté ejecutar yum updateobtuve:

[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

¿Por qué está pasando eso? ¿Cómo puedo arreglarlo?

dirtyhandsphp
fuente
3
¿Estás conectado a la red? ¿Puedes hacer ping a mirrorlist.centos.org?
Nikhil Mulley
3
¿Qué pasa si corres curl 'http://mirrorlist.centos.org/?release=6&arch=i386&repo=os'?
rvs

Respuestas:

165

Primero necesita conectarse, AFAIK CentOS 6 minimal configura su dispositivo de red ONBOOT=No, solo haga dhclientcon privilegios de administrador a su interfaz de red y debería estar en funcionamiento:

$ sudo dhclient

Jorge
fuente
1
Solía ​​configurar el cliente dhcp en mi servidor remoto usando ssh de acuerdo con esta respuesta y ahora perdí la conexión porque la IP del servidor ahora cambia dinámicamente y no estaba pensando en ese caso antes de aplicar los cambios. Esta respuesta es falaz sin suficiente descripción y conduce a malentendidos.
Mojtaba Rezaeian
44
Para la versión CentOS-7 (1611), ONBOOT=Nose encuentra en un archivo como /etc/sysconfig/network-scripts/ifcfg-enp0s3. Edité ese archivo ONBOOT=yesy reiniciarlo puede solucionarlo.
Johnny Wong
2
El cambio a ONBOOT=yesde /etc/sysconfig/network-scripts/ifcfg-enp0s3obras para mí, gracias @JohnnyWong
Evi Canción
24

Había estado luchando con el mismo problema en Centos6.4 x86_64. Tuve el siguiente error :

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

Entonces, lo arreglé siguiendo estos pasos:

editar interfaz de red. Para mi caso, utilicé eth0en CentOS 6.X En CentOS 7 puedes usar la interfaz "ensxxx".

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

actualizar NM_CONTROLLED a no

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

reiniciar la interfaz de red

ifdown eth0
ifup eth0
Raja David
fuente
1
ifcfg-eth0no existe en CentOs 7
shailenTJ
@shailenTJ Solo tócalo ~ funciona bien.
Eddie B
1
@shailenTJ Cambiaron el sistema de nombres, será enpXsX, en mi sistema es enp0s3, pero probablemente será ligeramente diferente en el suyo.
MarcusJ
Si hace "instalación mínima", es "ifcfg-enpls0f0". Pero si instala con una GUI, anula ese archivo con otra cosa. Luego usa la herramienta de configuración de red en la esquina superior derecha de la pantalla principal del escritorio.
Chris Dutrow
4.2.2.2¡probablemente no sea la entrada DNS que quieres!
Dolph
14

Tuve el mismo problema y se resolvió después de editar el /etc/yum.confarchivo. Si está ejecutando en un servidor proxy y se omite la IP que se le da al servidor, pero aún así cuando se abre en el navegador (es decir, debemos dar una marca de verificación en el proxy pero no es necesario dar nombre de usuario y contraseña).

Agregue esta línea siguiente en la sección principal del archivo /etc/yum.conf.

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

es decir, sustituyendo la dirección del proxy con el proxy real. Cambie también el número de puerto si no es 8080.

Si el proxy requiere autenticación, agregue esto también al archivo

proxy_username=username
proxy_password=password
Anand TS
fuente
9

Edité el archivo /etc/yum.repos.d/CentOS-Base.repoy sin comentar 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
Mastergalen
fuente
1
¡Gracias! Esto funcionó para mí. ¿Alguien sabe por qué esto es necesario o por qué se comentó si es necesario?
Rico
9

Si ping www.google.comvuelve a ping: unknown hosthacer ping a un host conocido por su nombre (p . Ej. ) Pero hace ping a una ip (p ping 8.8.8.8. Ej. ) Funciona bien, entonces tiene un problema de resolución de DNS; intente agregar estas entradas a /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4
ATUL KHACHANE
fuente
2

Tuve el mismo problema ayer y pasé horas tratando de resolverlo. La solución terminó siendo simple.

Eliminar el contenido de /etc/yum.repos.d/remi.repoy luego ejecutar

# yum update

¡Se hace! El contenido del archivo comenzará la descarga nuevamente y se configurará.

victorkurauchi
fuente
¿Dónde se encuentra este remi.repoarchivo?
/etc/yum.repos.d/
Steven Kryskalla
Puede que me haya perdido algo, pero ¿dónde ves que tiene instalado el repositorio de Remi? Él mencionó claramente 'Terminé de instalar CentOS6', dudo que el repositorio de Remi esté configurado. Podría estar equivocado ...
Spredzy
El problema es un archivo con formato incorrecto debajo de /etc/yum.repos.d- remi.reposimplemente resultó ser el nombre de archivo en este caso
Curtis Mattoon
1

Aquí hay otra posibilidad con la que me topé, causando este problema:

Estaba usando un módulo Puppet para crear el repositorio EPEL para CentOS, el módulo stahnma / epel.

Dentro del módulo construyó la URL del repositorio con la variable ::os_maj_versionque no existía en mi lista de hechos. Tuve que reemplazar eso con :: operatingsystemmajrelease.

Entonces la URL en /etc/yum.repos.d/epel.repofue malformada.

Mojo
fuente
0

Me sucedió en un entorno Centos 7 y pude resolverlo con el siguiente comando:

yum clean all

No había ejecutado ningún comando yum durante unos meses, parece que los metadatos en caché se volvieron obsoletos.

Elouan Keryell-Even
fuente
0

Todas las respuestas anteriores son correctas, pero desafortunadamente no funcionaron para mí. El siguiente comando funcionó para mí:

¡Advertencia, esto eliminará todos los repositorios de Centos! Usa esto bajo tu propio riesgo

mkdir ~/backup
cp -r /etc/yum.repos.d/Cen* ~/backup
rm /etc/yum.repos.d/Cen*
grepit
fuente
esto eliminará el repositorio del sistema
Saurabh Chandra Patel
Probablemente debería considerar incluir el procedimiento para recrear los archivos de repositorio eliminados una vez que los haya eliminado todos.
Kusalananda