LinuxMirror

Uit FOK!wiki
Versie door Whoops (overleg | bijdragen) op 21 apr 2007 om 15:06
Ga naar: navigatie, zoeken

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)