Wie man einen Spiegel für Debian-CD-Images einrichtet
Bemerkung: Das Original ist neuer als diese Übersetzung.
Um einen Spiegel für Debian-CD-Images einzurichten, benötigen Sie einen Linux- oder Unix-ähnlichen Rechner mit einer permanenten, verlässlichen Anbindung ans Internet. Debian-CD-Spiegel führen .iso-Images für CDs und DVDs in verschiedenen Größen, Dateien für jigdo (.jigdo und .template), BitTorrent-Dateien (.torrent) sowie Prüfsummendateien der Images (SHA512SUMS* and SHA512SUMS*).
- Hauptquellseite
- Vom Spiegeln mittels HTTP/FTP wird abgeraten
- Spiegeln mittels rsync ist akzeptabel
- Vom Spiegeln mittels jigdo-lite wird abgeraten
- Spiegeln mittels jigdo-mirror wird empfohlen
- Wie man ein Push-Spiegel wird
- Dateien vom Spiegeln ausschließen
- Namenskonventionen und Platzbedarf für .iso-Images
- Den Spiegel registrieren
Hauptquellseite
Die URLs der Hauptquellseite sehen Sie unten – erwägen Sie jedoch bitte, von einem anderen nahe gelegenen Spiegel aus zu spiegeln (Spiegelliste: HTTP/FTP, rsync), falls möglich. Der Zugriff auf die Hauptquellseite wird um eine neue Veröffentlichung herum möglicherweise beschränkt werden.
Beachten Sie außerdem, dass eine gewaltige Menge Daten in diesen Verzeichnissen gespeichert ist – lesen Sie den unten folgenden Abschnitt hinsichtlich Details darüber, wie man die Größe durch das Ausschließen bestimmter Verzeichnisse verringern kann.
- Stable-Images (aktualisiert für jede Stable-Veröffentlichung):
https://cdimage.debian.org/debian-cd/
rsync://cdimage.debian.org/debian-cd/ - Wöchentliche Images:
https://cdimage.debian.org/cdimage/weekly-builds/
rsync://cdimage.debian.org/cdimage/weekly-builds/ - Tägliche Images:
https://cdimage.debian.org/cdimage/daily-builds/
rsync://cdimage.debian.org/cdimage/daily-builds/
Vom Spiegeln mittels HTTP/FTP wird abgeraten
Sie sollten FTP oder HTTP nicht zum Aktualisieren Ihres Spiegels verwenden. Diese Transfermethoden weisen aufgrund der enormen Größe der Dateien eine hohe Fehlerwahrscheinlichkeit auf.
Des weiteren beinhalten HTTP und FTP keinerlei Konsistenzkontrollen der heruntergeladenen Daten; es ist wahrscheinlicher, dass abgebrochene Downloads oder Datenverfall unbemerkt bleiben.
Spiegeln mittels rsync ist akzeptabel
Das rsync-Programm ist eine gute Lösung zum Spiegeln. Es ist weniger effizient als andere, unten genannte Debian-spezifische Spiegellösungen, aber es mag in der Einrichtung einfacher sein. Des weiteren stellt es sicher, dass alle Dateien korrekt übertragen wurden und Metadaten (z.B. Zeitstempel) genau wie die Dateien selbst synchron gehalten werden.
Beachten Sie den Abschnitt Dateien vom Spiegeln ausschließen hinsichtlich Beispielen für --include- und --exclude-Optionen. Die Liste der rsync-Spiegel ist auf einer separaten Liste verfügbar.
Verwenden Sie zumindest die Optionen --times --links --hard-links --partial --block-size=8192. Das wird die Änderungszeit sowie symbolische und harte Links erhalten, und eine Block-Größe von 8192 Bytes verwenden (am effizientesten für CD-Images). Wenn die Änderungszeit und die Größe identisch sind, fasst rsync die Datei nicht an, daher ist --times wirklich verpflichtend.
Vom Spiegeln mittels jigdo-lite wird abgeraten
Neuere Versionen des jigdo-lite-Programms unterstützen das Stapel-Herunterladen mehrerer Images. Wir empfehlen dennoch, jigdo-lite nicht zum Erstellen von Debian-CD-Spiegeln zu verwenden – nutzen Sie stattdessen jigdo-mirror.
Spiegeln mittels jigdo-mirror wird empfohlen
Eigentlich bedeutet dies: Spiegeln Sie die .iso-Dateien mittels jigdo-mirror, dann (falls Sie auch andere Dateitypen spiegeln wollen, z.B. .jigdo- und .template-Dateien) führen Sie rsync über dem Verzeichnis aus, um den Rest zu holen. Die Skripte auf dieser Seite helfen Ihnen vielleicht beim Einrichten.
Viele Leute betreuen auch »reguläre« Debian-Spiegel (debian/), oder haben einen solchen Spiegel in der Nähe. Dies bedeutet, dass sie bereits die .debs haben, die in den CD-Images enthalten sind. Die offensichtliche Frage ist – wieso können wir diese gleichen Dateien in den CD-Images nicht verwenden?
jigdo-mirror ist ein Programm, das es einem erlaubt, ein Debian-CD-Image unter Verwendung der Dateien eines »normalen« Spiegels zuzüglich ein paar zusätzlicher jigdo-Schablonen-Dateien zu erstellen.
Zu allererst benötigen Sie die jigdo-Schablonen-Dateien. Verweise finden Sie auf der jigdo-Informationsseite. Besorgen Sie sich die Dateien für jede Architektur, für die Sie Images erstellen wollen.
Erstellen Sie eine ~/.jigdo-mirror Datei, um das Programm zu konfigurieren. Dies ist ein Beispiel:
jigdoDir="/wo/Sie/die/Spiegel/haben/debian-cd/current/jigdo" imageDir="/wo/Sie/die/Spiegel/haben/debian-cd/current/images" tmpDir="/wo/Sie/die/Spiegel/haben/debian-cd/current/images" debianMirror="file:/wo/Sie/die/Spiegel/haben/debian" include='i386/|sparc/|powerpc/|source/'; exclude='-1\.'
Die include und exclude Variablen enthalten die Liste von Architekturen, für die Sie Images erstellen wollen (vielmehr reguläre Ausdrücke). Für weitere Informationen lesen Sie die Handbuchseite von jigdo-mirror oder den Quellcode selbst (es ist ein Shell-Skript mit vielen Kommentaren).
Nachdem Sie es konfiguriert haben, rufen Sie einfach jigdo-mirror auf, und es wird alles alleine tun. Es wird viele Ausgaben produzieren und wahrscheinlich einige Zeit brauchen, daher schlagen wir vor, dass Sie Schritte durchführen, damit umzugehen (es in screen aufrufen, die Ausgabe in eine Datei umleiten, usw.).
Wie man ein Push-Spiegel wird
Sobald neue Images verfügbar sind, kann die Hauptquellseite eine Nachricht an seine Spiegel senden und sie veranlassen, sofort eine Aktualisierung durchzuführen. Auf diesem Weg werden neue Daten während der nächsten täglichen Aktualisierung eher »gedrückt« (»pushed«) denn von den Spiegeln »gezogen« (»pulled«), was zu einer schnelleren Verbreitung von neuen Image-Veröffentlichungen führt.
Falls Sie Ihren Spiegel Teil dieses Aktualisierungssystems sein lassen wollen, schauen Sie auf diese Seite.
Dateien vom Spiegeln ausschließen
Um den Umfang des von einem Debian-CD-Spiegel benötigten Datenplatzes zu verringern können Sie gewisse Dateien vom Spiegeln ausschließen. Die folgenden Anweisungen beinhalten Befehlszeilenoptionen für rsync, können aber helfen, wenn ein anderes Werkzeug zum Spiegeln verwendet wird. Bei rsync werden die --include- und --exclude-Optionen in der Reihenfolge ihres Auftretens beachtet, und die erste Option, deren Dateimuster passt, bestimmt, ob eine Datei aus- oder eingeschlossen wird.
- Quellcode ausschließen:
--exclude=source/
Dies wird verhindern, dass Quellcode enthaltende Images gespiegelt werden. Beachten Sie, dass einige Leute es für unangebracht halten, Binärdateien eines GPL-lizenzierten Programms auf einem Server anzubieten, ohne auch den Quellcode der Programme auf demselben Server anzubieten. - Volle Images ausschließen:
--include='*netinst*.iso'
--exclude='*.iso'
Schließt sämtliche vollen CD-/DVD-Image-Sätze für alle Architekturen aus, aber spiegelt die net-install-.iso-Images. Wir empfehlen es, immer diese kleinen Images zu spiegeln: Im Verhältnis zu ihrer Größe sind sie extrem nützlich! - Volle Images für nicht-i386-Architekturen ausschließen:
--include='*netinst*.iso'
--include='i386/**.iso' --exclude='*.iso'
Wie oben, aber schließe alle CD-/DVD-Images für die i386-Architektur doch ein. - Volle Images ausschließen, ausgenommen die i386-CDs 1 bis
3:
--include='*netinst*.iso' --include='i386/**-[1-3].iso'
--exclude='*.iso'
Der volle Satz an i386-Images mag immer noch zu viel Platz beanspruchen, wenn Sie auch die DVD- und doppellagige DVD-Images einschließen. Dies schließt alle .iso-Images mit Ausnahme der net-install-Images und der ersten drei i386-CDs aus. - Alle Architekturen außer i386 ausschließen:
--exclude=alpha/ --exclude=arm/ --exclude=hppa/ --exclude=hurd/
--exclude=ia64/ --exclude=m68k/ --exclude=mips/ --exclude=mipsel/
--exclude=powerpc/ --exclude=s390/ --exclude=sh/
--exclude=sparc/
Schließt nur den vollen Satz Dateien für i386 ein, aber nicht irgendwelche .jigdo-, .iso- etc. Dateien für andere Architekturen.
Namenskonventionen und Platzbedarf für .iso-Images
Die verschiedenen Varianten der .iso-Images sind anhand ihres Namens unterscheidbar, was Ihnen erlaubt, die zu spiegelnden Image-Typen zu beschränken:
- *-netinst.iso: Ein Image für jede Architektur, bis zu 300 MB
- *-dvd.iso (einlagige DVDs): Mehrfache Images nur für i386, jedes bis zu 4482 MB groß. Für Sarge beträgt die zusammengenommene Größe der i386-Images ungefähr 9000 MB.
- *-dldvd.iso (doppellagige DVDs): Wie oben, die individuellen Images sind aber bis zu 8106 MB groß. Für Sarge sind keine .iso-Images verfügbar, nur jigdo-Dateien.
- *.iso: Alle übrigen .iso-Dateien, auf die keines der obigen Muster zutrifft, sind CD-Images. Es gibt mehrere Images für jede Architektur, jedes bis zu 650 MB groß. Die zusammengenommene Größe aller Images und Architekturen entspricht der Größe eines vollen Debian-Spiegels (derzeit 100 GB).
Den Spiegel registrieren
Um ihren CD-Image-Spiegel für eine größere Anzahl von Personen nützlich zu machen, können Sie ihn für unsere Spiegel-Liste wie diese oder diese registrieren. Jedoch sind komplette Images große Dateien, das könnte Ihnen also täglich viele Gigabyte an Netzwerkverkehr verursachen.
Sie können ihren Spiegel entweder durch das Ausfüllen des Spiegel-Einreich-Formulars registrieren (beachten Sie, dass die CDImage-* Felder die wichtigen sind), oder indem Sie eine E-Mail an debian-cd@lists.debian.org schicken.
Wir freuen uns auf jeden neuen CD-Image-Spiegel. Vielen Dank im Vorhinein!