apt-get update kann keine Dateien abrufen, Fehler "Temporärer Fehler beim Beheben ..."

91
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.

Das sehe ich, wenn ich versuche zu rennen sudo apt-get update. Ich habe gestern ein Update für meine Instanz durchgeführt und erlebe dies jetzt.

Lewis
quelle

Antworten:

142

Überblick

Ihre Frage besteht aus zwei Teilen:

  • Festsetzung temporäre resolve Nachrichten
  • Beheben der Paketverwaltungsprobleme

Vorübergehende Lösung

Es ist wahrscheinlich, dass dieses Problem entweder:

  • vorübergehend, da Ihr Internetdienstanbieter die Internetnamen (DNS) nicht ordnungsgemäß an seine oder externe DNS-Server weiterleitet, oder
  • Aufgrund einer Änderung in Ihrem Netzwerk wurde diese Benennung ebenfalls blockiert - beispielsweise durch einen neuen Router / Modem, der einen Switch mit einer neuen Konfiguration neu konfiguriert.

Schauen wir uns die möglichen Probleme bei der DNS-Lösung an.

Fügen Sie Ihrem System vorübergehend einen bekannten DNS-Server hinzu.

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

Dann lauf sudo apt-get update.

Wenn dies Ihre temporären Auflösungsnachrichten behebt , warten Sie entweder 24 Stunden, um zu sehen, ob Ihr ISP das Problem für Sie behebt (oder wenden Sie sich einfach an Ihren ISP) - oder Sie können Ihrem System dauerhaft einen DNS-Server hinzufügen:

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

8.8.8.8 ist Googles eigener DNS-Server.

Quelle

Ein weiterer Beispiel-DNS-Server, den Sie verwenden könnten, ist OpenDNS - zum Beispiel:

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

Probleme mit der Paketverwaltung

Zusätzlich zu den vorübergehenden Problemen bei der Lösung - es gibt einige Probleme bei der Paketverwaltung, die behoben werden müssen - haben Sie vermutlich kürzlich versucht, von einer Ubuntu-Version auf die nächste empfohlene Version zu aktualisieren - in Ihrem Fall von Natty (11.04) auf Oneiric (11.10)

Öffnen Sie ein Terminal und geben Sie ein

sudo nano /etc/apt/sources.list

Suchen Sie nach Zeilen mit einem anderen Verteilernamen in der Liste, als Sie erwartet hatten - in Ihrem Fall -, auf den Sie aktualisiert haben, oneiricaber mit einem anderen Versionsnamennatty

Suchen Sie beispielsweise nach Linien, die aussehen deb http:/archive.canonical.com/ natty backports

Fügen Sie #am Anfang der Zeile ein hinzu, um sie auszukommentieren - zum Beispiel

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

Speichern und erneut ausführen:

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

Sie sollten keine Release-Benennungsfehler mehr haben.

Zum Zeitpunkt der Abfassung dieses, mögliche gemeinsame Freigabenamen umfassen lucid, maverick, natty, oneiric, precise, quantal, raring, saucy, trusty, utopicund vivid.

fossfreedom
quelle
Perfekt funktioniert :)
Maduka Jayalath
Wenn während der Aktualisierung ein Name herausspringt, können Sie das DNS-Fummeln überspringen und direkt zur Quellenliste wechseln.
SPRBRN,
Funktioniert immer noch perfekt mit 15.04 und 15.10
lxx
1
Was ist, wenn das nicht funktioniert?
Matt G
Es handelt sich höchstwahrscheinlich um ein DNS-Problem des Dockers, bei dem die Aktualisierung von apt-get nicht erfolgreich war.
Bindestrich
10

Sie können das ungelöste Repo aus der Datei sources.list im Verzeichnis / etc / apt / kommentieren.

Bereinigen Sie nach dem Ändern der sources.list das Repo von apt-get as

apt-get clean

Dann aktualisieren

apt-get update

Der Fehler wird behoben

Mughil
quelle
1
Dies ist eine dauerhafte Lösung für ein vorübergehendes DNS-Problem. Wenn Sie vergessen, die Änderungen rückgängig zu machen, wird die Software aus diesem Repository nicht mehr aktualisiert oder kann nicht mehr installiert werden.
Chai T. Rex
10

Beachten Sie, dass diese Antwort für alte Versionen von Ubuntu geschrieben wurde. Aktuelle Versionen verwenden einen von D-Bus gesteuerten lokalen Nameserver, für den der Diagnoseteil dieser Antwort gilt, jedoch nicht die Lösung. Wenn es /etc/resolv.confenthält nameserver 127.0.1.1oder allgemeiner nameserver 127.X.Y.Z, ändern Sie es nicht.

"Temporäre Fehlerbehebung ..." bedeutet, dass Ihr DNS , dh die Übersetzung von Hostnamen in IP-Adressen, nicht funktioniert. Haben Sie kürzlich etwas auf Ihrem Computer neu konfiguriert? Ist dies nicht der Fall, handelt es sich möglicherweise um einen vorübergehenden Fehler bei Ihrem Internetdienstanbieter.

Zeigt ping -n 8.8.8.8Linien wie 64 bytes from 8.8.8.8: …? (Drücken Sie Ctrl+ C, um zu stoppen ping.)

  • Andernfalls liegt ein spezielles Problem mit der IP-Konnektivität vor. Laufen Sie traceroute -n 8.8.8.8und sehen Sie, wo es aufhört: Wenn es sich in Ihrem Zuhause / Büro befindet, überprüfen Sie Ihre Netzwerkgeräte. Wenn Sie Ihren ISP erreichen können, beschweren Sie sich bei ihm.
  • In diesem Fall liegt ein spezielles DNS-Problem vor. Überprüfen Sie den Inhalt von /etc/resolv.conf; Es sollte eine Zeile wie nameserver 1.2.3.4(möglicherweise mehr als eine davon) geben. Wenn die Leitungen vorhanden sind, liegt wahrscheinlich ein vorübergehendes Problem bei Ihrem Internetdienstanbieter vor, und Sie können es möglicherweise umgehen, indem Sie nameserver 8.8.8.8diese Datei hinzufügen (dies deklariert einen zusätzlichen DNS-Server, der von Google kostenlos zur Verfügung gestellt wird). Wenn die erste Zahl nach nameserver127 lautet, befindet sich auf Ihrem Computer ein DNS-Relay (dies ist eine gute Sache), und Sie müssen dieses DNS-Relay konfigurieren, anstatt es zu ändern /etc/resolv.conf. In modernen Versionen von Ubuntu gibt es standardmäßig ein DNS-Relay, Dnsmasq , und es wird von D-Bus gesteuert.
Gilles
quelle
1
Hinweis: ping 8.8.8.8 -c3Pingt nur 3mal, Sie müssen dann nicht Strg + C drücken. Sie können eine beliebige Zahl im Parameter verwenden, wie -c5, -c1, -c100usw.
Arda
nameservermuss mit dem Rechner des Hostnamens platziert werden?
Albert
@albert /etc/resolv.confAuf die Maschine kommt es an. Auf modernen Systemen zeigt es jedoch nur auf den lokalen Computer, und wenn Sie DNS-Probleme haben, müssen Sie mit D-Bus und NetworkManager arbeiten.
Gilles
3

Wenn Sie sich hinter einem Proxyserver befinden, ist es manchmal sogar erforderlich, dass Sie eine apt.confDatei generieren /etc/apt/und diese mit den spezifischen Einträgen füllen, wie zum Beispiel:

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

Wenn eine Authentifizierung erforderlich ist, sieht die Konfigurationsdatei folgendermaßen aus:

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>";
Dolch
quelle
1

Dieses Problem kann auch durch eine falsch benannte Schnittstelle verursacht werden. Beispielsweise kann eine Temporary failure resolvingFehlermeldung durch eine Schnittstelle verursacht werden, die nicht benannt ist, eth0aber emlstattdessen einen falschen Namen hat .

karel
quelle
Ich kann mich aufgrund von Problemen mit lightdm nicht in meinem Konto anmelden. Ich muss lightdm aktualisieren. Können Sie Ihre Antwort zur Behebung des Problems erweitern? Vielen Dank.
Shayan
0

Beim Ausführen von apt-getBefehlen sind ähnliche Fehler aufgetreten. Es stellte sich heraus, dass ich das Software Update Panel auf der Konsole geöffnet hatte.
Dies schien die Befehlszeile zu blockieren apt-get, aber ich bin nicht sicher.

John
quelle
0

Dies ist ein DNS-Problem. Überprüfen Sie Ihre /etc/resolv.confDatei.

Zum Beispiel in meinem Fall, als ich dieses Problem hatte und diese Datei überprüfte, war die Datei leer! es sollte aber deinen dns-nameserver enthalten

Bergwerk:

nameserver 192.168.10.x

192.168.10.x is my gateway ip address

parisssss
quelle
3
Willkommen bei AskUbuntu! Wenn Sie helfen möchten, geben Sie eine ausführlichere Antwort. Ich meine, decken Sie die meisten möglichen Szenarien und Wege ab, um zum entsprechenden Tutorial zu gelangen oder einen Link zu veröffentlichen.
Danatela
1
Könnten Sie klären, was man einchecken sollte /etc/resolv.conf?
Papukaija
0

Ich hatte diesen Fehler. Nach einem Tipp des Linode-Supports habe ich alle IPv6-Zeilen in / etc / hosts auskommentiert und dann hat apt-get update funktioniert.

laura
quelle
0

Denken Sie bei Verwendung von EC2 daran, zu überprüfen, ob Ihre Sicherheitsgruppeneinstellungen ausgehende Verbindungen zu den Websites zulassen, von denen Sie aktualisieren. Sie können die Einstellung Gesamter ausgehender Datenverkehr festlegen und prüfen, ob dies funktioniert.

Kasperi
quelle
0

Die akzeptierte Lösung funktioniert bei mir nicht. Zunächst apt-get updatewarnt mich nur Temporary failure resolving 'foo.com', aber wenn ich es mit nslookup foo.comoder versuche ping foo.com, funktioniert es einwandfrei!

Mein unglaublich schmutziger Hack / Fix zur Behebung dieses Fehlers ist das manuelle Hinzufügen der aufgelösten Domains /etc/hostsmit diesem kurzen Skript:

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
}

Jetzt sollte das Update funktionieren:

resolveAptHosts && sudo apt-get update

Wenn jemand weiß, warum diese Problemumgehung funktioniert und wie dieser Fehler wirklich behoben werden kann, bin ich auf ewig dankbar. Ich habe auch versucht sudo apt-get update -o Acquire::ForceIPv4=true, Probleme mit IPv6-Lösungen auszuschließen, aber das hat auch nicht geholfen.

mxmlnkn
quelle
0

Ich habe das gleiche Problem in einer virtuellen VMware-Maschine, Host und Gast sind beide Ubuntu. Ich habe das Problem beim Ändern der Einstellungen der virtuellen Maschine behoben. Anstatt NAT zu verwenden, habe ich Bridged eingestellt. Es hat bei mir funktioniert

Jean-Marc
quelle
0

Die Fehlermeldung sollte besagen, dass Sie keine Internetverbindung haben. Dieselben Fehlermeldungen werden angezeigt, wenn Sie während der ersten Ubuntu-Installation keine Updates durchgeführt haben (keine Verbindung zu WLAN / Ethernet hergestellt). Nach Abschluss der Installation und einem Neustart bleiben Sie auf dem endlosen Ubuntu-Anmeldeanimationsbildschirm (beobachten Sie die sich bewegenden Punkte). .. Die obigen Fehlermeldungen werden angezeigt, wenn Sie jetzt Recovery starten und das Problem mit der Root-Eingabeaufforderung auch dann auftreten, apt-get updatewenn Sie das Netzwerk von Recovery aus aktivieren. Dadurch können Sie keine Verbindung zu WLAN herstellen, wenn Sie WLAN bei der Erstinstallation vermieden haben.

Lösung für diesen speziellen Randfall: Schließen Sie ein Ethernet-Kabel an, starten Sie Recovery und führen Sie das Problem aus, apt-get updateoder installieren Sie es von Grund auf neu, und stellen Sie sicher, dass Sie Updates aktivieren

Kernproblem - Wenn Sie während der Installation keine Verbindung zu WLAN hergestellt haben, um Paketaktualisierungen zu vermeiden, erhalten Sie während des Startvorgangs von Recovery keine Aufforderung zur WLAN-Anmeldung. Dies sollte behoben werden Verbindung

Scott Stensland
quelle