Eigenen Debian Spiegelserver (Mirror) einrichten

Da ich später mit FAI (fully automated installation) Server automatisch mit Debian installieren möchte, benötige ich einen eigenen lokalen Spiegelserver (Mirror). Zudem muss dann nicht jeder Server Packete und Updates aus dem Internet herunterladen, sonderen kann diese vom lokalen Spiegelserver (Mirror) beziehen. Ein lokaler Spiegelserver (Mirror) ist relativ schnell und einfach mit apt-mirror eingerichtet.

Als erstes wird apt-mirror installiert

aptitude install apt-mirror

Die benötigten Ordner werden erstellt, sofern man nicht die Standardordner in der Konfigurationsdatei /etc/apt/mirror.list verwenden möchte

mkdir /media/data11/mirror
mkdir /media/data11/mirror/mirror
mkdir /media/data11/mirror/skel
mkdir /media/data11/mirror/var
chown -R apt-mirror:apt-mirror /media/data11/mirror

Danach wird die Konfigurationsdatei /etc/apt/mirror.list angepasst. Ich benötige nur Debian 64 Bit

############# config ##################
#
set base_path    /media/data11/mirror
#
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh
# set defaultarch  
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

# deb http://ftp.us.debian.org/debian unstable main contrib non-free
# deb-src http://ftp.us.debian.org/debian unstable main contrib non-free

# mirror additional architectures
#deb-alpha http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-amd64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-armel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-hppa http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-i386 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-ia64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-m68k http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mips http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mipsel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-powerpc http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-s390 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-sparc http://ftp.us.debian.org/debian unstable main contrib non-free

deb-amd64 http://ftp.ch.debian.org/debian squeeze main
deb-src http://ftp.ch.debian.org/debian squeeze main

deb-amd64 http://ftp.ch.debian.org/debian/ squeeze-updates main
deb-src http://ftp.ch.debian.org/debian/ squeeze-updates main

deb-amd64 http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

clean http://ftp.ch.debian.org/debian squeeze main
clean http://ftp.ch.debian.org/debian/ squeeze-updates main
clean http://security.debian.org/ squeeze/updates main

Nun wechselt man zum Benutzer apt-mirror und erstellt den Mirror. Der Mirror wurde bei mir ca. 61GB gross.

su apt-mirror
apt-mirror

Ist der Mirror erstellt, muss er noch mit einem Webserver verfügbar gemacht werden

aptitude install apache2

Danach müssen die Dateien noch verlinkt werden, damit sie über den Webserver erreichbar sind

ln -s /media/data11/mirror/mirror/ftp.ch.debian.org/debian /var/www/debian
ln -s /media/data11/mirror/mirror/security.debian.org/ /var/www/security

Ein Cronjob wurde bei der Installation von apt-mirror schon automatisch angelegt, der Kommentar muss aber noch entfernt werden

root@server:/$ cat /etc/cron.d/apt-mirror
#
# Regular cron jobs for the apt-mirror package
#
0 4    * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

Der lokale Spiegelserver (Mirror) ist jetzt erreichbar unter http://IP/. Wer möchte kann natürlich noch einen DNS Eintrag für diese IP erstellen.

Damit die Server den lokalen Spiegelserver (Mirror) benutzen, muss noch die Datei /etc/apt/sources.list bei den Servern angepasst werden. Diese könnte zum Beispiel so aussehen

root@server:~# cat /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 6.0.2.1 _Squeeze_ - Official amd64 NETINST Binary-1 20110628-12:58]/ squeeze main

deb http://IP/debian/ squeeze main
deb-src http://IP/debian/ squeeze main

deb http://IP/security/ squeeze/updates main
deb-src http://mirror.voser.local/security squeeze/updates main

deb http://IP/debian/ squeeze-updates main
deb-src http://IP/debian/ squeeze-updates main

Der lokale Spiegelserver (Mirror) kann jetzt ebenfalls für die Netinstallation von Debian verwendet werden.

Natürlich kann auch mit anderen Tools ein Spiegelserver (Mirror) erstellt werden: Debmirror (Ubuntu, funktioniert natürlich auch für Debian wenn man die Sourcen anpasst), Offizielle Anleitung von Debian. Hier noch eine einfache Anleitung auch mit apt-mirror für Ubuntu: Apt-mirror.

Ich habe mich für apt-mirror entschieden, weil die Einrichtung wirklich sehr einfach und schnell ist. Es spielt nicht so eine wichtige Rolle, welches Tool ihr für den Spiegelserver (Mirro) verwendet, denn schlussendlich laden alle Tools die Packete von den Packetservern herunter ;-).

2 Antworten
  1. Gregory Martinez
    Gregory Martinez says:

    Man sollte beachten, dass man für die Einrichtung von apt-mirror je nach Größe der Paketquelle entsprechend Platz auf der Festplatte benötigt. Für die offiziellen Ubuntu-Paketquellen benötigt man, wenn man Pakete (ohne Quellcode-Pakete) für alle Plattformen (i386, AMD64) benötigt, etwa 80 GiB. Bei einer Plattform sind es etwa 60 GiB.

  2. sLOID
    sLOID says:

    hallo und vielen dank. konnte mit deiner anleitung einen wheezy mirror ganz leicht erstellen.

    grüsse aus köln, torsten.

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Wir freuen uns über ihren Beitrag!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *