Hinweis:
Diese Anleitung bezieht sich auf Debian Woody.
Debian Woody ist end of life, Security Updates wurden am 30. Juni 2006 eingestellt!
Debian GNU/Linux 3.0 ("Woody") ISO-Images (cdimage.debian.org): 3.0r6,
netinst & businesscard.
Motivation
Ich habe gerne die CD-Images lokal zur Verfügung. Mindestens von der ersten Revision eines Debian-stable-Releases wie zur Zeit Woody. So kann ich auch ohne Zugang zum Internet einen Rechner installieren, den ich dann online wieder auf den aktuellsten Stand (neue Revision, Security-Updates) bringen kann. Warum diese CD-Images nicht nutzen, um Bandbreite zu schonen? Und: Wenn ich ein neues Programm installieren möchte, von dem es keine neuere Version gibt, dann bin ich beim Download vom lokalen Mirror anstatt von einem Debian Mirror um ein Vielfaches schneller.
Vorbereitungen
Ein Debian-Mirror aus CD-Images zum Beispiel für das eigene LAN ist recht einfach aufzusetzen. Da ich schon einen Webserver installiert habe, greife ich über HTTP und nicht über FTP oder NFS auf den Mirror zu.
Ich benötige bzw. verwende folgende Dinge auf dem Mirror-Server:
- die ISO-Images
- einen Webserver (Boa)
- einen Automounter (optional)
- 4.2 GB Festplattenplatz für die Images (3.0rev0)
Die ISO-Images werden nach dem download und dem überprüfen der MD5-Summe in ein an sich beliebiges Verzeichnis gespeichert. Bei mir heißt das Verzeichnis /scratch/reiserfs-01/.iso/. Dort liegen (momentan) die Images von Debian GNU/Linux 3.0 rev0 - auch bekannt als Woody.
(Natürlich ist es überflüssig, ein journaling filesystem für diese Partition zu verwenden, da die Partition sowieso read-only gemountet wird, aber ich hatte grade eine ReiserFS-Partition mit (genau) der Größe frei und war wohl zu faul, diese auf ext2 zu formatieren.)
Mounten der Images
Damit ich auf Dateiebene auf die CDs zugreifen kann, müssen die ISO-Dateien gemountet werden. Ich erledige das über den Automounter - das ginge natürlich auch über die /etc/fstab. Das sieht dann vielleicht etwas weniger kompliziert aus.
Meine /etc/auto.master enthält die Zeile:
/scratch/reiserfs-01/woody-iso/30r0 /etc/auto/auto.woody-iso.30r0
Die Datei /etc/auto/auto.woody-iso.30r0 sieht bei mir wiederum so aus (allerdings ohne den Zeilenumbruch):
01nonUS -fstype=iso9660,ro,loop \
:/scratch/reiserfs-01/.iso/debian-30r0-i386-binary-1_NONUS.iso
02 -fstype=iso9660,ro,loop \
:/scratch/reiserfs-01/.iso/debian-30r0-i386-binary-2.iso
03 -fstype=iso9660,ro,loop \
:/scratch/reiserfs-01/.iso/debian-30r0-i386-binary-3.iso
04 -fstype=iso9660,ro,loop \
:/scratch/reiserfs-01/.iso/debian-30r0-i386-binary-4.iso
05 -fstype=iso9660,ro,loop \
:/scratch/reiserfs-01/.iso/debian-30r0-i386-binary-5.iso
06 -fstype=iso9660,ro,loop \
:/scratch/reiserfs-01/.iso/debian-30r0-i386-binary-6.iso
07 -fstype=iso9660,ro,loop \
:/scratch/reiserfs-01/.iso/debian-30r0-i386-binary-7.iso
Das bewirkt, daß z.B. die Datei /scratch/reiserfs-01/.iso/debian-30r0-i386-binary-1_NONUS.iso nach /scratch/reiserfs-01/woody-iso/30r0/01nonUS gemountet wird, sobald "etwas" - zum Beispiel der Webserver - auf letzteres (existierende) Verzeichnis zugreift. (Das sind alles richtig schön lange Pfade, oder? Ok, über das "schön" kann man streiten...)
Webserverkonfiguration
Meine /etc/boa/boa.conf entält die ZeileDamit kann ich das Basisverzeichnis meines Debian-Mirrors unter der Adresse http://172.16.0.3/debian/ erreichen. 172.16.0.3 ist die IP-Adresse meines Debian-Mirror-Servers. Die eigentlichen CDs (01nonUS, 02, ..., 07) liegen dann unterhalb von http://172.16.0.3/debian/woody-iso/30r0/. Ich habe diese Verzeichnisstruktur deswegen so gewählt, damit ich auch nach dem gleichen Schema einen Mirror für sarge einbinden kann, sobald sarge stable ist und ich noch woody-Rechner beheimate.Alias /debian /scratch/reiserfs-01
Advanced Package Tool
Natürlich muß apt - dem Advanced Package Tool - noch gesagt werden, wo apt die Software findet. Meine /etc/apt/sources.list sieht also folgendermaßen aus:Um ehrlich zu sein: Meine /etc/apt/sources.list sieht nicht 100%ig so aus, aber das hat nichts mit dem CD-Mirror an sich zu tun.# See sources.list(5) for more information, especial # Remember that you can only use http, ftp or file URIs # # --*-- security --*-- # deb http://security.debian.org/ woody/updates main contrib non-free # # --*-- local mirror --*-- # deb http://172.16.0.3/debian/woody-iso/30r0/01nonUS/ woody contrib main deb http://172.16.0.3/debian/woody-iso/30r0/01nonUS/ woody non-US/contrib deb http://172.16.0.3/debian/woody-iso/30r0/01nonUS/ woody non-US/main deb http://172.16.0.3/debian/woody-iso/30r0/02/ woody contrib main deb http://172.16.0.3/debian/woody-iso/30r0/02/ woody non-US/contrib deb http://172.16.0.3/debian/woody-iso/30r0/02/ woody non-US/main deb http://172.16.0.3/debian/woody-iso/30r0/03/ woody contrib main deb http://172.16.0.3/debian/woody-iso/30r0/03/ woody non-US/contrib deb http://172.16.0.3/debian/woody-iso/30r0/03/ woody non-US/main deb http://172.16.0.3/debian/woody-iso/30r0/04/ woody contrib main deb http://172.16.0.3/debian/woody-iso/30r0/04/ woody non-US/contrib deb http://172.16.0.3/debian/woody-iso/30r0/04/ woody non-US/main deb http://172.16.0.3/debian/woody-iso/30r0/05/ woody contrib main deb http://172.16.0.3/debian/woody-iso/30r0/05/ woody non-US/contrib deb http://172.16.0.3/debian/woody-iso/30r0/05/ woody non-US/main deb http://172.16.0.3/debian/woody-iso/30r0/06/ woody contrib main deb http://172.16.0.3/debian/woody-iso/30r0/06/ woody non-US/contrib deb http://172.16.0.3/debian/woody-iso/30r0/06/ woody non-US/main deb http://172.16.0.3/debian/woody-iso/30r0/07/ woody contrib main deb http://172.16.0.3/debian/woody-iso/30r0/07/ woody non-US/contrib deb http://172.16.0.3/debian/woody-iso/30r0/07/ woody non-US/main # # --*-- online --*-- # deb http://ftp2.de.debian.org/debian/ woody main contrib non-free # # EOF #
