So verringern Sie die Wartezeit für Repository-Updates

32

Wenn ein tun aptitude update/ apt-get updatemanchmal oder mit dem Update Manager zu aktualisieren ich zu einem Repository Link erhalten , die zu lange dauert. Der Prozentsatz endet nicht und es dauert eine ganze Weile, bis er ignoriert wird.

Wie kann ich die Zeit verkürzen, damit ein bestimmtes Repository, das mehr als 10 Sekunden zum Herstellen oder Beenden benötigt, ignoriert und die folgenden verschiebt werden. Hier ist ein Bild, das das Problem erklärt:

Bildbeschreibung hier eingeben

Es wird versucht, eine Verbindung zu archive.ubuntu.com herzustellen, aber da dies zu lange dauert, befindet es sich dort nur für mindestens 3 bis 5 Minuten (die Zeit wurde nicht gemessen) und wird dann als ignoriert angezeigt. Ich möchte das in Sekunden anstatt in Minuten ändern.

Luis Alvarado
quelle
Versuchen Sie es mit einem anderen Spiegel. Die Standardeinstellungen für jeden Grund sind oft nicht die schnellsten. Zum Beispiel würde mich der Standardspiegel für China immer 5-15 Minuten warten lassen, um meine Repositorys zu aktualisieren. Änderte es zu einem schnelleren und jetzt dauert es ungefähr 30 Sekunden.
Adempewolff
1
@adempewolff Würden Sie eine Antwort schreiben können / wollen, die die Informationen in diesem Kommentar enthält, und auch zeigen (einschließlich einer Beschreibung und eines Bildes), wie der Spiegel in den Software-Quellen geändert werden kann?
Eliah Kagan

Antworten:

38

Wie kann ich die Zeit verkürzen, damit ein bestimmtes Repository, das mehr als 10 Sekunden zum Herstellen oder Beenden benötigt, ignoriert und die folgenden verschiebt?

Spiegel sind eine Option, wie @adempewolff erklärte. Lassen Sie mich Ihnen jedoch eine direkte Antwort geben:

Apt-get Verbindungs-Timeouts einstellen

Sie können diese Zeitüberschreitungen über die folgenden apt.confOptionen steuern :

  Acquire :: http :: Timeout "10";
  Acquire :: ftp :: Timeout "10";
  

Beachten Sie, dass dies nur für Zeitüberschreitungen bei der Verbindung gilt, NICHT für Zeitüberschreitungen beim Beenden der Verbindung. Wenn also eine Verbindung innerhalb von 10 Sekunden hergestellt wird, wird ein 100-MB-Paket weiterhin heruntergeladen, auch wenn es 1 KB / Sekunde beträgt :)

Um diese Optionen zu implementieren, erstellen Sie einfach eine conf-Datei in /etc/apt/apt.conf.d; Angenommen, wir nennen es 99timeout.

  • Drücken Sie Alt+F2, tippen Siegksudo gedit /etc/apt/apt.conf.d/99timeout
  • Geben Sie die obigen Zeilen ein, und legen Sie das Zeitlimit in Sekunden fest
  • Speichern und schließen.
  • Versuchen Sie es jetzt sudo apt-get update

Und der "find best server" -Hack des Terminal-Süchtigen!

Erweitert und verschoben als Antwort auf diese passendere Frage


Zusätzliche apt-get conf-Optionen, die Sie anpassen können

  • Acquire::Queue-Mode: Warteschlangenmodus; Der Warteschlangenmodus kann einer der hostModi sein, accessdie bestimmen, wie APT ausgehende Verbindungen parallelisiert. hostbedeutet, dass eine Verbindung pro Zielhost geöffnet wird, accessbedeutet, dass eine Verbindung pro URI-Typ geöffnet wird.

  • Acquire::Retries: Anzahl der auszuführenden Wiederholungsversuche. Wenn dies nicht Null ist, wiederholt APT fehlgeschlagene Dateien so oft wie angegeben.

  • Acquire::http::Dl-Limit: Akzeptiert ganzzahlige Werte in Kilobyte, um die Downloadgeschwindigkeit zu drosseln und das Surfen / E-Mail / etc. nicht zu verlangsamen. beim updaten. Der Standardwert ist 0, wodurch das Limit deaktiviert wird und versucht wird, die Bandbreite so weit wie möglich zu nutzen. Wenn aktiviert, wird die Funktion apt-getzum parallelen Herunterladen deaktiviert .

  • Durchstöbern man apt.confSie, wenn Sie glauben, dass etwas anderes helfen könnte!

ish
quelle
1
Gibt es eine Möglichkeit, ein Timeout für die Endzeit zu implementieren? Ich weiß in meinem Fall (und ich vermute im Fall des OP, als er den Prozentsatz erwähnt, der für immer dauert, was impliziert, dass es bereits verbunden ist), dass es normalerweise nicht um das Zeitlimit für die Verbindung geht, sondern nur um das Problem, dass die Verbindung mühsam langsam ist ( wie 1 kb / s langsam).
Adempewolff
Ich wünschte, ich könnte dir für diesen zweiten Teil +2 geben. Ich habe mich schon lange gefragt, wie man vom Terminal aus nach den schnellsten Servern sucht.
Adempewolff
Danke @adempewolff, ich möchte eigentlich so etwas wie netselect-aptfür Ubuntu schreiben / modifizieren, damit alles in der ausführbaren Datei ist. Bezüglich Ihrer Frage zur Endzeit glaube ich nicht, dass es einen Weg auf der Ebene von apt-conf gibt. Aber man apt.conf, und siehe "Die Gruppe erfassen ", insbesondere Warteschlangenmodus und Wiederholungen, die hilfreich sein können.
ish
Ich habe zugesagt, aber für den "besten Server-Hack" habe ich dir eine +1 für diese andere und diese Antwort gegeben. Es ist sehr schlau.
Luis Alvarado
5

Oft ist das schmerzhafte langsame Laden bestimmter Repositorys nur ein Symptom für die Verwendung eines langsamen Spiegels. Die Standardspiegel für viele Regionen sind nicht die schnellsten (ich weiß, dass dies in China der Fall ist).

Das Ändern Ihres Spiegels ist ganz einfach über die Benutzeroberfläche von Software Sources möglich. Sie können dieses Fenster auf zwei Arten öffnen:

  1. Öffnen Sie Ubuntu Software Centerund klicken Sie Software Sourcesim EditMenü auf.

oder

  1. Öffnen Sie ein Terminal (oder einen Typ alt-F2) und führen Sie es aussoftware-properties-gtk

Wenn dieses Fenster geöffnet wird, wird ein Dropdown-Menü angezeigt Download From:, das Ihren Spiegel auswählt. Wählen Sie die OtherOption aus diesem Menü.

Softwarequellen

Klicken Sie im neuen Fenster auf die Select Best ServerSchaltfläche, um den schnellsten Server für Ihren Standort zu testen und automatisch auszuwählen.

wähle den besten Server aus

Hoffe das hilft!

Siehe auch:

adempewolff
quelle
Hmmm, ich kann den Screenshot nicht bekommen, um das Dropdown-Menü in Aktion zu erfassen. Ich weiß nicht, ob ich eine Frage dazu stellen oder einen Fehler
melden
Ein weiterer möglicher Fehler, den ich software-properties-gtkSoftware Sources
melden
Gute Antwort adempewolff. Als erster Schritt wäre das alles. Wenn es nicht funktioniert, ist die akzeptierte Antwort die Lösung. +1 Danke.
Luis Alvarado
2

apt-fast funktioniert wie apt-get , lädt jedoch gleichzeitig Repository-Updates und -Pakete herunter. In diesem Tutorial erfahren Sie, wie Sie es verwenden.

tslocum
quelle