Debian-Mirror mit apt-move #
Vorbereitung: FTP-Server #
Damit Dein Rechner als Mirror dienen kann, muss er erstmal einen ftp-Server installiert haben. Hierzu installierst Du das Paket ftpd. In der Standardeinstellung erlaubt es keinen anonymen ftp-Zugang. Hierzu muss ein User "ftp" angelegt werden. Also folgenden Eintrag in /etc/passwd:ftp:x:103:65534::/home/ftp:/bin/false
und ein Verzeichnis /home/ftp anlegen. (Natürlich auch in /etc/shadow eine Zeile entsprechend einfügen.) Dieses Verzeichnis wird später ziemlich gross, sollte also ggf. als Link auf eine große Partition o.ä. ausgelegt werden. In der Datei /etc/ftpusers müssen die User ftp und anonymous auskommentiert werden, sonst haben sie kenen Zugriff.
Der ftp-Server erzeugt normalerweise per chroot ein eigenes root-Verzeichnis für anonyme User. Damit das klappt, müssen einige Dateien im ftp-Verzeichnis in den Unterverzeichnissen bin, etc, lib und pub angelegt werden. Genaue Angaben kann man man in.ftpd entnehmen (ziemlich am Ende). Warum es dafür kein Script gibt, das das von alleine anlegt, weiss der Himmel. :-(
Jetzt kann man eine Testdatei darin anlegen und mit ftp localhost testen, ob man sich mit dem Usernamen "anonymous" anmelden kann.
Einrichtung von apt-move #
Zuerstmal das Paket apt-move installieren. Dann in der Konfigurationsdatei /etc/apt-move.conf folgende Einträge ändern:APTSITES="ftp.freenet.de non-us.debian.org" ARCHS="i386" LOCALDIR=/ftp/pub/debian DIST=woody
Dies sind die Debian-Mirror im Internet, von denen ich mir bisher meine Pakete geholt habe. Statt "ftp.freenet.de" kann hier natürlich auch "ftp.debian.org" stehen, das ist der Ur-Server. Der freenet-Server ist allerdings immer recht flott. Was nützt schließlich das schönste DSL, wenn der Server überlastet ist? :-( Alle hier aufgeführten Server werden in einen gemeinsamen Mirror kopiert.
Dann kann man in Abstimmung mit man apt-move noch andere Optionen ändern. So kann man z.B. verhindern, daß source-Pakete gespiegelt werden. Dies ist normalerweise ja auch nicht sinnvoll.
Dann ist ein Verzeichnis /home/ftp/pub/debian/ anzulegen (Permissions beachten siehe oben). Hier kommt der Mirror dann später rein.
/etc/apt/sources.list #
Diese Datei muss richtig konfiguriert sein. Zuerst mal sollte sie die normalen Einträge enthalten, die auf die originalen ftp-Server verweisen. Hierzu verweise ich auf die Dokumentation zu apt-get. Die verwendeten Server müssen natürlich mit den Einträgen in APTSITES oben korrespondieren. Falls Server nicht in APTSITES stehen, werden sie nicht mitgespiegelt.
Dann muss als oberster Eintrag ein file-Eintrag auf den eigenen Mirror stehen. Das ganze sieht dann bei mir so aus:
deb file:/home/ftp/pub/debian/ woody main non-free contrib non-US/main non-US/non-free non-US/contrib deb http://ftp.freenet.de/pub/ftp.debian.org/debian/ woody main non-free contrib deb http://ftp.freenet.de/pub/ftp.debian.org/debian-non-US woody non-US/main non-US/contrib non-US/non-free
Starten des Programms #
Zu beachten ist ,daß nicht nur /home/ftp/ ziemlich groß wird, sondern die Pakete erstmal in /var/cache/apt gecachet werden. Diese Partition sollte also auch gross genug sein.Zuerst sollte mit apt-get update die apt-Datenbank aktualisiert werden. Das Programm wird gestartet mit
apt-move mirror
Der erste Durchlauf benötigt wie gesagt ca. 6 Stunden bei DSL. Danach gehts dann schneller. :-) Direkt danach sollte mit apt-get update die Paketliste von apt-get aktualisieren.
Zugriff aus dem Netz #
Andere Rechner können jetzt einfach durch einen Eintrag in Ihrer /etc/apt/sources.list in der Form:deb ftp://debianmirror.lug.loc/~ftp/pub/debian woody main non-free contrib non-US/main non-US/non-free non-US/contrib
auf den Mirror zugreifen, ohne ins Internet zu müssen! :-)