3.5. Am besten erreichbaren Paketmirror finden

Jeder Paketmirror hat eine spezifische Leistungsfähigkeit, die sich an den drei Kriterien Netzanbindung, Hardwareausstattung und Grundlast messen lässt. Auf die ersten beiden Merkmale haben Sie von außen als Nutzer keinen Einfluss, auf den dritten nur bedingt. Leistungsfähigere Paketmirror werden in der Regel auch häufiger nachgefragt.

Über die Einträge in der Datei /etc/apt/sources.list (siehe Abschnitt 3.3, „Die Datei /etc/apt/sources.list verstehen“) steuern Sie, welchen verfügbaren Paketmirror Sie benutzen, um den Softwarebestand auf ihrem System aktuell zu halten. Je leistungsfähiger der von Ihnen gewählte Paketmirror ist, umso weniger Zeit benötigen Sie im Endeffekt, um die lokale Aktualisierung vorzubereiten und durchzuführen.

Anstatt diese Schritte aufwendig über die Kombination einzelner Werkzeuge wie ping oder traceroute zu ermitteln, sind hier die beiden Programme netselect [Debian-Paket-netselect] und netselect-apt [Debian-Paket-netselect-apt] die besseren Mittel der Wahl. Damit finden Sie den Paketmirror heraus, der netztechnisch von ihrem aktuellen Standort aus am besten erreichbar ist, sprich: Ihnen die geringste Bezugszeit für Pakete ermöglicht.

3.5.1. netselect und netselect-apt

Die beiden Programme netselect und netselect-apt überprüfen den von Ihnen benannten Spiegelserver anhand von mehreren Kriterien. Dazu gehört primär die grundsätzliche Erreichbarkeit über das Netzwerk, die Pingzeit – d.h. wieviel Zeit benötigt ein Netzwerkpaket vom Paketmirror zu Ihrem Computer – , sowie die Verlustrate der Netzwerkpakete vom Spiegelserver zu Ihnen. Gleichzeitig wird die Anzahl der Zwischenknoten von Ihrem Computer zum Spiegelserver gezählt, auch genannt Hops. Bevorzugt werden lokale Paketmirrors, was sich auch im daraus errechneten Zahlenwert niederschlägt. Je kleiner der ermittelte Wert ist, umso besser ist das für Sie.

Zwischen netselect und netselect-apt bestehen die folgenden Unterschiede:

  • netselect gibt nur den ermittelten Zahlenwert für den evaluierten Spiegelserver aus.
  • netselect-apt erzeugt eine Datei namens sources.list in dem Verzeichnis, in welchem Sie netselect-apt aufrufen. netselect-apt überschreibt dabei die Datei /etc/apt/sources.list nicht von sich aus. Die generierte Datei beinhaltet die besten gefundenen Spiegelserver und kann von Ihnen danach als neue Liste der Paketquellen benutzt werden. Dazu kopieren Sie die generierte Datei sources.list in das Verzeichnis /etc/apt/.
  • netselect-apt ist nicht (mehr) für Ubuntu paketiert [netselect-apt-ubuntu]. Es steht für Debian zur Verfügung und funktioniert zuverlässig in allen Debian-Versionen.

Aktualisierung der Liste der Paketquellen

Zu Änderungen an den Paketquellen beachten Sie bitte auch unsere Hinweise unter „/etc/apt/sources.list verstehen“ in Abschnitt 3.3, „Die Datei /etc/apt/sources.list verstehen“. Wir raten Ihnen dazu, die neue Liste der Paketquellen zuerst lokal zu erstellen und danach manuell in das Verzeichnis /etc/apt/ zu verschieben.

Paketquellen nach Pingzeiten und Entfernung auswählen

netselect und netselect-apt akzeptieren beim Aufruf eine Menge verschiedener Schalter und Parameter. Stets anzugeben ist mindestens ein Spiegelserver, der zu testen ist. Geben Sie hingegen eine ganze Liste an, werden alle daraus nacheinander überprüft. Die nachfolgende Ausgabe zeigt das Ergebnis für fünf angefragte Paketmirrors.

Aufruf von netselect mit fünf verschiedenen Paketmirrors. 

# netselect -v ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
netselect: unknown host ftp.debian.org.br
Running netselect to choose 1 out of 8 addresses.
...............................................................
   73 ftp.debian.org
#

Mit dem zusätzlichen Schalter -v regeln Sie die Ausführlichkeit der Ausgabe. Ohne den Schalter geben beide Programme nur den Paketmirror aus, der den besten Wert hat, mit -vv bzw. -vvv oder sogar -vvvv entsprechend mehr Details.

Etwas ausführlichere Ausgabe zu den Paketmirrors. 

# netselect -vv ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
netselect: unknown host ftp.debian.org.br
Running netselect to choose 1 out of 8 addresses.
...............................................................
128.61.240.89          141 ms   8 hops   88% ok ( 8/ 9) [  284]
ftp.debian.org          41 ms   8 hops  100% ok (10/10) [   73]
128.30.2.36            118 ms  19 hops  100% ok (10/10) [  342]
64.50.233.100          112 ms  14 hops   66% ok ( 2/ 3) [  403]
64.50.236.52           133 ms  15 hops  100% ok (10/10) [  332]
ftp.at.debian.org       47 ms  13 hops  100% ok (10/10) [  108]
download.unesp.br      314 ms  10 hops   75% ok ( 3/ 4) [  836]
ftp.debian.org.br     9999 ms  30 hops    0% ok
   73 ftp.debian.org
#

In der Ausgabe erscheinen die IP-Adresse bzw. der Hostname (Spalte 1), nachdem aufgelöst wird, die durchschnittliche Paketlaufzeit (Spalte 2), die Anzahl der Zwischenknoten (Spalte 3) sowie die Verlustrate der Pakete auf dem Transportweg (Spalte 4 bis 6). Die Angabe ok besagt dabei, dass der Paketmirror über das Netz erreichbar ist. Die Angabe 9999ms für die Paketlaufzeit besagt hingegen, dass der Paketmirror zum Testzeitpunkt leider nicht erreichbar war.

Die Werte in den runden Klammern in Spalte 6 zeigen, wie der Prozentwert der Verlustrate der Pakete in Spalte 4 zustandekam. Dieser basiert auf der Anzahl Pakete, die der Paketmirror als empfangen bestätigt hat, jeweils gegenübergestellt der Anzahl gesendeter Pakete. Die Zahl in den eckigen Klammern am Ende jeder ausgegebenen Zeile (Spalte 7) ist der Wert, den netselect für den jeweiligen Paketmirror ermittelt hat.

Noch mehr Informationen zu den Paketmirrors. 

# netselect -vvv ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
netselect: unknown host ftp.debian.org.br
Running netselect to choose 1 out of 8 addresses.
128.30.2.36            122 ms   15 hops - HIGHER
64.50.233.100          112 ms   15 hops - OK
ftp.at.debian.org       49 ms   15 hops - OK
min_lag is now 49
64.50.236.52           140 ms   15 hops - OK
ftp.debian.org          42 ms   15 hops - OK
min_lag is now 42
ftp.at.debian.org       48 ms    8 hops - HIGHER
128.30.2.36            117 ms   23 hops - OK
ftp.debian.org          41 ms    8 hops - OK
min_lag is now 41
64.50.233.100          112 ms    8 hops - HIGHER
64.50.236.52           112 ms    8 hops - HIGHER
ftp.debian.org          28 ms    4 hops - HIGHER
ftp.at.debian.org       49 ms   12 hops - HIGHER
ftp.debian.org          38 ms    6 hops - HIGHER
ftp.at.debian.org       48 ms   14 hops - OK
128.30.2.36            119 ms   19 hops - OK
64.50.233.100          113 ms   12 hops - HIGHER
ftp.debian.org          53 ms    7 hops - HIGHER
ftp.at.debian.org       49 ms   13 hops - OK
64.50.236.52           114 ms   12 hops - HIGHER
ftp.debian.org          42 ms    8 hops - OK
download.unesp.br      306 ms   15 hops - OK
ftp.at.debian.org       48 ms   13 hops - OK
ftp.debian.org          42 ms    8 hops - OK
ftp.at.debian.org       49 ms   13 hops - OK
64.50.233.100          114 ms   14 hops - OK
128.30.2.36            118 ms   17 hops - HIGHER
ftp.debian.org          42 ms    8 hops - OK
64.50.236.52           138 ms   14 hops - HIGHER
ftp.at.debian.org       49 ms   13 hops - OK
ftp.debian.org          41 ms    8 hops - OK
ftp.at.debian.org       49 ms   13 hops - OK
ftp.debian.org          41 ms    8 hops - OK
128.30.2.36            119 ms   18 hops - HIGHER
ftp.debian.org          43 ms    8 hops - OK
ftp.at.debian.org       48 ms   13 hops - OK
64.50.236.52           132 ms   15 hops - OK
ftp.debian.org          43 ms    8 hops - OK
ftp.at.debian.org       48 ms   13 hops - OK
ftp.debian.org          42 ms    8 hops - OK
128.30.2.36            118 ms   19 hops - OK
ftp.at.debian.org       48 ms   13 hops - OK
download.unesp.br      313 ms    8 hops - HIGHER
64.50.236.52           134 ms   15 hops - OK
128.30.2.36            122 ms   19 hops - OK
64.50.236.52           133 ms   15 hops - OK
128.30.2.36            129 ms   19 hops - OK
download.unesp.br      307 ms   12 hops - OK
64.50.236.52           140 ms   15 hops - OK
128.30.2.36            124 ms   19 hops - OK
64.50.236.52           133 ms   15 hops - OK
128.30.2.36            117 ms   19 hops - OK
128.30.2.36            117 ms   19 hops - OK
64.50.236.52           134 ms   15 hops - OK
download.unesp.br      308 ms   10 hops - OK
128.30.2.36            118 ms   19 hops - OK
64.50.236.52           134 ms   15 hops - OK
128.30.2.36            118 ms   19 hops - OK
64.50.236.52           133 ms   15 hops - OK
download.unesp.br      305 ms    9 hops - HIGHER
64.50.236.52           131 ms   15 hops - OK


download.unesp.br      307 ms  10 hops   75% ok ( 3/ 4) [  818]
128.30.2.36            119 ms  19 hops  100% ok (10/10) [  345]
64.50.233.100          113 ms  14 hops   66% ok ( 2/ 3) [  405]
64.50.236.52           134 ms  15 hops  100% ok (10/10) [  335]
128.61.240.89         9999 ms  30 hops    0% ok
ftp.at.debian.org       48 ms  13 hops  100% ok (10/10) [  110]
ftp.debian.org          41 ms   8 hops  100% ok (10/10) [   73]
ftp.debian.org.br     9999 ms  30 hops    0% ok
   73 ftp.debian.org
#

Ergebnis des obigen Aufrufs ist eine Empfehlung für einen der Paketmirrors, die Sie im Aufruf benannt haben. Dieser Paketmirror ist von ihrem Standort aus derzeit am besten erreichbar. Das ermittelte Ergebnis schwankt und hängt stets von der aktuellen Netzauslastung ab.

Die Empfehlung und der ermittelte Zahlenwert stehen in der letzten Zeile der Ausgabe und zeigen hier den Wert 73 für den Server ftp.debian.org. Die angegebene Zahl errechnet sich aus den bereits zu Beginn genannten Kriterien und ist vergleichbar mit einem Punktwert, hat jedoch offiziell keine Einheit. Je höher der Wert ist, umso schlechter ist der Paketmirror von Ihrem aktuellen Standort im Netz zu erreichen.

Anzahl der Hops begrenzen

Die Auswahl des Paketmirrors läßt sich auch von der Anzahl der Zwischenknoten (Hops) abhängig machen. netselect kennt dazu den Schalter -m gefolgt von der Anzahl der Zwischenknoten. Nachfolgende Ausgabe zeigt das für den Server ftp.at.debian.org. Die Ausgabe ist sortiert, d.h. der Paketmirror mit den wenigsten Hops steht ganz oben in der Liste.

Paketmirror mit den wenigsten Zwischenknoten. 

# netselect -m 10 -vvv ftp.at.debian.org
Running netselect to choose 1 out of 1 address.
ftp.at.debian.org                       33 ms    5 hops - HIGHER
ftp.at.debian.org                       51 ms    8 hops - HIGHER
ftp.at.debian.org                       51 ms    9 hops - HIGHER
ftp.at.debian.org                       47 ms   10 hops - OK
min_lag is now 47
ftp.at.debian.org                       49 ms   10 hops - OK
ftp.at.debian.org                       48 ms   10 hops - OK
ftp.at.debian.org                       56 ms   10 hops - OK
ftp.at.debian.org                       49 ms   10 hops - OK
ftp.at.debian.org                       48 ms   10 hops - OK
ftp.at.debian.org                       48 ms   10 hops - OK
ftp.at.debian.org                       48 ms   10 hops - OK
ftp.at.debian.org                       48 ms   10 hops - OK
ftp.at.debian.org                       48 ms   10 hops - OK


ftp.at.debian.org                       48 ms  10 hops  100% ok (10/10) [   96]
   96 ftp.at.debian.org
#

Einen geschützten Paketmirror abfragen

Ist der Paketmirror beispielweise von einer Firewall geschützt und diese blockiert UDP-Pakete, kann die Option -I von größerem Nutzen sein. Damit sendet netselect zur Abfrage stattdessen ICMP-Pakete und umgeht das Hindernis. Das Ergebnis sehen Sie in der nachfolgenden Ausgabe:

Paketmirror mit ICMP-Paketen abfragen. 

# netselect -I -vvv ftp.de.debian.org
Running netselect to choose 1 out of 1 address.
ftp.de.debian.org            37 ms   15 hops - OK
min_lag is now 37
ftp.de.debian.org            36 ms    8 hops - OK
min_lag is now 36
ftp.de.debian.org            27 ms    4 hops - HIGHER
ftp.de.debian.org            36 ms    6 hops - HIGHER
ftp.de.debian.org            36 ms    7 hops - OK
ftp.de.debian.org            36 ms    7 hops - OK
ftp.de.debian.org            36 ms    7 hops - OK
ftp.de.debian.org            36 ms    7 hops - OK
ftp.de.debian.org            36 ms    7 hops - OK
ftp.de.debian.org            36 ms    7 hops - OK
ftp.de.debian.org            37 ms    7 hops - OK
ftp.de.debian.org            38 ms    7 hops - OK


ftp.de.debian.org            36 ms   7 hops  100% ok (10/10) [   61]
   61 ftp.de.debian.org
#

Liste der Paketquellen mit netselect-apt generieren lassen

Wie bereits in Abschnitt 3.5.1, „netselect und netselect-apt angesprochen, erzeugt netselect-apt eine Datei sources.list im aktuellen Verzeichnis. Es verfügt zudem über den Schalter -o (Langform --outfile), mit dem Sie die entsprechende Ausgabedatei angeben und eine passende Liste darin generieren lassen. netselect-apt akzeptiert für die Wahl der Veröffentlichung auch Angaben wie stable oder unstable, aber auch die Alternativnamen der Veröffentlichung wie Bookworm oder Sid (siehe „Veröffentlichungen“ in Abschnitt 2.10, „Veröffentlichungen“).

Insgesamt kennt netselect-apt diese Schalter zur Steuerung der Liste:

-a (Langform --arch)
Erzeugung der Liste für die angegebene Prozessorarchitektur. Eine Übersicht zu den von Debian unterstützten Architekturen finden Sie unter „Debian-Architekturen“ in Kapitel 50, Debian-Architekturen. Geben Sie keinen Wert an, benutzt netselect-apt den Wert, den dpkg als Architektur zurückliefert.
-c (Langform --country)
Die Einträge kommen nur aus dem angegebenen Land.
-f (Langform --ftp)
Benutze FTP-Quellen anstatt von HTTP-Quellen.
-n (Langform --nonfree)
Ergänzung der Einträge um den Distributionsbereich nonfree (siehe „Distributionsbereiche“ in Abschnitt 2.9, „Distributionsbereiche“).
-o (Langform --outfile)
Speichere die erzeugte Liste in der angegebenen Datei.
-s (Langform --sources)
zusätzliche Erzeugung von Einträgen für den Bezug von Quellpaketen (siehe „Sourcepakete“ in Abschnitt 2.7.4, „Source-Pakete (dsc und weitere Dateien)“ und „Einträge für Quellpakete“ in Abschnitt 3.3.7, „Einträge für Quellpakete“).

Im nachfolgenden Beispiel kommt zunächst lediglich der Schalter -o test.list zum Einsatz. netselect-apt erzeugt die Liste der ermittelten Paketmirrors in der Datei test.list im lokalen Verzeichnis.

Speicherung der ermittelten Paketmirrors in einer separaten Datei. 

# netselect-apt stable -o test.list
Using distribution stable.
Retrieving the list of mirrors from www.debian.org...

--2014-02-13 14:55:02--  http://www.debian.org/mirror/mirrors_full
Auflösen des Hostnamen »www.debian.org (www.debian.org)«... 5.153.231.4, 130.89.148.14, 2001:610:1908:b000::148:14, ...
Verbindungsaufbau zu www.debian.org (www.debian.org)|5.153.231.4|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 338381 (330K) [text/html]
In »»/tmp/netselect-apt.WrCIoS«« speichern.

100%[============================================================>] 338.381      959K/s   in 0,3s

2014-02-13 14:55:03 (959 KB/s) - »»/tmp/netselect-apt.WrCIoS«« gespeichert [338381/338381]

Choosing a main Debian mirror using netselect.
netselect: 347 (23 active) nameserver request(s)...
Duplicate address 218.100.43.30 (http://ftp.au.debian.org/debian/, http://mirror.waia.asn.au/debian/); keeping only under first name.
netselect: 343 (23 active) nameserver request(s)...
Duplicate address 195.222.33.229 (http://ftp.ba.debian.org/debian/, http://mirror.debian.com.ba/debian/); keeping only under first name.
...
Running netselect to choose 10 out of 333 addresses.
...
The fastest 10 servers seem to be:

        http://artfiles.org/debian/
        http://ftp.plusline.de/debian/
        http://ftp5.gwdg.de/pub/linux/debian/debian/
        http://debian.netcologne.de/debian/
        http://ftp.uni-erlangen.de/debian/
        http://deb-mirror.de/debian/
        http://mirror.de.leaseweb.net/debian/
        http://mirror.1und1.de/debian/
        http://deb-mirror.de/debian/
        http://ftp.uni-bayreuth.de/debian/

Of the hosts tested we choose the fastest valid for HTTP:
        http://artfiles.org/debian/

Writing test.list.
Done.
#

Das zweite Beispiel kommt aus dem Alltag. Wir kombinieren die vier Schalter -c, -t, -n und -a, um die besten fünf Paketmirror für die Architektur amd64 in Frankreich zu finden:

Ermittlung der besten fünf Paketmirror. 

# netselect-apt -c france -t 5 -a amd64 -n stable
Using distribution stable.
Retrieving the list of mirrors from www.debian.org...

--2019-01-09 11:47:21--  http://www.debian.org/mirror/mirrors_full
Auflösen des Hostnamen »www.debian.org (www.debian.org)«... 130.89.148.14, 5.153.231.4, 2001:41c8:1000:21::21:4, ...
Verbindungsaufbau zu www.debian.org (www.debian.org)|130.89.148.14|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 302 Found
Platz: https://www.debian.org/mirror/mirrors_full[folge]
--2019-01-09 11:47:22--  https://www.debian.org/mirror/mirrors_full
Verbindungsaufbau zu www.debian.org (www.debian.org)|130.89.148.14|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 189770 (185K) [text/html]
In »»/tmp/netselect-apt.Kp2SNk«« speichern.

/tmp/netselect-apt.Kp2SNk     100%[================================================>] 185,32K  1,19MB/s   in 0,2s

2019-01-09 11:47:22 (1,19 MB/s) - »»/tmp/netselect-apt.Kp2SNk«« gespeichert [189770/189770]

Choosing a main Debian mirror using netselect.
(will filter only for mirrors in country france)
netselect: 19 (19 active) nameserver request(s)...
Duplicate address 212.27.32.66 (http://debian.proxad.net/debian/, http://ftp.fr.debian.org/debian/); keeping only under first name.
Running netselect to choose 5 out of 18 addresses.
..................................................................................................................................
The fastest 5 servers seem to be:

        http://debian.proxad.net/debian/
        http://debian.mirror.ate.info/
        http://debian.mirrors.ovh.net/debian/
        http://ftp.rezopole.net/debian/
        http://mirror.plusserver.com/debian/debian/

Of the hosts tested we choose the fastest valid for HTTP:
        http://debian.proxad.net/debian/

Writing sources.list.
Done.
#

Die von netselect-apt erzeugte Datei enthält neben den Paketmirrors auch eine ganze Reihe Kommentare. Diese helfen Ihnen dabei, zu verstehen, wofür jeder einzelne Eintrag gedacht ist.

Inhalt der automatisch generierten Liste der Paketmirrors. 

# Debian packages for stable
deb http://artfiles.org/debian/ stable main contrib
# Uncomment the deb-src line if you want 'apt-get source'
# to work with most packages.
# deb-src http://artfiles.org/debian/ stable main contrib

# Security updates for stable
deb http://security.debian.org/ stable-security main contrib

netselect und netselect-apt im Alltagseinsatz

Aus unserer Sicht lohnt sich der Aufruf von netselect bzw. netselect-apt bei stationären Systemen (Servern) mit fester Anbindung nur bedingt. Hilfreich ist das Vorgehen bspw. nach der ersten Einrichtung, einem Standortwechsel des Gerätes oder der Änderung der Infrastruktur, da letztere in der Regel häufig recht konstant ist. Bei Endsystemen an einem festen Ort raten wir Ihnen, die Werkzeuge nur interessehalber auszuprobieren, weil die Zugriffszeiten in diesem Kontext nicht immer eine so große Relevanz haben. Bei Systemen für die Infrastruktur wirkt sich die Optimierung hingegen meist weitaus stärker aus.

Bei mobilen Geräten sieht das hingegen deutlich anders aus. Mit Laptops oder Smartphones sind Sie variabler und den damit einhergehenden Schwankungen in der Netzanbindung stärker ausgesetzt. Auffällig wird die Anpassung dann, wenn Sie größere Entfernungen zurücklegen, bspw. ein Land oder einen Kontinent gewechselt haben.