Website-Icon .: blog cscholz.io :.

Debian: Einrichten Debian Repositorys

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:

Die mobile Version verlassen