Sobald man anfängt, mehrere Systeme per FAI zu installieren, macht es unter Umständen Sinn sich ein lokales Debian Repository anzulegen. Dieses kann dann alle zur Systeminstallation notwendigen Dateien beinhaltet .
Installation
apt-get install debmirror debian-keyring debian-archive-keyring
# Verzeichniss erstellen groupadd mirror useradd -g mirror -d /mirror -c "Debian Mirror" mirror mkdir -p /mirror/debian chown mirror:mirror /mirror -R
# keys importieren # Nun müssen noch Schlüssel aus dem archiv Schlüsselbund importiert werden gpg --no-default-keyring -a --keyring /usr/share/keyrings/debian-archive-keyring.gpg --export F42584E6 | gpg --no-default-keyring --keyring ~/.gnupg/trustedkeys.gpg --import - gpg --no-default-keyring -a --keyring /usr/share/keyrings/debian-archive-keyring.gpg --export 6070D3A1| gpg --no-default-keyring --keyring ~/.gnupg/trustedkeys.gpg --import -
# main, contrib, non-free debmirror /mirror/debian --passive --progress --nosource --host=ftp.de.debian.org --root=/debian --dist=lenny -section=main,contrib,non-free --arch=i386 --cleanup --getcontents --pdiff=none # security updates debmirror /srv/mirror/debian-security --progress --host=security.debian.org --root=debian-security/ --dist=lenny/updates,etch/updates --section=main,contrib,non-free --meth=http --arch=i386 --passive
Apache2 installieren/anpassen
Damit nun das Repository auch von andere Clients verwendet werden kann, sollte der Zugriff per HTTP konfiguriert werden. Dazu kann
die /etc/apache2/httpd.conf wie folgt angepasst werden
<Directory /mirror> Options Indexes FollowSymLinks AllowOverride None Order allow,deny allow from all </Directory> Alias /debian /mirror/debian
sources.list
Nun muss noch auf den entsprechenden Clients die /etc/apt/sources.list angepasst werden
deb file:/mirror/debian/ lenny main contrib non-free deb file:/mirror/debian-security/ lenny/updates main contrib
Automatisierung
Um das Repository nun aktuell zu halten, hab ich ein ein bereits existierendes Script angepasst. Die Angepasste Version kann hier herunter geladen werden
und sollter ausführbar als /usr/local/bin/mirror gespeichert werden.
Cron
Damit das Repository nun automatisch aktualisiert wird, muss noch ein Cron Eintrag hinzugefügt werden.
55 5 * * * /usr/local/bin/mirror >/dev/null 2>&1
Links:
Nachtrag:
Am 26.05.2009 wurden die Schlüssel für die Debian Repositorys erneurt (Link: Linux-Magazin). Der neue Schlüssel kann auch manuell nachinstalliert werden.
gpg --keyserver hkp://subkeys.pgp.net --keyserver-options verbose --recv 55BE302B gpg --output ~/.gnupg/trustedkeys.gpg --export 55BE302B