yum si blocca e non risponderà


36

Sto correndo yum check-updatee si blocca dopo 2 righe di output:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

Non sono sicuro di cosa stia succedendo. Le ultime cose che ricordo di aver fatto con yum sono state yum updatee guardando uno dei repository yum CentOS ma non ho apportato alcuna modifica.

Qualche suggerimento per risolvere yum?

Risposte:


21

Potresti avere un problema DNS. Cerca di assicurarti di poter risolvere i record DNS localmente:

nslookup google.com

Se ricevi un IP da quel comando, dovresti essere OK per DNS. Prova quindi a rimuovere la cache fastmirror e rieseguire il comando yum:

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


1
Ho ricevuto un IP da quel comando. timedhosts.txt era un file di testo vuoto ma ho provato comunque a rimuoverlo. Quindi eseguo nuovamente il comando yum. Sfortunatamente nessun successo. È ancora appeso nello stesso posto, "Determinazione degli specchi più veloci". Se eseguo verbose, ottengo Caricamento plug-in "fastmirror" Tempo di configurazione: 0.094 Yum Versione: 3.2.22 Impostazione dei pacchetti di pacchetti Caricamento delle velocità dei mirror dal file host memorizzato nella cache
barrrista,

10
Per escludere un problema con il plugin fastmirror, prova a eseguire yum senza plug-in:yum --noplugins check-update
Garrett

67

Tutto ciò non ha funzionato con me.

Utilizzando CentOS e yum. yum si blocca almeno senza un messaggio di errore, quindi sembra. Premere Ctrl+ Cnon funziona (premendolo più e più volte).

Diverse cose devono essere verificate: - i repository sono a posto? - la rete è OK? - i database yum e rpm sono corretti?

Quindi, per prima cosa inizia con le cose semplici: pulisci i database:

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

Se il problema persiste, puoi impostare un livello di debug, un livello di errore e un timeout per yum in /etc/yum.conf:

debuglevel=1
errorlevel=1
timeout=1

Il timeout è standard di 30 secondi. Pertanto, se un repository non risponde, viene visualizzato l'errore per 30 secondi. Prova anche a usare yum senza plugin (come il mirror e le priorità più veloci) con l'opzione --noplugins. Ora il riavvio di yum dovrebbe darti più informazioni più velocemente. Prova con:

yum --verbose --noplugins info

Potresti ottenere qualcosa del genere:

 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.

Ciò indica che non è possibile ricevere informazioni dal server. Prova l'URL visualizzato da yum (indicato sopra con repository link-to-server) nel tuo browser web. Copia e incolla dalla tua risposta yum, non da questo post! Se ottieni un elenco, sai che il repository è online.

Se viene visualizzato un errore nel browser, provare a rimuovere il repository da /etc/yum.repos.d. Prova a recuperare l'elenco sul tuo server con wget e incolla l'URL:

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

Se questo genera un timeout, allora c'è un problema con le impostazioni del firewall o del proxy. Prova a disabilitare il firewall.

Se stai eseguendo csf(ConfigServer Security and Firewall) e lfdpuoi disabilitare csf con:

csf -x

Prova di nuovo yum e se funziona, dovrai riconfigurare il tuo csf. Abilita di csfnuovo con:

csf -e

E controlla anche le impostazioni del proxy. Puoi anche provare a cambiare https in http nei file .repo in /etc/yum.repos.d/.


1
Questa risposta vale molto più di 4 voti = (
mveroone l'

Molte buone informazioni qui. L'aumento del livello di debug e l'esecuzione yum --verbose --noplugins infomi hanno portato a trovare "Errore: Impossibile recuperare i metadati del repository (repomd.xml) per il repository: base. Verificare il suo percorso e riprovare", che sto esaminando ora. Il mio DNS funziona quindi non dovrebbe essere questo il problema.
Harperville,

3
Un punto importante che sembra mancare in questa risposta è che yum checkpossono richiedere ore per il completamento! Maggiori informazioni: centos.org/forums/viewtopic.php?f=14&t=46676
gmas80

Il primo codice è quello che ha funzionato con me .. grazie.
Maher Abuthraa,

La pulizia del database ha funzionato anche per me
frostymarvelous

2

Ho avuto un problema simile. Si è rivelato essere un vecchio indirizzo DNS in resolv.conf. Ho cambiato l'IP con quello corretto e risolto il problema.


Sotto Vagrant può succedere anche questo.
bbaassssiiee,

0

Aveva un problema simile e il motivo era la presenza del file di blocco yum in /var/run/yum.pidcui una precedente esecuzione yum lo aveva lasciato a causa di un errore fatale.

L'ho rimosso sudo rm /var/run/yum.pide il problema è stato risolto.

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.