apt-get update non riesce a recuperare i file, errore "Risoluzione temporanea dell'errore ..."


92
Err http://archive.canonical.com natty InRelease    
Err http://security.ubuntu.com oneiric-security InRelease               
Err http://extras.ubuntu.com natty InRelease                            
Err http://security.ubuntu.com oneiric-security Release.gpg
  Temporary failure resolving ‘security.ubuntu.com’
Err http://archive.canonical.com natty Release.gpg
  Temporary failure resolving ‘archive.canonical.com’
Err http://extras.ubuntu.com natty Release.gpg
  Temporary failure resolving ‘extras.ubuntu.com’
Err http://gb.archive.ubuntu.com oneiric InRelease
Err http://gb.archive.ubuntu.com oneiric-updates InRelease
Err http://gb.archive.ubuntu.com natty-backports InRelease
Err http://gb.archive.ubuntu.com oneiric Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’
Err http://gb.archive.ubuntu.com oneiric-updates Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’
Err http://gb.archive.ubuntu.com natty-backports Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’

Reading package lists... Done
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric/InRelease      
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric-updates/InRelease  
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/natty-backports/InRelease  
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/oneiric-security/InRelease  
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/natty/InRelease  
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/natty/InRelease  
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/natty/Release.gpg  Temporary failure resolving ‘archive.canonical.com’
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/oneiric-security/Release.gpg  Temporary failure resolving ‘security.ubuntu.com’
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/natty/Release.gpg  Temporary failure resolving ‘extras.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric-updates/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/natty-backports/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Some index files failed to download. They have been ignored, or old ones used instead.

Questo è quello che vedo quando provo a correre sudo apt-get update. Ieri ho fatto un aggiornamento sulla mia istanza e ora sto vivendo questo.

Risposte:


144

panoramica

Ci sono due parti alla tua domanda:

  • correzione di messaggi di risoluzione temporanei
  • risolvere i problemi di gestione dei pacchetti

Risoluzione temporanea

È probabile che questo problema sia:

  • temporanea a causa del provider di servizi Internet che non inoltra correttamente la denominazione di Internet (DNS) a server DNS esterni o esterni oppure
  • a causa di una modifica della rete ha bloccato in modo simile questa denominazione, ad esempio un nuovo router / modem, riconfigurando uno switch con una nuova configurazione.

Vediamo i possibili problemi di risoluzione DNS.

Innanzitutto, aggiungi temporaneamente un server DNS noto al tuo sistema.

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

Quindi corri sudo apt-get update.

Se questo risolve i tuoi messaggi di risoluzione temporanea , attendi 24 ore per vedere se il tuo ISP risolve il problema per te (o contatta semplicemente il tuo ISP) oppure puoi aggiungere permanentemente un server DNS al tuo sistema:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

8.8.8.8 è il server DNS di Google.

fonte

Un altro server DNS di esempio che è possibile utilizzare è OpenDNS , ad esempio:

echo "nameserver 208.67.222.222" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

problemi di gestione dei pacchetti

Oltre ai problemi di risoluzione temporanea - hai alcuni problemi di gestione dei pacchetti che devono essere corretti - suppongo che hai provato di recente a passare da una versione di Ubuntu alla successiva versione consigliata - nel tuo caso da Natty (11.04) a Oneiric (11.10)

Apri un terminale e digita

sudo nano /etc/apt/sources.list

Cerca le linee che hanno un nome di distribuzione diverso nell'elenco rispetto a quello che ti aspettavi - nel tuo caso - hai eseguito l'upgrade oneiricma hai un altro nome di rilascionatty

Ad esempio, cerca le linee che sembrano deb http:/archive.canonical.com/ natty backports

Aggiungi #a all'inizio della riga per commentarla, ad esempio

#deb http:/archive.canonical.com/ natty backports

Salva e riavvia:

sudo apt-get update && sudo apt-get upgrade

Non dovresti avere più errori di denominazione delle versioni.

Al momento della stesura di questo, le possibili comuni nomi di rilascio includono lucid, maverick, natty, oneiric, precise, quantal, raring, saucy, trusty, utopice vivid.


Funziona perfettamente :)
Maduka Jayalath l'

Quando viene visualizzato un nome durante l'aggiornamento, è possibile saltare il giocherellare DNS e andare direttamente all'elenco delle fonti.
SPRBRN,

Funziona ancora perfettamente con 15.04 e 15.10
lxx

1
E se questo non funziona?
Matt G

È molto probabilmente un problema DNS della finestra mobile che non consente l'esecuzione dell'aggiornamento apt-get.
dashesy

11

Nota che questa risposta è stata scritta per le vecchie versioni di Ubuntu. Le versioni attuali utilizzano un nameserver locale controllato da D-Bus, per il quale si applica la parte di diagnosi di questa risposta, ma non la soluzione. Se /etc/resolv.confcontiene nameserver 127.0.1.1o più in generale nameserver 127.X.Y.Z, non modificarlo.

"Risoluzione temporanea di errori ..." significa che il DNS , ovvero la traduzione da nomi host a indirizzi IP, non funziona. Hai riconfigurato qualcosa sul tuo computer di recente? In caso contrario, potrebbe trattarsi di un errore temporaneo nel tuo ISP.

Does ping -n 8.8.8.8Mostra linee piace 64 bytes from 8.8.8.8: …? (Premi Ctrl+ Cper interrompere ping.)

  • In caso contrario, si verifica specificamente un problema di connettività IP. Corri traceroute -n 8.8.8.8e vedi dove si ferma: se è nella tua casa / ufficio, controlla le tue apparecchiature di rete. Se riesci a raggiungere il tuo ISP, lamentati con loro.
  • In tal caso, si verifica in particolare un problema DNS. Controlla il contenuto di /etc/resolv.conf; dovrebbe esserci una linea simile nameserver 1.2.3.4(forse più di una di esse). Se le linee sono presenti, probabilmente c'è un problema temporaneo all'interno del tuo ISP e potresti essere in grado di aggirare il problema aggiungendolo nameserver 8.8.8.8a quel file (questo dichiara un server DNS aggiuntivo, che è fornito gratuitamente da Google). Se il primo numero dopo nameserverè 127, allora c'è un relay DNS sul tuo computer (questa è una buona cosa) ed è necessario configurare quel relay DNS piuttosto che modificarlo /etc/resolv.conf. Nelle versioni moderne di Ubuntu, per impostazione predefinita è presente un relay DNS, è Dnsmasq ed è controllato da D-Bus.

1
Nota: ping 8.8.8.8 -c3ping solo 3volte, non è necessario Ctrl + C quindi. È possibile utilizzare qualsiasi numero nel parametro, come -c5, -c1, -c100ecc
Arda

nameserverdeve essere posizionato con la macchina del nome host?
Albert

@albert Quello /etc/resolv.confche conta è quello sulla macchina su cui ti trovi. Ma sui sistemi moderni, punta solo al computer locale e, se si hanno problemi DNS, è necessario lavorare con D-Bus e NetworkManager.
Gilles

Lei, signore, è un genio! Mi ha appena salvato la giornata. Grazie
Akshay Agarwal

10

Puoi commentare il repository non risolto dal file sources.list trovato su dir / etc / apt /

Dopo aver modificato il sources.list, pulire il repository apt-get come

apt-get clean

Quindi aggiorna

apt-get update

L'errore scomparirà


1
Questa è una soluzione permanente a un problema DNS temporaneo. Se si dimentica di cambiarlo, il software di quel repository non sarà più aggiornato o disponibile per l'installazione.
Chai T. Rex,

3

A volte, quando ti trovi dietro un server proxy, è persino necessario che tu generi un apt.conffile /etc/apt/e lo compili con le voci specifiche, come:

Acquire::http::proxy "http://<yourproxyserver>:<Port>";
Acquire::https::proxy "http://<yourproxyserver>:<Port>";
Acquire::ftp::proxy "http://<yourproxyserver>:<Port>";

Se è richiesta un'autenticazione, il file di configurazione appare come:

Acquire::http::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
Acquire::https::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
Acquire::ftp::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";

1

Questo problema può anche essere causato da un'interfaccia erroneamente denominata. Ad esempio, un Temporary failure resolvingmessaggio di errore può essere causato da un'interfaccia che non ha un nome eth0ma è emlinvece denominata in modo errato .


Non riesco ad accedere al mio account a causa di problemi con lightdm, devo aggiornare lightdm, puoi espandere la tua risposta su come risolvere il problema? Grazie.
Shayan,


0

Ho riscontrato errori simili durante l'esecuzione dei apt-getcomandi. Si scopre che avevo il pannello di aggiornamento software aperto sulla console.
Questo sembrava bloccare la riga di comando apt-get, ma non ne sono certo.


0

Questo è un problema DNS. Controlla il tuo /etc/resolv.conffile.

per esempio nel mio caso quando ho avuto questo problema e ho controllato questo file, il file era vuoto! ma dovrebbe contenere il tuo dns-nameserver

il mio:

nameserver 192.168.10.x

192.168.10.x is my gateway ip address


3
Benvenuto in AskUbuntu! Se vuoi aiutare, fai una risposta più dettagliata. Voglio dire, coprire la maggior parte degli scenari possibili e i modi per andare o pubblicare un collegamento al tutorial appropriato.
Danatela,

1
Potresti chiarire cosa si dovrebbe fare il check-in /etc/resolv.conf?
papukaija,

0

Ho avuto questo errore Seguendo un consiglio del supporto Linode, ho commentato tutte le righe IPv6 in / etc / hosts e poi apt-get update ha iniziato a funzionare.


0

Per coloro che utilizzano EC2, ricordarsi di verificare che le impostazioni del proprio gruppo di sicurezza consentano connessioni in uscita ai siti Web da cui si sta eseguendo l'aggiornamento. Puoi impostare Tutto il traffico in uscita e vedere se funziona.


0

La soluzione accettata non funziona per me. In primo luogo, apt-get updatemi avvisa solo Temporary failure resolving 'foo.com', ma quando provo con nslookup foo.como ping foo.com, funziona benissimo!

Il mio trucco / correzione incredibilmente sporco per la risoluzione di questo errore è quello di aggiungere manualmente i domini risolti /etc/hostscon questo breve script:

resolveAptHosts()
{
    mapfile -t hosts < <(
        sed -n -r '/^#/d; s;deb(-src)? (http://|ftp://)?([^/ ]+).*;\3;p'\
        /etc/apt/sources.list | sort | uniq )
    # delete all hosts from /etc/hosts, e.g., from an earlier call
    sudo sed -i -r '/^[0-9]{1,3}(\.[0-9]{1,3}){3}[ \t]+('"$( printf '|%s'\
        "${hosts[@]//./\\.}" | sed 's/^|//' )"')[ \t]*$/d' /etc/hosts
    for host in ${hosts[@]}; do
        ip=$( nslookup "$host" | sed -n -r 's|Address:[ \t]*([0-9.]+).*|\1|p' |
              tail -1 )
        sudo bash -c "echo $ip $host >> /etc/hosts"
    done
}

Ora l'aggiornamento dovrebbe funzionare:

resolveAptHosts && sudo apt-get update

Se qualcuno sa perché questa soluzione alternativa funziona e come risolvere questo errore per davvero, sarò eternamente grato. Ho anche provato a utilizzare sudo apt-get update -o Acquire::ForceIPv4=trueper escludere i problemi di risoluzione di IPv6, ma neanche questo mi ha aiutato.


0

Ho avuto lo stesso problema in una macchina virtuale VMware, host e guest sono entrambi ubuntu. Ho risolto il problema modificando l'impostazione della macchina virtuale. Invece di usare NAT, ho impostato Bridged. Ha funzionato per me


0

I messaggi di errore dovrebbero indicare che non si dispone di una connessione Internet. Puoi vedere questi stessi messaggi di errore se durante l'installazione iniziale di Ubuntu hai scelto di non eseguire aggiornamenti (non ti sei connesso a wifi / ethernet) che dopo l'installazione è terminata e il riavvio può lasciarti alla schermata di animazione di accesso Ubuntu infinita (guardando quei punti in movimento). .. Vedrai i messaggi di errore sopra se ora esegui l'avvio in Recovery e al problema del prompt di root apt-get updateanche dopo aver abilitato la rete da Recovery che non ti consente di collegarti al wifi se hai evitato il wifi durante l'installazione iniziale.

Soluzione per questo caso limite: collegare un cavo Ethernet, quindi avviare il ripristino e rilasciare apt-get updateoppure reinstallare da zero e assicurarsi di abilitare gli aggiornamenti

problema principale: se non ti sei connesso al wifi durante l'installazione, quindi hai evitato gli aggiornamenti del pacchetto non ti verrà dato un prompt di accesso wifi durante l'avvio di ripristino - questo dovrebbe essere risolto ... anche i messaggi di errore sopra dovrebbero solo dire che non hai un internet connessione

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.