So wählen Sie automatisch einen schnellen Spiegel für apt-get aus

So wählen Sie automatisch einen schnellen Spiegel für apt-get aus

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.listund 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.localund 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.

verwandte Informationen