Frage Wie wählst du den schnellsten Spiegel von der Kommandozeile aus?


Ich möchte mein Update durchführen sources.list Datei mit dem schnellsten Server von der Befehlszeile in einer neuen Ubuntu Server-Installation. Ich weiß, dass das mit der GUI trivial ist, aber es scheint keine einfache Möglichkeit zu sein, es von der Kommandozeile aus zu tun.


123
2018-05-04 06:35


Ursprung


In regulären Ausdrücken, der. Charakter bedeutet jedes Zeichen. Wenn Sie möchten, dass es mit einem. Übereinstimmt, müssen Sie es mit \ entschlüsseln, damit us.archive [..] uns \ .archive [..] - Egil
Verbunden: askubuntu.com/questions/37753/ ... - Jorge Castro
In meinem Fall musste ich das ersetzen # Zeichen mit Schrägstrichen (/). Sonst bin ich gekommen sed: -e expression #1, char 53: unterminated s "Befehl". - Ethan Leroy
@EthanLeroy gleich hier mit Ubuntu 12.04.3 - logoff
Sollte Schrägstrich nicht Hash sein. - Matt H


Antworten:


Paket netselect-apt

    dapper (net): Wählen Sie den schnellsten Debian-Spiegel mit netselect
    [Universum]
    0.3.ds1-5: alle
    hardy (net): Wähle den schnellsten Debian-Spiegel mit netselect
    [Universum]
    0.3.ds1-11: alle
Pakket apt-Spion

    dapper (admin): schreibt eine sources.list-Datei basierend auf Bandbreitentests
    [Universum]
    3.1-14: amd64 i386 powerpc

Nicht im neueren Ubuntu enthalten, aufgrund von Sicherheitsrisiken scheint es: siehe: Fehlerbericht

Aber .. ich benutze normalerweise nur Klingeln um die Geschwindigkeit einer Verbindung zu einem bestimmten Ort herauszufinden. Menge an Hops und Latenz


19
2018-05-04 07:07



netselect-apt scheint in Ubuntu 12.04 nicht verfügbar zu sein - offby1
richtig: siehe hier bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377 - Rinzwind
Dies ist nicht die beste oder die beste Antwort mehr, überprüfen Sie die nächste - ntg
Welche Antwort ist die "nächste" könnte sich geändert haben. - gmatht
apt-spy ist bei debian 9 weg, aber netselect-apt ist in Ordnung - netawater


Sie müssen nicht mehr suchen - als Ajmitch hat erklärtkannst du benutzen deb mirror um automatisch den besten Spiegel für Sie auszuwählen.

apt-get unterstützt jetzt eine "Spiegel" -Methode, die basierend auf Ihrem Standort automatisch einen guten Spiegel auswählt. Putten:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse

ganz oben in deinem /etc/apt/sources.list Datei sollte alles sein, was benötigt wird, um automatisch einen Spiegel für Sie basierend auf Ihrem geografischen Standort auszuwählen.

Lucid (10.04), Maverick (10.10), Natty (11.04) und Oneiric (11.10) können ersetzen precise mit dem passenden Namen.


134
2017-10-23 10:31



Tolles Trinkgeld. Beachten Sie, dass Sie nach der Änderung ausgeführt werden müssen sudo apt-get update bevor du etwas machst apt-get install damit es deinen nächsten Spiegel benutzt. - Simon East
Verbunden: askubuntu.com/q/319433/11244 - Till
Netter Tipp, aber in meinem Fall nicht hilfreich. Es funktioniert auf Geolocation, gibt mir den lokalen Server, der waaaayy langsamer ist, wo ich bin. Die zeitliche Entfernung des Netzwerks ist hier der wichtige Faktor, nicht die räumliche Entfernung. - jarondl
in der Tat, zum Beispiel hier in Italien setzen Sie einen Spiegel ein, der langsamen Download hat ... - Pisu
zur Zeit kaputt: bugs.launchpad.net/ubuntu/+source/apt/+bug/1613184 - marathon


Hier ist ein Weg, der immer funktioniert, mit guten alten netselect und einige grep Zauber:

Der "Finde den besten Server" -Hack!

  • Herunterladen und dpkg -i  netselect für deine Architektur von der Debian-Website. (es ist ungefähr 125 KB, keine Abhängigkeiten)
  • Finde die schnellsten Ubuntu-Spiegel von deinem Standort, entweder aktuell oder höchstens sechs Stunden später (ich erkläre es unten, sorry, dass es sich nicht gut in Markdown aufteilt)

    sudo netselect -v -s10 -t20 `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "statusUP | statusSIX" | grep -o -P "(f | ht) tp: // [^ \"] * "`
    
  • netselect:

    1. -v macht es ein wenig wortreich - Sie möchten Fortschrittspunkte und Nachrichten sehen, die Ihnen sagen, dass verschiedene Spiegelungen, die auf dieselbe IP-Adresse abgebildet sind, zusammengeführt wurden :)
    2. -sN Steuert, wie viele Spiegel am Ende gewünscht sind (z. B. die Top 10 Spiegel)
    3. -tN ist, wie lange jeder Spiegel Geschwindigkeit getestet wird (Standard ist 10; je höher die Zahl, desto länger dauert es, aber desto zuverlässiger sind die Ergebnisse.)
  • Dies ist das Backquotes-Zeug (nicht einfügen, nur zur Erläuterung)

    wget -q -O- https://launchpad.net/ubuntu/+archivemirrors
    | grep -P -B8 "Status (UP | SIX)"
    | grep -o -P "(f | ht) tp: // [^ \"] * "
    
    1. wget Ruft den neuesten Spiegelstatus ab https://launchpad.net/ubuntu/+archivemirrors.
    2. Der Erste grep extrahiert Mirrors, die aktuell oder sechs Stunden im Rückstand sind, zusammen mit 8 Zeilen des vorherigen Kontexts, der die tatsächlichen ftp / http-URLs enthält
    3. Der Zweite grep extrahiert diese FTP / HTTP-URLs
  • Hier eine Beispielausgabe aus Kalifornien, USA:

    60 ftp://mirrors.se.eu.kernel.org/ubuntu/
    70 http://ubuntu.alex-vichev.info/
    77 http://ftp.citylink.co.nz/ubuntu/
    279 http://ubuntu.mirrors.tds.net/pub/ubuntu/
    294 http://mirror.umd.edu/ubuntu/
    332 http://mirrors.rit.edu/ubuntu/
    364 ftp://pf.archive.ubuntu.com/ubuntu/
    378 http://mirror.csclub.uwaterloo.ca/ubuntu/
    399 ftp://ubuntu.mirror.frontiernet.net/ubuntu/
    455 http://ubuntu.mirror.root.lu/ubuntu/
    
    • Die "Ränge" sind eine willkürliche Metrik; niedriger ist normalerweise besser.
    • Wenn Sie sich fragen, warum der kernel.org Schweden-EU-Spiegel und ein NZ-Spiegel in den Top drei sind KalifornienNun, ich auch ;-) Die Wahrheit ist das netselect wählt nicht immer die am besten geeignete URL aus, die angezeigt wird, wenn mehrere Spiegelserver einer einzelnen IP zugeordnet werden; Nummer 3 ist auch bekannt als nz.archive.ubuntu.com!

47
2018-05-24 06:45



netselect wählt Spiegel mit niedriger UDP- oder ICMP-Latenz aus. Es wählt nicht unbedingt Spiegel aus, die mehr Bandbreite geben können. - Tobu
@pix Ich habe Ihre Änderung genehmigt, aber es ist keine Befehlsersetzung, die dazu führt, dass Zeilenumbrüche ersetzt werden. Die nachfolgende Feldaufteilung hat die Zeilenumbrüche entfernt. Die Befehlsersetzung entfernt nur nachfolgende Zeilenumbrüche. - muru
@muru danke, ich habe gerade etwas gelernt :) - pix


Hier ist ein Python-Skript Ich schrieb, dass Spiegel mit der niedrigsten TCP-Latenz gefunden werden.

Das Skript stellt auch die Bandbreite und die Statusdaten bereit, aus denen es entnommen wurde Launchpadund wird ein neues generieren sources.list Datei automatisch oder mit einem Spiegel aus einer Liste ausgewählt.


15
2018-06-10 23:58



Das ist großartig, danke! - Wouter Van Vliet
Ich möchte Sie wissen lassen, dass ich ein Debian-Paket mit Ihrem Skript erstellt habe, das auf einfache und unkomplizierte Weise verwendet werden kann: github.com/brodock/apt-select/releases/tag/0.1.0 - Gabriel Mazetto
Dies ist eine perfekte Lösung, da ich die anderen Methoden ausprobiert habe. Um Noob freundlich zu machen, habe ich einen Beitrag geschrieben, der diese Methode beschreibt: blog.kmonsoor.com/... - kmonsoor
Das ist großartig, seit netselect ist in neueren Versionen von Ubuntu nicht verfügbar - Tek


Oneliner, der den besten (durch Downloadgeschwindigkeit) Spiegel auswählt, der auf mirrors.ubuntu.com für deine IP basiert.

curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -n1 -I {} sh -c 'echo `curl -r 0-102400 -s -w %{speed_download} -o /dev/null {}/ls-lR.gz` {}' |sort -g -r |head -1| awk '{ print $2  }'

14
2018-01-10 19:40



Um mehr Optionen zu haben, ersetzen Sie am Ende: sort -gr | head -3. - Pablo Bianchi
Zur Zeit, curl -s http://mirrors.ubuntu.com/mirrors.txt gibt nur eine Zeile zurück: http://archive.ubuntu.com/ubuntu/ was den Zweck der Auswahl unter mehreren besiegt. : - / - Stéphane Gourichon
Ja, also ist diese Methode NG. - netawater
ich fand die curl Teil dieser Antwort hilfreich, weil curl -r 0-102400 -o /dev/null [server_url]/ls-lR.gz woher [server_url] ist die Basisspiegel-URL, die in aufgelistet ist mirrors.txt, erlaubt einen Geschwindigkeitsvergleich der ersten ~ 100K der Indexdatei vom Spiegel. - jamesc
Dies testet die Übertragungsgeschwindigkeit, was definitiv eine Verbesserung gegenüber dem Netselect ist. Es werden nur 10k von jedem Server heruntergeladen, was jedoch bei schnellen Verbindungen nicht unbedingt eine gute Darstellung der Übertragungsgeschwindigkeit darstellt. Erhöhen Sie diese 102400, um mit einem größeren Download zu testen - Phil Miller


Ich habe ein einfaches Ping-basiertes Nodejs-Skript entwickelt, das die auf der Seite mirrors.ubuntu.com/mirrors.txt aufgelisteten Server testet und das schnellste zurückgibt:

sudo npm install -g ffum
ffum

Bitte lassen Sie mich wissen, wenn Sie es nützlich finden oder irgendwelche Vorschläge (=


5
2018-05-14 16:56



ffum funktioniert nicht: Verbindungsfehler. - James Fu
Es funktioniert nicht: Leere Ausgabe. - Juan Simón
git clone das Repo und Lauf node ffum - Michael
Super, funktioniert für mich! Ich hatte einen Fehler, wo es nach Knoten anstelle von Nodejs suchte ... auch wäre es cool, etwas ausführlich von jeder getesteten Archivierungsgeschwindigkeit zu haben. - tweak2


Ich weiß, dass dies nicht direkt die Frage des OP beantwortet, aber es gibt einen Knopf in der Desktop- / GUI-Version von Ubuntu, der den besten Spiegel für dich findet. Es schien ziemlich gut zu funktionieren, also habe ich kurz darüber nachgedacht, aber ich hatte keine Zeit nachzuholen.

Der Grund, warum ich es aufbringe, ist, weil ich denke, es wäre ziemlich einfach und brauchbar, um es zu einem Befehlszeilenprogramm zu machen.

Wenn jemand interessiert ist, scheint der Test in:

/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py

Das ist ungefähr so ​​weit, wie ich gekommen bin, aber ich dachte, ich würde das hier lassen, für den Fall, dass jemand es wollte. Ich werde wahrscheinlich wieder darauf zurückgreifen, wenn ich ein wenig mehr Zeit habe.


2
2017-10-29 21:35



Am 18.04 erkennt dieses Skript, wenn es als Anwendung aufgerufen wird (z. B. Main) von einem Terminal .... und druckt nur seine Ergebnisse an das Terminal. Stellen Sie sicher, dass Sie genügend Zeit haben, um abzuschließen. $ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py >> [top 5 omitted] and the winner is: ny-mirrors.evowise.com - PatKilg


Ich verwende Folgendes, um Spiegel automatisch auszuwählen (und deb-src zu deaktivieren)

sudo sed -i -e 's%http://archive.ubuntu.com/ubuntu%mirror://mirrors.ubuntu.com/mirrors.txt%' -e 's/^deb-src/#deb-src/' /etc/apt/sources.list

0
2017-07-09 12:37