miam se bloque et ne répondra pas

37

Je cours yum check-updateet ça gèle après 2 lignes de sortie:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

Je ne suis pas sûr de ce qui se passe. Les dernières choses que je me souviens avoir faites avec miamm ont été de yum updateregarder un des dépôts de CentOS miam mais je n’ai apporté aucune modification.

Des suggestions pour résoudre le problème?

barrrista
la source

Réponses:

22

Vous pouvez avoir un problème de DNS. Essayez de vous assurer que vous pouvez résoudre les enregistrements DNS localement:

nslookup google.com

Si vous récupérez une adresse IP à partir de cette commande, vous devriez être d'accord pour DNS. Essayez ensuite de supprimer le cache ultra-miroir et de réexécuter votre commande yum:

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

Garrett
la source
1
J'ai reçu une adresse IP à partir de cette commande. timedhosts.txt était un fichier texte vide mais j'ai quand même essayé de le supprimer. Je relance alors ma commande yum. Malheureusement pas de succès. Il est toujours suspendu au même endroit, "Détermination des miroirs les plus rapides". Si je me lance en mode prolixe, je reçois le plug-in de chargement "latestmirror" Durée de la configuration: 0.094 Version: 3.2.22 Configuration des paquets de paquets Chargement des vitesses de miroir depuis le fichier hôte mis en cache
barrrista
10
Pour écarter tout problème avec le plugin plus rapide, essayez de lancer yum sans plugin:yum --noplugins check-update
Garrett
67

Tout cela n'a pas fonctionné avec moi.

Utilisation de CentOS et miam. yum se bloque sans message d'erreur, du moins, de sorte qu'il apparaît. Appuyer sur Ctrl+ Cne fonctionne pas (appuyer encore et encore et encore).

Plusieurs points doivent être vérifiés: - les référentiels sont-ils corrects? - le réseautage est-il OK? - Les bases de données yum et rpm sont-elles correctes?

Commençons donc par la tâche la plus simple: nettoyez les bases de données:

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

Si cela ne fonctionne pas, vous pouvez définir un niveau de débogage, un niveau d'erreur et un délai d'expiration pour yum in /etc/yum.conf:

debuglevel=1
errorlevel=1
timeout=1

Le délai est standard de 30 secondes. Donc, si un référentiel ne répond pas, l'erreur prend 30 secondes pour apparaître. Essayez également d'utiliser yum sans les plugins (tels que le plus rapide miroir et les priorités) avec l'option --noplugins. Maintenant, redémarrer yum devrait vous donner plus d’informations plus rapidement. Test avec:

yum --verbose --noplugins info

Vous pourriez obtenir quelque chose comme ça:

 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.

Cela indique qu'aucune information ne peut être reçue du serveur. Essayez l'URL affichée par yum (indiqué ci-dessus avec un référentiel de lien vers serveur) dans votre navigateur Web. Copiez-le et collez-le à partir de votre réponse yum, pas de ce message! Si vous obtenez une liste, vous savez que le référentiel est en ligne.

Si vous obtenez une erreur dans votre navigateur, essayez de supprimer ce référentiel de /etc/yum.repos.d. Essayez de récupérer la liste sur votre serveur avec wget et collez l'URL:

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

Si cela provoque un délai d'attente, il y a un problème avec vos paramètres de pare-feu ou de proxy. Essayez de désactiver votre pare-feu.

Si vous utilisez csf(sécurité et pare-feu ConfigServer) et que lfdvous pouvez désactiver csf avec:

csf -x

Essayez encore et si cela fonctionne, vous devrez reconfigurer votre csf. Activer à csfnouveau avec:

csf -e

Et aussi vérifier vos paramètres de proxy. Vous pouvez également essayer de changer le https en http dans les fichiers .repo à l’adresse /etc/yum.repos.d/.

utilisateur179734
la source
1
Cette réponse vaut tellement plus que 4 votes positifs = (
mveroone
Beaucoup de bonnes informations ici. L'augmentation du niveau de débogage et de l'exécution yum --verbose --noplugins infom'a amené à rechercher "Erreur: Impossible de récupérer les métadonnées du référentiel (repomd.xml) pour le référentiel: base. Veuillez vérifier son chemin et réessayer", ce sur quoi j'effectue actuellement une enquête. Mon DNS fonctionne donc ça ne devrait pas être le problème.
Harperville
3
Un point important qui semble manquer dans cette réponse est que cela yum checkpeut prendre des heures! Plus d'infos: centos.org/forums/viewtopic.php?f=14&t=46676
gmas80
Le premier code est ce qui a fonctionné avec moi .. merci.
Maher Abuthraa
Le nettoyage de la base de données a également fonctionné pour moi
frostymarvelous
2

J'ai eu un problème similaire. Il s’est avéré qu’il s’agissait d’une ancienne adresse DNS resolv.conf. J'ai changé l'adresse IP pour la bonne, et cela a résolu le problème.

Joe Sulkowski
la source
Sous Vagrant, cela peut arriver aussi.
bbaassssiiee
0

Avait un problème similaire et la raison était la présence du fichier de verrouillage yum /var/run/yum.pidoù une précédente exécution yum l'a laissé en raison d'une erreur fatale.

Je l'ai enlevé avec sudo rm /var/run/yum.pidet le problème a été résolu.

bekce
la source
0

Désolé, je n'ai pas assez de réputation pour poser des questions sur ce commentaire ci-dessus:

En essayant cette solution, j'ai remarqué que tout fonctionnerait correctement avec --noplugins. Après une recherche binaire parmi les plugins, j'ai découvert que le gestionnaire d'abonnements était celui qui causait tous les problèmes. Je l'ai désactivé et voilà! - Mariuslp

@mariuslp, je ne peux également exécuter yum qu'en ajoutant --noplugins. Pouvez-vous fournir plus de détails sur la manière dont vous avez effectué une "recherche binaire parmi les plugins" et sur ce qui vous a amené à déterminer ce qui était à l'origine du problème? Merci!

cniggeler
la source