LinuxMirror
Introductie
Bij de meeste Linux distributies heb je de mogelijkheid om de installatie via het netwerk te laten verlopen. Je downloadt een minimale CD waarmee je je machine boot en de installer haalt vervolgens de benodigde packages op via het netwerk (HTTP, FTP, NFS etc). Hiermee bespaar je bandbreedte, packages die je niet gebruikt hoef je immers ook niet te downloaden. Ook hoef je met deze methode maar 1 CD te branden, of je kan zelfs via het netwerk of USB booten.
In sommige gevallen is het echter makkelijk om op je eigen LAN een mirror op te zetten, je kan dan de installatiebestanden van een eigen server halen, dit gaat in de meeste gevallen vele malen sneller dan een publieke server. Het gebruik van een lokale mirror is ook aan te raden als je een groot aantal hosts hebt die deze bestanden nodig hebben.
Op deze pagina wordt verteld hoe je je eigen Linux Installatie Mirror opzet.
Debian Based distributies
In het Debian project wordt in veel gevallen gebruik gemaakt van de tool debmirror, dit is een programma dat speciaal geschreven is een Debian mirror aan te maken.
debmirror installeren
Ten eerste moet je de package debmirror installeren. Dit kan bijvoorbeeld met het onderstaande commando:
# apt-get install debmirror
of (onder Ubuntu)
$ sudo apt-get install debmirror
Debian
Maak een plek aan waar de mirror komt te staan:
mkdir -p /opt/mirror/debian
Gebruik vervolgens dit commando om de mirror aan te maken:
debmirror -a i386 --nosource -s main -h ftp.nl.debian.org -d etch -r /debian --progress -e ftp --ignore-release-gpg /opt/mirror/debian
Ubuntu
Maak een plek aan waar de mirror komt te staan:
mkdir -p /opt/mirror/debian
Gebruik vervolgens dit commando om de mirror aan te maken:
debmirror -a i386 --nosource -s main -h de.archive.ubuntu.com -d feisty -r /ubuntu --progress -e http --ignore-release-gpg /opt/mirror/ubuntu
Debmirror automatiseren
Bovenstaande commando's komen uit het volgende script, en dat script kan je gebruiken om automatisch de mirror te laten updaten:
etch.sh
Maak een bestand aan met de naam etch.sh"
vi /opt/mirror/etch.sh
Plak daarin de volgende tekst:
#!/bin/bash arch=i386 section=main release=etch proto=http server=ftp.nl.debian.org inPath=/debian outPath=/opt/mirror/debian # Start script # debmirror -a $arch \ --nosource \ -s $section \ -h $server \ -d $release \ -r $inPath \ --progress \ -e $proto \ --ignore-release-gpg \ $outPath
Zorg er voor dat het script executable is:
chmod +x /opt/mirror/etch.sh
Als je nu het volgende command draait zal je je mirror updaten:
/opt/mirror/etch.sh
Dit kan je vervolgens via een cron job automatisch laten doen... :)
feisty.sh
Maak een bestand aan met de naam feisty.sh"
vi /opt/mirror/feisty.sh
Plak daarin de volgende tekst:
#!/bin/bash arch=i386 section=main release=feisty server=de.archive.ubuntu.com inPath=/ubuntu proto=http outPath=/opt/mirror/ubuntu debmirror -a $arch \ --nosource \ -s $section \ -h $server \ -d $release \ -r $inPath \ --progress \ -e $proto \ --ignore-release-gpg \ $outPath
Zorg er voor dat het script executable is:
chmod +x /opt/mirror/feisty.sh
Als je nu het volgende command draait zal je je mirror updaten:
/opt/mirror/feisty.sh
Dit kan je vervolgens via een cron job automatisch laten doen... :)
RPM Based Distributies
Helaas is er voor op RPM gebaseerde Linux distributies geen rpmmirror zoals dat bij debian het geval is, je zal dus anders te werk moeten gaan...
Meer info volgt... (of niet :P)