ñam cuelga y no responde

37

Estoy corriendo yum check-updatey se congela después de 2 líneas de salida:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

No estoy seguro de lo que está pasando. Las últimas cosas que recuerdo haber hecho con yum fueron yum updatey mirar uno de los repositorios de CentOS yum, pero no hice ningún cambio.

¿Alguna sugerencia para arreglar yum?

barrrista
fuente

Respuestas:

22

Es posible que tenga un problema de DNS. Intente asegurarse de que puede resolver los registros DNS localmente:

nslookup google.com

Si obtiene una IP de ese comando, debería estar bien para DNS. Intente luego eliminar el caché demirmirror más rápido y vuelva a ejecutar su comando yum:

rm -f /var/cache/yum/timedhosts.txt

Garrett
fuente
1
Obtuve una IP de ese comando. timedhosts.txt era un archivo de texto vacío pero intenté eliminarlo de todos modos. Luego volví a ejecutar mi comando yum. Lamentablemente no hay éxito. Todavía está colgando en el mismo lugar, "Determinando los espejos más rápidos". Si ejecuto de forma detallada, obtengo el complemento de carga "rapidmirror" Tiempo de configuración: 0.094 Versión de Yum: 3.2.22 Configuración de paquetes de paquetes Carga de velocidades espejo desde el archivo host en caché
barrrista
10
Para descartar un problema con el complemento más rápido de espejo, intente ejecutar yum sin ningún complemento:yum --noplugins check-update
Garrett
67

Todo esto no funcionó conmigo.

Usando CentOS y yum. yum se cuelga sin un mensaje de error, al menos, por lo que parece. Presionar Ctrl+ Cno funciona (presionarlo una y otra vez sí).

Se deben verificar varias cosas: - ¿Están bien los repositorios? - ¿Está bien el trabajo en red? - ¿Están bien las bases de datos yum y rpm?

Entonces, primero comience con las cosas fáciles: limpie las bases de datos:

rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v   
yum clean all

Si eso no funcionó, puede establecer un nivel de depuración, un nivel de error y un tiempo de espera para yum en /etc/yum.conf:

debuglevel=1
errorlevel=1
timeout=1

El tiempo de espera es estándar de 30 segundos. Entonces, si un repositorio no responde, el error tarda 30 segundos en aparecer. También intente usar yum sin los complementos (como el espejo más rápido y las prioridades) con la opción --noplugins. Ahora comenzar de nuevo yum debería darte más información más rápido. Prueba con:

yum --verbose --noplugins info

Puede obtener algo como esto:

 Config time: 0.105
 Yum Version: 3.2.22
 Setting up Package Sacks
 Loading mirror speeds from cached hostfile
 * base: mirror.nl.leaseweb.net
 * extras: mirror.nl.leaseweb.net
 * ius: mirrors.ircam.fr
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirror.nl.leaseweb.net link-to-server-repository/repomd.xml: [Errno 4] IOError: urlopen error (97, 'Address family not supported by protocol') 
 Trying other mirror.

Esto indica que no se puede recibir información del servidor. Pruebe la URL que muestra yum (indicado arriba con el enlace al repositorio del servidor) en su navegador web. ¡Cópielo y péguelo desde su respuesta yum, no desde esta publicación! Si obtiene una lista, sabe que el repositorio está en línea.

Si obtiene un error en su navegador, intente eliminar ese repositorio de /etc/yum.repos.d. Intente obtener la lista en su servidor con wget y pegue la URL:

wget link-to-server-repository/repomd.xml

Si esto genera un tiempo de espera, entonces hay un problema con la configuración de su firewall o proxy. Intenta deshabilitar tu firewall.

Si está ejecutando csf(ConfigServer Security and Firewall) y lfdpuede deshabilitar csf con:

csf -x

Intente yum nuevamente y si funciona, tendrá que reconfigurar su csf. Habilitar csfnuevamente con:

csf -e

Y también verifique su configuración de proxy. También puede intentar cambiar https en http en los archivos .repo en /etc/yum.repos.d/.

usuario179734
fuente
1
Esta respuesta vale mucho más que 4 votos a favor = (
mveroone
Mucha buena información aquí. El aumento del nivel de depuración y la ejecución yum --verbose --noplugins infome llevaron a encontrar "Error: No se pueden recuperar los metadatos del repositorio (repomd.xml) para el repositorio: base. Verifique su ruta e intente nuevamente", que estoy investigando ahora. Mi DNS está funcionando, así que ese no debería ser el problema.
Harperville
3
¡Un punto importante que parece faltar en esta respuesta es que yum checkpuede llevar horas completarlo! Más información: centos.org/forums/viewtopic.php?f=14&t=46676
gmas80
El primer código es lo que funcionó conmigo ... gracias.
Maher Abuthraa
Base de datos limpia trabajó para mí también
frostymarvelous
2

Tuve un problema similar. Resultó ser una antigua dirección DNS en resolv.conf. Cambié la IP a la correcta y solucionó el problema.

Joe Sulkowski
fuente
Bajo Vagabundo esto también puede suceder.
bbaassssiiee
0

Tuve un problema similar y la razón fue la presencia de un archivo de bloqueo yum /var/run/yum.piddonde una ejecución anterior de yum lo dejó debido a un error fatal.

Lo eliminé sudo rm /var/run/yum.pidy se resolvió el problema.

bekce
fuente
0

Lo sentimos, no tengo suficiente reputación para preguntar sobre este comentario anterior:

Al probar esta solución, noté que todo funcionaría bien al usar --noplugins. Después de una búsqueda binaria entre los complementos, descubrí que el administrador de suscripciones era el que causaba todos los problemas. Lo deshabilité y ¡voilà! - Mariuslp

@mariuslp, también puedo ejecutar yum agregando --noplugins. ¿Puede proporcionar más detalles sobre cómo hizo una "búsqueda binaria entre los complementos" y qué en esa búsqueda lo llevó a determinar qué estaba causando el problema? ¡Gracias!

cniggeler
fuente