Timeout-Fehler bei der Aktualisierung / Installation von apt-get

7

Ich versuche ein apt-get updateoder zu machen apt-get install xyzund sehe Timeouts wie diese:

W: Failed to fetch http://eu-west-1.ec2.archive.ubuntu.com/ubuntu/dists/oneiric-updates/Release.gpg  
Unable to connect to eu-west-1.ec2.archive.ubuntu.com:http: [IP: 10.224.87.159 80]

Ist das ein vorübergehendes Problem mit Ubuntu oder ist es vielleicht etwas für mich? Die Box, über die ich darauf zugreife, befindet sich in EC2-EU.

Vielleicht gibt es eine Möglichkeit, das Installationsprogramm zu zwingen, die US-Server zu verwenden, die anscheinend funktionieren?

David Parks
quelle
Ich kann feststellen, dass ich dieses Problem nicht in einer US-Box sehe, sondern nur auf dem Server, der im Amazon EU-Rechenzentrum (Irland) ausgeführt wird.
David Parks
1
Ich kann auch nicht zum Server gelangen. Verwenden Sie einfach einen anderen Spiegel.
arrangieren
Wie wechsle ich die Spiegel? Wenn Sie als Antwort ein paar Anweisungen dazu geben könnten, wäre dies eine große Hilfe.
David Parks

Antworten:

10

Erstens gehe ich davon aus, dass die Zeitüberschreitungen ein vorübergehendes Problem mit Ubuntu-Update-Servern in dieser Region sind.

Es ist zu beachten, dass EC2 Ubuntu AMIs auf die Aktualisierung von Servern verweisen, die in der von Ihnen verwendeten EC2-Region gehostet werden. Es ist schnell (~ 10 Mbit / s) und Sie zahlen nicht für die Bandbreite.

Trotzdem wird nichts erzwungen, woher Sie Ihre Updates beziehen. Sie können Ihren /etc/apt/sources.listVerweis auf verschiedene Update-Server in einer anderen Region ändern . Zwei Vorschläge für eine Problemumgehung:

  • Kopieren Sie eine sources.listaus der US-Region an Ihre EU-Gastgeber.
  • Fügen Sie die folgende Zeile oben in Ihr Feld ein sources.list:
    deb mirror://mirrors.ubuntu.com/mirrors.txt oneiric main restricted universe multiverse

Das Schöne an der zweiten Lösung ist, dass diese "mirror.txt" -Datei dynamisch über GeoIP generiert wird und immer einen guten und relativ engen Spiegel zurückgeben sollte. Es ist großartig für uns Ubuntu-Benutzer, die häufig unterwegs sind.

Angesichts der besonderen Natur der Archivserver auf EC2 würde ich dies normalerweise nicht auf einer Cloud-Instanz tun. Und ich würde keine dieser Problemumgehungen als vorübergehende Maßnahme durchführen. Das Problem, wo immer es auch sein mag, ist vorübergehend und ich würde erwarten, dass es ziemlich schnell behoben wird.

Mark Russell
quelle
Aha, jetzt verstehe ich es. Ich habe diese Box aus den Amazon AMI-Images auf cloud.ubuntu.com erstellt und sie an den lokalen Server angeschlossen (der nicht so funktioniert, wie er angezeigt wird). Ich habe alle Zeilen mit diesem Server auskommentiert und Ihren Spiegel hinzugefügt: // Zeile oben und die Dinge scheinen zu funktionieren. Lassen Sie mich wissen, ob das Auskommentieren aller anderen Zeilen negative Nebenwirkungen hat.
David Parks
Hmm. Das ist ziemlich interessant. Mir ist nicht in den Sinn gekommen, dass die Zeile deb Mirror: // von selbst funktionieren würde, aber jetzt, wo Sie es erwähnen, ist es sinnvoll. Solange es funktioniert, sehe ich überhaupt kein Problem. Trotzdem würde es wahrscheinlich genauso gut funktionieren, wenn die ursprünglichen Einträge intakt bleiben. Die Spiegellinie muss nur an erster Stelle stehen.
Mark Russell
1
Es gab ungefähr 6 Zeilen, die auf den fehlerhaften Server verweisen. Es hat funktioniert, sie zu kommentieren. Wenn ich nur diese Zeile verlassen habe, konnte ich die gesamte Software installieren, die ich brauchte.
David Parks
Ich hatte dieses Problem ein paar Mal. Ich habe eine zusätzliche ENI und zusätzliche IP-Route / Regeln, um damit umzugehen. Und funktioniert nach der Konfiguration einwandfrei. Wenn ich die Instanz jedoch für einige Zeit (Wochen) verlasse und darauf zurückkomme, ist meine Konnektivität zu us-west-2. ec2.archive.ubuntu.com fällt aus. Das Neustarten der Instanz bringt es wieder hoch.
Ich
0

Ich sehe ein ähnliches Verhalten bei einem Cloud-Init-Prozess, wenn ich eine elastische IP als Teil der Metadaten zum Starten einer Instanz zuweise.

Das Seltsame ist, dass ich nur sporadische Timeouts sehe, die etwa 30 Sekunden lang einmal ausgeschaltet sind, während Cloud-Init ausgeführt wird. Ich teste dies mit einem Netcat, der alle 2 Sekunden als Teil des Cloud-Init ausgeführt wird. Ich bekomme für eine Weile alle paar Male nc Timeouts und dann stabilisiert es sich. DNS scheint jedes Mal zu funktionieren und gibt mir gelegentlich eine andere IP (wie erwartet).

Ich vermute etwas mit der elastischen IP-Zuweisung in der AWS-Infrastruktur, bin mir aber nicht sicher.

Das andere interessante Stück ist, dass http-Verbindungen zu einem lokalen Repo in meinem AWS-Konto gut funktionieren und Aufrufe von security.ubuntu.com (außerhalb von AWS, glaube ich) auch gut funktionieren. Bisher konnte ich nur etwa 15 Proben sammeln. Ich habe die Bestätigung, dass ein Netcat, wenn er archive.ubuntu.com nicht kann, an anderer Stelle erfolgreich ist

Ex aus meinem Skript in Cloud-Init:

us-east-1.ec2.archive.ubuntu.com is an alias for us-east-1.ec2.archive.ubuntu.com.s3.amazonaws.com.
us-east-1.ec2.archive.ubuntu.com.s3.amazonaws.com is an alias for s3-1-w.amazonaws.com.
s3-1-w.amazonaws.com has address 205.251.242.197
nc: connect to us-east-1.ec2.archive.ubuntu.com port 80 (tcp) timed out: Operation now in progress
Connection to {myawsserver}.ec2.{somedomain} 80 port [tcp/http] succeeded!
Connection to security.ubuntu.com 80 port [tcp/http] succeeded!
Verkäufer
quelle
1
Dies ist eher ein Kommentar als eine Antwort. Hast du eine lösung
jmunsch
Richtig - Ich arbeite immer noch an einer Lösung und habe diese als Antwort anstelle eines Kommentars falsch gepostet. Ich werde um eine Entfernung bitten. Vielen Dank.
Verkäufer