Tutto questo non ha funzionato con me.
Utilizzando CentOS e yum. yum si blocca senza un messaggio di errore, almeno, così sembra. Premendo Ctrl +C non funziona (premendolo ancora e ancora e ancora funziona).
Diverse cose devono essere controllate:- i repository sono a posto?- la rete è a posto?- i database yum e rpm sono a posto?
Quindi, prima inizia con le cose facili:pulisci i database:
rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v
yum clean all
Se ciò non ha funzionato, 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. Quindi, se un repository non risponde, l'errore impiega 30 secondi a comparire. Prova anche a usare yum senza i plugin (come il mirror più veloce e le priorità) 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 link-to-server-repository) nel tuo browser web. Copialo e incollalo dalla tua risposta yum, non da questo post! Se ottieni un elenco, sai che il repository è online.
Se ricevi un errore nel tuo browser, prova a rimuovere quel 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, c'è un problema con le impostazioni del firewall o del proxy. Prova a disabilitare il tuo firewall.
Se stai eseguendo csf
(ConfigServer Security and Firewall) e lfd
puoi disabilitare csf con:
csf -x
Prova di nuovo yum e se funziona, dovrai riconfigurare il tuo csf
. Abilita csf
di nuovo con:
csf -e
E controlla anche le impostazioni del tuo proxy. Puoi anche provare a cambiare https in in http nei file .repo in /etc/yum.repos.d/
.
Potresti avere un problema con il DNS. Cerca di assicurarti di poter risolvere i record DNS localmente:
nslookup google.com
Se ricevi un IP da quel comando, dovresti essere a posto per il DNS. Prova quindi a rimuovere la cache del mirror più veloce ea rieseguire il comando yum:
rm -f /var/cache/yum/timedhosts.txt
Ho avuto un problema simile. Si è rivelato essere un vecchio indirizzo DNS in resolv.conf
. Ho cambiato l'IP con quello corretto e il problema è stato risolto.