Einen Debian-Archiv-Spiegel erstellen

Spiegeln oder nicht

Obwohl wir uns über alle neuen Spiegel freuen, sollte jeder zukünftige Spiegel-Betreuer sicherstellen, dass er folgende Fragen beantworten kann, bevor er seinen eigenen Spiegel aufsetzt:

Was spiegeln

Die Haupt-Spiegelseite listet alle zum Spiegeln verfügbaren Archive auf.

Bitte lesen Sie die Spiegel-Größen-Seite für genauere Informationen über die Spiegel-Größen.

Das debian-security/-Archiv enthält Sicherheitsaktualisierungen, die durch das Debian-Security-Team veröffentlicht werden. Es klingt für jeden interessant, da aber Sicherheitsaktualisierungen unregelmäßig auftreten, müssen Sie Ihren Spiegel sehr oft aktualisieren, um immer auf dem neuesten Stand zu sein (oder Push-Spiegeln benutzen), deshalb empfehlen wir nicht, es zu spiegeln. Debian gibt sich alle Mühe, stattdessen die hohe Verfügbarkeit von security.debian.org sicherzustellen.

Beachten Sie: Seit der Veröffentlichung von 3.1 (Sarge) im Juni 2005 ist das debian-non-US-Archiv missbilligt.

Von wo spiegeln

Viele Leute denken, dass ftp.debian.org die kanonische Adresse von Debian-Paketen sei und dass es für sie am besten sei, von dort zu spiegeln. Das ist nicht wahr.

ftp.debian.org ist lediglich einer von mehreren Servern, die von einem internen Debian-Server aktualisiert werden. Diese Adresse befindet sich derzeit lediglich auf einem einzelnen Server und existiert hauptsächlich nur noch für die Abwärtskompatibilität.

Die offiziellen Spiegel sind als guter Ort gedacht, um davon zu spiegeln. Jeder der Server in der vollständigen Liste aller Spiegel, der das Type: Push-Primary- oder Type: Push-Secondary-Tag besitzt, sollte fürs Spiegeln gut geeignet sein. Bitte verwenden Sie einen, der netztopologisch und geographisch nahe bei Ihnen liegt.

Es gibt keinen wirklichen Unterschied zwischen den verschiedenen Push-Primary-Spiegeln, soweit es das Spiegeln betrifft. Auf der anderen Seite, wenn viele Leute ftp.debian.org verwenden (und unglücklicherweise tun sie das), verschwendet das unnötigerweise die gespendete Bandbreite.

Spiegel-Administratoren in den Vereinigten Staaten sollten von ftp.us.debian.org (der offiziellen Spiegeladresse aus den USA, einem Push-Primary-Spiegel) spiegeln. Da diese Adresse aber auch ein Verteilalias (round robin alias) ist, ist es für gewöhnlich am sinnvollsten herauszufinden, welche der Komponenten am besten ist und direkt von dieser zu spiegeln.
Das Positive daran ist, dass das Risiko von Fehlschlägen beim zweistufigen Rsync vermieden wird (verschiedene Stufen könnten auf verschiedenen Maschinen ablaufen – dies kann bei bestimmten Zeitfenstern zu unterschiedlichen Daten führen und eine sog. Race Condition verursachen). Das Negative daran ist, dass sich dies auf eine einzige Maschine konzentriert, deren Leistungsfähigkeit variiert, aber dies ist momentan unserem Spiegelnetz im Allgemeinen anhaftend.

Wie man spiegelt

Die bevorzugte Methode zum Spiegeln erfolgt mit dem sogenannten ftpsync-Skript-Satz, der in zwei Formen erhältlich ist:

Das von uns dringend empfohlene Spiegelprotokoll ist rsync.

Bitte spiegeln Sie Debian nicht mittels wget oder anderen FTP-basierten Werkzeugen. Sie scheinen gut zu funktionieren, aber sie haben eine Reihe von Problemen (sie können keine harten Links erkennen, das Erstellen von Teilspiegeln ist schwieriger usw.).

Rsync-Einrichtung

Wir empfehlen die Verwendung des ftpsync-Skript-Satzes, um das Archiv zu spiegeln. Folgen Sie der beigefügten README-Datei, um das Spiegeln einzurichten.

Falls Sie Ihre eigenen Skripte verwenden, müssen diese mindestens die folgenden Funktionalitäten aufweisen:

Teilweises Spiegeln

Aufgrund des bereits großen Umfangs des Debian-Archivs bevorzugen es einige Leute, nur die Teile zu spiegeln, die sie auch benötigen. Wenn Sie etwas ausschließen wollen, sollten Sie Architekturen ausschließen.

Mit dem empfohlenen ftpsync kann dies durch das Editieren der ARCH_EXCLUDE-Variable geschehen.

Wir empfehlen Ihnen dringend, die project/-, doc/- und weitere Unterverzeichnisse nicht auszuschließen. Üblicherweise sind diese nicht sehr groß und trotzdem für die Benutzer nützlich. Insbesondere project/trace hilft sehr, falls es Spiegel-Probleme gibt.

Es können auch andere speziell geschriebene Skripte verwandt werden, aber normalerweise sind diese nicht notwendig und werden auch für offizielle Spiegel nicht empfohlen.

Wann Spiegeln

Das Hauptarchiv wird viermal täglich aktualisiert. Die Spiegel starten typischerweise um 3:00, 9:00, 15:00 and 21:00 Uhr (alles UTC) mit der Aktualisierung, aber das sind keine festen Zeiten und Sie sollten Ihren Spiegel nicht fest darauf einstellen.

Ihr Spiegel sollte sein Update einige Stunden nach dem Hauptarchiv-Spiegelpuls durchführen. Sie sollten prüfen, ob die Site, von der Sie spiegeln, eine Zeitstempel-Datei in ihrem project/trace/ Unterverzeichnis hinterlässt. Die Zeitstempel-Datei wird genauso wie die Site benannt, und sie wird die Zeit der Beendigung der letzten Spiegel-Aktualisierung enthalten. Fügen Sie ein paar Stunden zu dieser Zeit hinzu (um sicher zu sein) und spiegeln Sie dann.

Die einfachste Art, um automatisch zu spiegeln, ist, den Prozess täglich von cron aufrufen zu lassen. Weitere Informationen mit man crontab.

Beachten Sie, falls ihre Site mit einem Push-Mechanismus angestoßen wird, müssen Sie sich um all dies nicht kümmern.

Push-gesteuertes Spiegeln

Push-Spiegeln ist eine Art des Spiegelns, die wir entwickelt haben, um die Zeit zu minimieren, die es benötigt, bis Änderungen im Archiv die Spiegel erreichen. Der Server-Spiegel benutzt einen SSH-Auslöser, um dem nachgeschalteten Spiegel mitzuteilen, dass er sein Archiv aktualisieren soll. Das Pushing (dt. Schieben) ist normalerweise auf einen sicheren Auslöser begrenzt, der keine variablen Daten akzeptiert und der Rest des Spiegelprozesses ist ein einfaches Pull (dt. Ziehen), wie dies auch mit einem Cron-Auftrag geschieht.

Push-Spiegeln wird benötigt, um mehrere Server synchron zu halten (wie die Server in DNS round-robin-Aliasen wie ftp.us.debian.org), und wir verwenden es für unsere erst- und zweitrangigen Spiegel. Da diese Methode aber ein bisschen mehr Aufwand beim Aufsetzen erfordert, wird sie gewöhnlich für private Spiegel nicht verwendet.

Für eine detaillierte Beschreibung, wie dieses funktioniert, warum es sicher ist und wie ein Push-Spiegel aufgesetzt wird, finden Sie in der kompletten Beschreibung.

Empfohlene zusätzliche Einstellungen

Wenn Sie planen, den Debian-Spiegel durch HTTP zur Verfügung zu stellen, fügen Sie bitte die folgenden Einstellungen zur Apache-Konfiguration (natürlich unter der Annahme, dass Sie Apache benutzen) im <Directory /pfad/zu/ihrem/debian/spiegel>-Block hinzu, wobei /pfad/zu/ihrem/debian/spiegel der tatsächliche Namen des Verzeichnisses sein sollte, indem sich ihr Spiegel befindet:

   Options +Indexes +SymlinksIfOwnerMatch
   IndexOptions NameWidth=* +SuppressDescription

Dies erlaubt Verzeichnis-Indizes und stellt sicher, dass Symlink-Verfolgung funktioniert. Die Dateinamen in den Verzeichnis-Indizes werden nicht abgeschnitten, und die (größtenteils nicht vorhandenen) Beschreibungen werden nicht angezeigt.

In Apache 1.3.x kann die folgende Option hinzugefügt werden:

   DirectoryIndex .

Fügen Sie diese Option nicht bei Verwendung von Apache 2.x hinzu.

Wie ein Spiegel zu der Spiegelliste hinzugefügt wird

Sobald ein Spiegelserver installiert ist, sollte er bei Debian registriert werden, damit er in die Liste der Spiegel aufgenommen werden kann. Anmeldungen können über unser einfaches Web-Formular erfolgen.

Probleme und Anfragen können Sie an mirrors@debian.org schicken.