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 ;-).
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.
hallo und vielen dank. konnte mit deiner anleitung einen wheezy mirror ganz leicht erstellen.
grüsse aus köln, torsten.
Moin.
Ich habe gerade mit apt-mirror einen Spiegelserver für xenial erstellt und mit nginx als 192.168.2.115:1604 verfügbar gemacht.
Leider meldet mit der Client „The repository ‚192.168.2.115:1604/ubuntu xenial Release‘ does not have a Release file.
Vermutlich eine Kleinigkeit die ich übersehe.
Im Pfad auf dem Server sind die Dateien vorhanden.