
Gibt es ein Plug-in für apt-get, um Fast Mirror auszuwählen, genau wie die YUM'sFastestmirror-Plugin Das schnellste Mirror-Plugin ist für die Verwendung in Repository-Konfigurationen konzipiert, in denen Sie mehr als 1 Mirror in einer Repo-Konfiguration haben. Es stellt eine Verbindung zu jedem Mirror her, misst die Zeit der Verbindung und sortiert die Mirrors dann vom schnellsten zum langsamsten für die Verwendung durch Yum.
Grund: Ich habe der Konfigurationsdatei von apt mehrere (Intranet- und Internet-)Mirrors hinzugefügt und möchte, dass apt-get den Intranet-Mirror verwendet, wenn ich im Büro bin, und den Internet-Mirror zu Hause.
Antwort1
Als Workaround könnten Sie ein Skript schreiben, das prüft, mit welchem Netzwerk Sie verbunden sind und /etc/apt/sources.list entsprechend ändert. Etwa so wie das folgende Skript, bearbeiten Sie es einfach Ihren Bedürfnissen entsprechend.
Erste,Erstellen Sie eine Sicherungskopie Ihrer/etc/apt/sources.list
. Erstellen Sie dann zwei sources.list-Dateien, eine für Ihr Zuhause und eine für das Büro. Nehmen wir an, sie heißen sources.office.list
und sources.home.list
. Speichern Sie beide in /etc/apt/
.
Bearbeiten Sie nun das folgende Skript nach Ihren Wünschen, speichern Sie es (für dieses Beispiel gehe ich davon aus, dass Sie es unter speichern ~/bin/change_sources.sh
) und machen Sie es ausführbar, indem Sie den folgenden Befehl ausführen:
$ chmod +x ~/bin/change_sources.sh
Das Skript:
#!/bin/bash
ip=ifconfig | grep Bcast | cut -d " " -f 12
## Set this for your office IP
if [ $ip == "XXX.XXX.XXX.XXX" ]
then
cp /etc/apt/sources.office.list /etc/apt/sources.list
else
cp /etc/apt/sources.home.list /etc/apt/sources.list
fi
Bearbeiten Sie nun die Datei etc/rc.local
und fügen Sie diese Zeile am Ende der Datei hinzu, davor exit(0)
:
/home/youruser/bin/change_sources.sh
Ändern Sie den obigen Pfad natürlich so, dass er den Pfad zum gerade erstellten Skript wiedergibt.
Beim nächsten Neustart sollte das Skript ausgeführt werden und automatisch die richtige Datei „sources.list“ auswählen.
EDIT: Wenn Sie haben möchtenbeideUm jederzeit auf alle Repositorien zugreifen zu können und ein bestimmtes Paket von der schnellsten herunterzuladen (sofern vorhanden), müssen Sie nur die Reihenfolge der Repos in der Datei „sources.list“ ändern. Folgen Sie der oben vorgeschlagenen Vorgehensweise, stellen Sie einfach sicher, dass die relevanten Zeilen in „/etc/apt/sources.office.list“ wie folgt lauten:
deb http://fastest.mirror.for.office
deb http://fastest.mirror.for.home
und in /etc/apt/sources.home.list wie folgt:
deb http://fastest.mirror.for.home
deb http://fastest.mirror.for.office
Wenn ein Paket existiertmit der gleichen VersionIn beiden Repositorys wird Apt vom ersten heruntergeladen.
HINWEIS 1: Wenn die Versionen unterschiedlich sind, ruft apt die neueste Version ab, unabhängig von der Reihenfolge der Repositorys.
HINWEIS 2: Dies überprüft nicht die Downloadgeschwindigkeit der Repos. Das müssen Sie selbst tun. Um den schnellsten Mirror zu finden, können Sie es mit netselect-apt versuchen:
sudo apt-get install netselect-apt
Paket netselect-apt:
Geschwindigkeitstester zur Auswahl eines schnellen Debian-Spiegels
Dieses Paket bietet ein Dienstprogramm, mit dem Sie den besten Debian-Spiegel auswählen können, indem Sie die vollständige Liste der Spiegel herunterladen und mithilfe von Netselect den schnellsten/nächsten Spiegel finden.