Die Pflege einer aktuellen Spiegelliste in Ihrem Arch Linux bietet einige große Vorteile. Wenn Sie eine aktualisierte Spiegelliste verwenden, können Sie eine langsame Download-Rate und zeitlich abgelaufene Fehlermeldungen beim Installieren und Aktualisieren von Paketen leicht vermeiden. Dieses Tutorial erklärt, was Reflector ist und wie man die neueste Mirror-Liste in Arch Linux mit Reflector abruft.
Was ist Reflektor?
Reflektor ist ein einfaches Python 3-Modul und Skript, das die aktuellste Mirrorlist nach Geschwindigkeit sortiert vom Mirror Status prüft und abruft Seite und speichert sie unter /etc/pacman.d/mirrorlist
Datei in Ihrem Arch Linux-System.
Im Allgemeinen die /etc/pacman.d/mirrorlist
Die Datei enthält einen Spiegelserver pro Land. Es sollte jedoch mehr als nur einen Server pro Land geben, aber die Spiegellistendatei wird normalerweise nur einen haben.
Wie fügen Sie also die neueste und aktualisierte Spiegelliste Ihrer Wahl in Arch Linux hinzu oder rufen sie ab? Hier ist Reflektor kommt Hilfe.
Reflector ruft und filtert eine Liste der neuesten und schnellsten Arch Linux-Spiegel basierend auf Geschwindigkeit, Land und Alter (letzte Serversynchronisierung).
Reflector ist ein kostenloses Open-Source-Python-Skript, das auf Arch Linux und seinen Derivaten wie EndeavourOS und Manjaro Linux problemlos funktioniert.
1. Installieren Sie Reflector unter Arch Linux, EndeavourOS, Manjaro
Um Reflector in Arch Linux und seinen Varianten wie EndeavourOS und Manjaro zu installieren, führen Sie den folgenden Befehl von Ihrem Terminal aus:
$ sudo pacman -S reflector rsync curl
Der obige Befehl installiert Reflector zusammen mit seinen abhängigen rsync- und curl-Paketen.
2. Rufen Sie die neueste Mirror-Liste mit Reflector in Arch Linux ab
2.1. Aktuelle Mirror-Liste sichern
Bevor Sie Reflector ausführen, müssen Sie Ihre Standard-Mirror-Listendatei sichern. Denn Reflector wird sie überschreiben und die vorhandene Spiegelliste durch eine neue ersetzen.
Um die aktuelle Spiegelliste zu sichern, führen Sie Folgendes aus:
$ sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
2.2. Neueste N Spiegel abrufen und nach Downloadrate sortieren
Lassen Sie uns die 20 neuesten Mirrors abrufen, die Mirror-Liste nach ihrer Downloadrate sortieren und sie in /etc/pacman.d/mirrorlist
speichern Datei mit dem Befehl:
$ sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Bitte beachten Sie, dass dadurch die vorhandenen Spiegel durch neue Spiegel ersetzt werden.
Lassen Sie uns den obigen Befehl aufschlüsseln und sehen, was jede Option bewirkt.
--latest 20
- Abrufen der zuletzt synchronisierten Server--protocol https
-https
abrufen aktivierte Mirrors--sort rate
- Spiegelliste nach Downloadrate sortieren--save /etc/pacman.d/mirrorlist
-
Sie können dies überprüfen, indem Sie den Inhalt von /etc/pacman.d/mirrorlist
auflisten Datei.
$ cat /etc/pacman.d/mirrorlist
Beispielausgabe:
##################################################################### ########### Arch Linux mirrorlist generated by Reflector ########### ##################################################################### With: reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist When: 2021-06-10 09:51:51 UTC From: https://www.archlinux.org/mirrors/status/json/ Retrieved: 2021-06-10 09:49:34 UTC Last Check: 2021-06-10 09:15:02 UTC Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch Server = https://archlinux.thaller.ws/$repo/os/$arch Server = https://arch.mirror.constant.com/$repo/os/$arch Server = https://mirror.f4st.host/archlinux/$repo/os/$arch Server = https://phinau.de/arch/$repo/os/$arch Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch Server = https://mirror.pseudoform.org/$repo/os/$arch Server = https://arch.mirror.square-r00t.net/$repo/os/$arch Server = https://mirror.pkgbuild.com/$repo/os/$arch Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch Server = https://mirror.telepoint.bg/archlinux/$repo/os/$arch Server = https://mirror.lty.me/archlinux/$repo/os/$arch Server = https://mirror.chaoticum.net/arch/$repo/os/$arch Server = https://mirror.efect.ro/archlinux/$repo/os/$arch Server = https://archmirror.it/repos/$repo/os/$arch Server = https://archlinux.mailtunnel.eu/$repo/os/$arch Server = https://archlinux.qontinuum.space:4443/$repo/os/$arch Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch

Jetzt können Sie Pakete von den aktuellsten Mirrors installieren, aktualisieren und upgraden.
$ sudo pacman -Syu
$ sudo pacman -S <package_name>
2.3. Neueste N-Spiegel abrufen und nach Alter sortieren
Um die obersten Mirrors abzurufen und sie nach ihrem Alter, d. h. der letzten Serversynchronisierung, zu sortieren, führen Sie Folgendes aus:
$ sudo reflector --latest 20 --protocol https --sort age --save /etc/pacman.d/mirrorlist
2.4. Länderspezifische Spiegelliste abrufen
Sie können Mirrors auch auf ausgewählte Länder beschränken. Wenn Sie beispielsweise in Indien leben, möchten Sie vielleicht die Spiegelliste nur mit den Servern aus Indien aktualisieren.
Führen Sie Folgendes aus, um alle weltweit verfügbaren Arch-Linux-Spiegel aufzulisten:
$ reflector --list-countries
Beispielausgabe:
Country Code Count ---------------------- ---- ----- Australia AU 19 Austria AT 6 Bangladesh BD 1 Belarus BY 4 Belgium BE 3 Bosnia and Herzegovina BA 2 Brazil BR 11 Bulgaria BG 11 Canada CA 20 Chile CL 8 [...]
Wie Sie in der obigen Ausgabe sehen, listet Reflector die weltweit verfügbaren Mirrors zusammen mit dem Ländercode und der Anzahl der Mirrors in jedem Land auf.
Zum Zeitpunkt der Erstellung dieses Handbuchs befinden sich die meisten Arch Linux-Spiegelserver in den USA (134 Spiegel), Deutschland (114) und Niederlande (51).
Um einen Mirror aus einem bestimmten Land abzurufen, können Sie den Ländernamen oder den Ländercode oder eine Mischung aus beidem verwenden.
Der folgende Befehl ruft die Top 5 Mirrors aus Indien ab , sortiere sie nach der Downloadrate und speichere sie in der Mirrorlist-Datei.
$ sudo reflector --verbose --country 'India' -l 5 --sort rate --save /etc/pacman.d/mirrorlist
Das Folgende ist eine kurze Zusammenfassung dessen, was diese Flags im obigen Befehl bewirken.
--verbose
- druckt mehr Informationen als normal.--country India
- meine bevorzugte Spiegelposition.--l 5
- Ruft die fünf besten Spiegel Indiens ab.--sort rate
- sortiert nach Downloadrate.--save
- Speichern Sie die heruntergeladene Spiegelliste unter/etc/pacman-d/mirrorlist
.
Lassen Sie uns die aktualisierte Spiegelliste mit dem Befehl:
überprüfen$ cat /etc/pacman.d/mirrorlist
Beispielausgabe:
################################################################################ ################# Arch Linux mirrorlist generated by Reflector ######################### ################################################################################ # With: reflector --verbose --country India -l 5 --sort rate --save /etc/pacman.d/mirrorlist # When: 2021-06-10 10:27:06 UTC # From: https://www.archlinux.org/mirrors/status/json/ # Retrieved: 2021-06-10 10:26:49 UTC # Last Check: 2021-06-10 09:15:02 UTC Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
Leider sind in Indien nur drei Arch-Linux-Mirrors verfügbar.
2.5. Spiegelliste aus mehreren Ländern abrufen
Sie können auch wie unten durch Kommas getrennt mehrere Länder angeben.
$ sudo reflector --country 'United States,India' -l 10 --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Dieser Befehl wählt die obersten 10 HTTPS-Spiegelungen aus innerhalb der letzten 12 Stunden synchronisiert und sich in einem der Vereinigten Staaten befinden oder Indien , sortieren Sie sie nach Downloadgeschwindigkeit und überschreiben Sie die Datei /etc/pacman.d/mirrorlist
Datei.
2.6. Ländersortierte Spiegelliste abrufen
Um alle nach Ländern sortierten Listen zu erhalten, führen Sie den folgenden Befehl aus:
$ sudo curl -o /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/all/
Nachdem Sie die nach Ländern sortierten Mirrors abgerufen haben, bearbeiten Sie Ihre /etc/pacman.d/mirrorlist
Datei:
$ sudo nano /etc/pacman.d/mirrorlist
Kommentieren Sie die Spiegel-URL Ihrer Wahl aus, um sie zu aktivieren.
Zum Beispiel habe ich die Spiegel aus Indien aktiviert. Also habe ich das (#)-Symbol vor jeder URL entfernt.
[...] India Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch [...]

Speichern und schließen Sie die Datei. Aktualisieren Sie die Repository-Listen mit dem Befehl:
$ sudo pacman -Syu
2.7. Schnellste Mirrors auswählen
Reflector kann einen schnellsten Spiegel für Ihr Arch Linux abrufen.
Der folgende Befehl ruft die 5 schnellsten 10 HTTPS-Spiegelungen ab befindet sich in USA , sortiert sie nach Downloadgeschwindigkeit und überschreibt die Datei /etc/pacman.d/mirrorlist
Datei.
$ sudo reflector -f 5 --country 'United States' --protocol https --sort rate --save /etc/pacman.d/mirrorlist
2.8. Protokoll angeben
Sie können die aktuellen Spiegel auswählen, die einen bestimmten Protokolltyp unterstützen, zum Beispiel https
, http
, ftp
usw.
Dieser Befehl wählt beispielsweise 5 aus die aktuellsten Mirrors aus USA die HTTP
unterstützen und überschreiben Sie /etc/pacman.d/mirrorlist
Datei:
$ sudo reflector --latest 5 --protocol http --country 'United States' --save /etc/pacman.d/mirrorlist
Die anderen unterstützten Optionen sind --isos
die nur Spiegel zurückgibt, die ISOs hosten, --ipv4
das gibt nur Mirrors zurück, die IPv4 und --ipv6
unterstützen gibt nur Mirrors zurück, die IPv6 unterstützen.
3. Arch Linux-Spiegelliste automatisch beim Booten aktualisieren
Reflektor enthält systemd
Service- und Timer-Einheiten, die verwendet werden können, um die Spiegelliste von Pacman automatisch zu aktualisieren.
3.1. Aktivieren und starten Sie den Reflector Systemd-Dienst
Ab Version 2020.8 wird Reflector mit reflector.service
ausgeliefert . Um Ihre Arch Linux-Spiegelliste bei jedem Neustart automatisch zu aktualisieren, aktivieren und starten Sie diesen Dienst einfach mit den folgenden Befehlen:
$ sudo systemctl enable reflector.service
$ sudo systemctl start reflector.service
Der reflector.service führt den Reflektor mit den in /etc/xdg/reflector/reflector.conf
angegebenen Parametern aus Datei.
Die Standardeinstellungen reichen für die meiste Zeit gerade aus. Hier ist der Inhalt von reflector.conf
Datei:
$ cat /etc/xdg/reflector/reflector.conf
Beispielausgabe:
# # Empty lines and lines beginning with "#" are ignored. All other lines should # contain valid reflector command-line arguments. The lines are parsed with # Python's shlex modules so standard shell syntax should work. All arguments are # collected into a single argument list. # # See "reflector --help" for details. # Recommended Options # Set the output path where the mirrorlist will be saved (--save). --save /etc/pacman.d/mirrorlist # Select the transfer protocol (--protocol). --protocol https # Select the country (--country). # Consult the list of available countries with "reflector --list-countries" and # select the countries nearest to you or the ones that you trust. For example: # --country France,Germany # Use only the most recently synchronized mirrors (--latest). --latest 5 # Sort the mirrors by synchronization time (--sort). --sort age
Sie können diese Datei auch bearbeiten und die Parameter gemäß Ihren Anforderungen ändern. Diese Datei akzeptiert alle Reflektor-Befehlszeilenargumente.
Sie können die Argumente in einer einzelnen Zeile zusammenfassen oder auf mehrere Zeilen aufteilen, mit optionalen Leerzeilen und Kommentarzeilen, die mit #
beginnen .
3.2. Aktivieren und starten Sie den Timer des Reflektorsystems
Reflector liefert eine weitere systemd-Unit namens reflector.timer
aus , die den reflector.service
startet wöchentlich.
Um es beim Systemstart automatisch zu aktivieren und zu starten, führen Sie nacheinander die folgenden Befehle aus:
$ sudo systemctl enable reflector.timer
$ sudo systemctl start reflector.timer
Standardmäßig wird reflector.service
gestartet einmal in der Woche. Wenn Sie nicht auf die geplante Zeit warten möchten, können Sie den reflector.service starten, um die Spiegelliste von pacman sofort zu aktualisieren:
$ sudo systemctl start reflector.service
Schlussfolgerung
In diesem Handbuch haben wir gelernt, was Reflector ist, wie Sie die aktuelle Pacman-Spiegelliste für Ihr Arch Linux-System mithilfe des Reflector-Skripts abrufen und schließlich, wie Sie die Arch Linux-Spiegelliste automatisch aktualisieren.