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

    Links:

    Leave A Reply