Wir sind ein verteiltes Team, weshalb unsere VMs das Ubuntu- mirror://
Setup verwenden. Unser /etc/apt/sources.list
Aussehen sieht wie folgt aus:
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-security main restricted universe multiverse
Dies ist für sich genommen ziemlich erstaunlich und sehr hilfreich für Leute, die an verschiedenen Orten arbeiten - weniger lokale Anpassungen usw. erforderlich. Failover in der Theorie.
Im Alltag schlägt dieses Setup zu oft fehl. Ich möchte 2-3 mal diese Woche sagen.
Im Moment mirrors.ubuntu.com
gibt ftp.uni-bayreuth.de
als meinen Schrank Spiegel. Leider scheint es unten zu sein.
Das geht schon seit ein paar Stunden so und der Spiegel wird von Freiwilligen an einer Universität gehostet und heute, da es ein Freitag ist, sind meine Hoffnungen gering, dass dies bald korrigiert wird.
Alle reden, meine Fragen sind:
- Nutzt das jemand?
- Wie umgehen Sie Ausfallzeiten? (Meine Schnellreparatur ist ein Shell-Skript)
- Wie kann ich helfen, diese Situation zu verbessern?
mirror:
Methode zu verwenden , die die meisten Aktualisierungen in Ihrem Thread hatte. Mein Problem ist, dass immer dann, wenn der schnellste Spiegel ausfällt, kein Failover stattfindet und ich nicht weiterkomme.Antworten:
Persönlich denke ich, dass der beste Weg, die besten Ubuntu-Repositorys auszuwählen, die Verwendung der GUI-Methode ist:
Um die in der Frage beschriebene Situation zu verbessern, müssen Sie einige Regeln festlegen. Diese Regeln müssen eingehalten werden
mirrors.ubuntu.com
. Ich kann einige Regeln vorschlagen, wie folgt:netselect
,apt-spy
oderapt-fast
Um zu sehen, wie Sie vorgehen können, kann ich Ihnen als Nächstes eine schrittweise beschriebene Methode mit drei Beispielen für Bash-Skripte geben. Das erste Skript verwendet stattdessen die Spiegel des Landes, in dem Sie sich gerade befinden
mirrors.ubuntu.com/mirrors.txt
(für jedes Land gibt es eine Textdatei mit zugehörigen Spiegeln; siehe http://mirrors.ubuntu.com/ ):mkdir -p bin
- dieser Befehl ein machenbin
Verzeichnis in Ihremhome
Ordner , wenn Sie es nicht bereits haben.gedit ~/bin/change_sources.sh
wird die neue Dateichange_sources.sh
in gedit erstellt.oder etwas Ähnliches wie unter http://repogen.simplylinux.ch/ :
oder ein Skript mit
netselect
(Download von hier , Installationsanweisungen hier ), wie izx in dieser Antwort sehr nett erklärt :chmod +x ~/bin/change_sources.sh
- um den Ausführungszugriff für das Skript zu gewähren.~/bin/change_sources.sh
. Es wird Ihnen ein Fehler angezeigt, da Sie nicht zum Bearbeiten berechtigt sind/etc/apt/sources.list
. Also, benutzesudo ~/bin/change_sources.sh
sudo crontab -e
Befehl und fügen Sie die folgende Zeile hinzu:sudo crontab -l
.Ab jetzt wird die Datei dynamisch geändert, nachdem eine Änderung der IP-Adresse festgestellt wurde.
Es ist vielleicht nicht die beste Lösung, aber meiner Meinung nach kann eine gute Lösung auf diese Weise wie in den obigen Skripten angegeben werden .
quelle
apt-spy
Skript. Wird hier später aktualisiert.Ich schätze alle Beiträge zu dieser Frage, aber da niemand eine einfache Lösung fand, die unseren Umständen entsprach, beschloss ich, das Problem selbst zu beheben .
Ich habe ein Tool (speziell für Ubuntu) erstellt, das ich aufrufe
apt-spy2
.Das Hauptziel dieses Tools ist es, schnell einen funktionierenden Spiegel zu finden . Das Arbeiten ist dadurch definiert, dass der Spiegelserver verfügbar und (hoffentlich :) aktuell ist.
Ich gehe nicht davon aus, ob der ausgewählte Server unbedingt der nächste und der schnellste ist. Ich mache keine Pings oder GEO-DNS-Tricks - aber soweit funktioniert das, wenn etwas kaputt geht.
So funktioniert es - auf den Punkt gebracht:
/etc/apt/sources.list
.Bitte beachten Sie: Dies setzt voraus, dass die Leute nett spielen und zusätzliche Spiegel (z. B. Repositories von Drittanbietern) einfügen
/etc/apt/sources.list.d
.Sie können dieses Tool folgendermaßen erhalten:
$ [sudo] gem install apt-spy2
Der cli kommt mit
list
,check
,fix
undhelp
(mit erweiterten Informationen darüber , wie es zu benutzen).Ich habe versucht, so viel wie möglich in der README des Projekts zu dokumentieren .
Die aktuelle Version ist sehr konservativ
0.5.0
.Der Code ist Open Source und die Lizenz ist liberal. Und ich nehme alle Beiträge.
quelle
Bei Debian 6.0.4 gab es diesen Befehl:
Dies erledigte die Aufgabe, automatisch den nächstgelegenen verfügbaren Server zu finden und eine neue sources.list zu generieren
In Ubuntu scheint dieser Befehl nicht zu existieren?
Es existiert immer noch in Debian 7.0 wheezy:
https://launchpad.net/debian/wheezy/+source/apt-spy/+copyright
Sie können Ihr * .deb-Paket hier herunterladen:
http://packages.debian.org/sid/apt-spy
... immer noch auf der Suche nach den Quellen ...
Offensichtlich benötigen Sie die Debian-7.0-Installation, um den Quellcode nach der Bearbeitung der Quellliste mit dem folgenden Eintrag zu erhalten:
Nach dem Update von sudo apt-get saugen Sie einfach den Code mit:
quelle
Vielleicht verwenden Sie nicht die Lösung, die Sie mögen, aber das Einrichten eines lokalen Caches für die .deb-Dateien sollte ideal sein, wenn Sie mehrere MB des Pakets herunterladen (die meisten davon sind wahrscheinlich die gleichen) und Sie, da Sie vom gleichen Server herunterladen Möglicherweise möchten Sie einen PC opfern, um den Cache und den Server weniger ausgelastet zu machen.
Verfahren
Sie sollten in der Lage sein,
apt-cacher
eine Maschine einzurichten , die viel Platz auf der Festplatte hat (Sie würden es brauchen). Sie können dies mithilfe des Apt-cacher-Serverhandbuchs konfigurieren , können aber einen schnellen Lebenslauf erstellen.Installieren
apt-cacher
sudo apt-get installiere apt-cacher apache2
/etc/default/apt-cacher
denautostart
Wert und setzen Sie ihn auf 1, damit der Cache beim Einschalten des Computers startet.sudo /etc/init.d/apache2 restart
http://ip-of.your.cache:3142/apt-cacher
./etc/apt-cacher/apt-cacher.conf
die Zeile und suchen Sie sieallowed_hosts
. Sie können Subnetze wie192.168.0.0/24
oder nur*
für alle Hosts festlegenapt-spy
dies verwenden (dieser Befehl kann Stunden dauern, da er auch die Geschwindigkeit jedes Servers testet).Bei Ihren Kunden haben Sie zwei Möglichkeiten:
sources.list
wie folgt ein:deb http: //ip-of.your.cache: 3142 / the.server.you.like / ubuntu / lucid main restricted universe multiverse
Ändern Sie die
ip-of.your.cache
IP-Adresse Ihres Caches undthe.server.you.like
den Hostnamen des Servers, den Sie verwenden möchten. Sie können mehrere Zeilen verwenden./etc/apt/apt.conf.d/01proxy
Sie die Zeile und fügen Sie sie hinzu:Acquire :: http :: Proxy " http: //ip-of.your.cache: 3142 ";
quelle
-d testing
riecht nach Debian.Sie können versuchen, Ihren eigenen Ubuntu-Spiegel einzurichten. Auf diese Weise werden Updates lokal durchgeführt.
apt-mirror benötigt eine Hochgeschwindigkeits-Internetverbindung und viel Speicherplatz
Das Einrichten eines eigenen Ubuntu-Spiegels ist mit apt-mirror sehr einfach.
1) gehe in das apt-mirror Repository. Sichern Sie Ihre sources.list-Datei folgendermaßen:
2) Bearbeiten Sie die Datei sources.list folgendermaßen:
3) Und füge folgendes in eine neue Zeile ein:
4) Lassen Sie uns den Paketindex aktualisieren
5) Und installiere apt-mirror
6) Apt-mirror ist nun eingerichtet. Sagen wir also, welche Server gespiegelt werden sollen:
Die Standardkonfiguration legt Ihre heruntergeladenen Dateien im Ordner / var / spool / apt-mirror ab. So sieht die Datei mirror.list aus:
Dies spiegelt nur Binärpakete wider, aber wenn Sie Quellpakete möchten, sollten Sie die entsprechenden Zeilen einfügen. Sie haben normalerweise die Form:
7) Nun renn los
apt-mirror
. Dies wird eine Weile dauern. Machen Sie sich keine Sorgen, wenn Sie nicht alle Dateien auf einmalapt-mirror
herunterladen können. Sie können den Download fortsetzen (töten Sie ihn mit der Tastenkombination Ctrl+ Cund führen Sie ihn erneut aus, wenn Sie fortfahren möchten). Okay, führe apt-mirror so aus:Lesen Sie auch, wie Sie mit apt-mirror einen lokalen Debian / Ubuntu-Spiegel erstellen
Quelle: Verwenden Sie Apt-Mirror, um Ihren eigenen Ubuntu-Mirror zu erstellen
quelle
apt-mirror
tut , ist er in Ubuntu-Repositories verfügbar.mirrors.ubuntu.com
das funktionieren sollte. :)mirrors.ubuntu.com
wird niemals aufgelöstmirrors.ubuntu.com
, sondern ein Server, der Ihnen am nächsten ist. Das Problem ist, dass der Server, den es auflöst, unzuverlässig ist. Ihr besseres Spiel ist die Verwendung eines zuverlässigen Servers aus der offiziellen Liste.Ich habe ein Python-Skript namens apt-select geschrieben , das als CLI-Alternative zur GUI-Methode dient.
Das Skript fragt jeden Spiegel über TCP ab, druckt auf Standardspiegel mit der geringsten Latenz und generiert eine neue
sources.list
Datei. Es gibt auch mehrere Optionen, mit denen Sie aus einer Liste von Spiegeln mit Rangfolge auswählen und Informationen abrufen können, z. B. wann der Spiegel zuletzt aktualisiert wurde und seine Bandbreite.quelle