Risolvere gli errori yum: DNS, repository e fine vita di CentOS 7
Data di pubblicazione:
Aggiornato:
Articoli > Risolvere gli errori yum: DNS, repository e fine vita di CentOS 7
Stato nel 2026 e uso sicuro
Conclusione: per diagnosticare un errore di yum, verifica nell'ordine la connettività di rete, la risoluzione DNS e la configurazione dei repository abilitati. CentOS Linux 7 non è più supportato dal 30 giugno 2024: pianifica una migrazione collaudata invece di collegare stabilmente un server di produzione a pacchetti archiviati.
Cosa imparerai
- Come yum usa i metadati dei repository e perché l'errore “Could not resolve host” indica in genere un problema DNS.
- Come distinguere un guasto di routing, DNS o repository da un problema legato al ciclo di vita del sistema operativo.
- Perché i sistemi moderni della famiglia RHEL usano DNF anche quando è disponibile il comando di compatibilità
yum.
Destinatari: amministratori Linux che devono diagnosticare errori del gestore di pacchetti su un sistema datato della famiglia RHEL.
Nota di aggiornamento (2026): i comandi CentOS 7 e gli URL dei mirror riportati di seguito restano come riferimento storico. I repository Vault non sostituiscono una distribuzione che riceve aggiornamenti di sicurezza; prepara e verifica la migrazione verso una piattaforma supportata.
Nota di sicurezza: i comandi e gli esempi di configurazione dell'articolo originale non sono stati rieseguiti in un ambiente di produzione moderno. Prima di applicarli, verifica versioni supportate, backup, controlli di accesso e procedura di rollback in un ambiente di prova isolato.
Fonti primarie ufficiali
Panoramica
Quando un comando yum non riesce, conviene partire dal modo in cui il gestore seleziona un repository e ne scarica i metadati.
I messaggi "Could not retrieve mirrorlist http://mirrorlist.centos.org/? ..." e "curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"" indirizzano il controllo soprattutto verso rete e DNS.
Verifica quindi connettività, risoluzione dei nomi e file di repository, in quest'ordine.
Le sezioni seguenti descrivono il funzionamento di yum e i controlli da eseguire.
Indice dei contenuti
1. Che cos'è Yum?
yum è un gestore di pacchetti: un comando come "yum install httpd" risolve le dipendenze e installa i pacchetti RPM necessari.
Per farlo, consulta i repository configurati e scarica dalla rete metadati e pacchetti.
1-1. Come funziona yum
Il processo si può riassumere in due passaggi:
• yum sceglie una sorgente dai file di repository configurati sull'host.
• Scarica quindi metadati e pacchetti dalla sorgente selezionata.
Le definizioni dei repository si trovano in "/etc/yum.repos.d/" e indicano a yum dove recuperare i dati.
Un file di repository CentOS 7 contiene, ad esempio, i parametri seguenti.
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Il valore 'mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra' contiene le variabili '$releasever', '$basearch' e '$infra'. Nell'ambiente originale producevano un URL come 'http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra='.
Questo URL restituiva l'elenco dei mirror mostrato nell'esempio storico seguente.
http://ftp.riken.jp/Linux/centos/7.9.2009/os/x86_64/
http://ftp.nara.wide.ad.jp/pub/Linux/centos/7.9.2009/os/x86_64/
http://ftp.jaist.ac.jp/pub/Linux/CentOS/7.9.2009/os/x86_64/
http://mirrors.cat.net/centos/7.9.2009/os/x86_64/
http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/
http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/7.9.2009/os/x86_64/
http://ty1.mirror.newmediaexpress.com/centos/7.9.2009/os/x86_64/
http://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/7.9.2009/os/x86_64/
http://mirror.vastspace.net/centos/7.9.2009/os/x86_64/
http://mirror.nus.edu.sg/centos/7.9.2009/os/x86_64/
yum sceglieva uno di questi mirror per scaricare i metadati e i file RPM.
2. Cause del cattivo funzionamento di yum
Da questo flusso derivano tre aree principali da controllare.
2-1. Causa 1: connettività di rete assente
yum deve raggiungere un server di repository per scaricare metadati e file RPM. Senza una rotta valida verso Internet o verso il mirror interno previsto, il comando non può procedere.
Se consentito nell'ambiente, prova la connettività IP con 'ping 8.8.8.8'. Poiché ICMP può essere filtrato, verifica anche routing, firewall e accesso HTTP o HTTPS al repository prima di trarre conclusioni.
2-2. Causa 2: risoluzione DNS non funzionante
Gli URL dei repository usano nomi host, ad esempio "http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=". Se "mirrorlist.centos.org" non viene risolto in un indirizzo IP, yum restituisce un errore "Could not resolve host".
Controlla la risoluzione con 'ping google.com' oppure, meglio, con 'getent hosts', 'dig' o 'nslookup'. Se fallisce, verifica la configurazione del resolver e la raggiungibilità dei server DNS.
2-3. Causa 3: repository assente o configurato male
Se rete e DNS funzionano, controlla i file in "/etc/yum.repos.d/". Un repository disabilitato, un URL obsoleto o una variabile non risolta può lasciare yum senza una sorgente valida.
Come riferimento storico, la configurazione CentOS 7 seguente mostra i parametri essenziali di un repository di base.
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
3. Riepilogo
Per diagnosticare yum, verifica nell'ordine connettività, risoluzione DNS e configurazione dei repository.
Nel caso originale il problema era la risoluzione DNS. Su CentOS 7 occorre oggi verificare anche il ciclo di vita e pianificare la migrazione verso un sistema supportato.