Opzetten van een plaatselijke mirror van de laatste Skolelinux CD-ROM
Omdat er enkel kleine verschillen zijn tussen de verschillende CD images, heeft het
weinig zin om de hele image te downloaden voor iedere versie van de Skolelinux, dit
verspilt enkel tijd en bandbreedte.
Om een plaatselijke mirror aan te maken dien je rsync geinstalleerd te hebben.
Indien dit niet het geval is, voer dan volgende commando's uit om als de root gebruiker
rsync te installeren:
su -
apt-get install rsync
Om te beginnen willen we enkel de CD ISO file downloaden. Hiertoe voeren we de volgende
commando's uit (waarbij XX de versie is van de CD die je wil downloaden):
rsync rsync.skolelinux.no::skolelinux-cd/skolelinux-i386-prXX.iso /var/tmp/skolelinux-i386.iso
/var/tmp/skolelinux-i386.iso is de naam die je gebruikt voor de plaatselijke iso-file.
rsync zal proberen om dit bestand te vergelijken met gelijknamige bestanden op de server
Om te weten te komen welke versies beschikbaar zijn voer je volgend commando uit:
rsync rsync.skolelinux.no::skolelinux-cd
Dit geeft je een lijst die er ongeveer zo uitziet:
tommy@dell-laptop:~$ rsync rsync.skolelinux.no::skolelinux-cd
drwxr-xr-x 4096 2003/05/10 19:42:33 .
-rw-r--r-- 1357 2003/05/10 19:42:33 MD5SUM
-rw-r--r-- 654532159 2003/01/21 12:17:49 skolelinux-i386-pr1.raw.gz
-rw-r--r-- 633968583 2003/01/21 13:14:09 skolelinux-i386-pr10.iso.gz
-rw-r--r-- 639065991 2003/01/21 13:21:35 skolelinux-i386-pr11.iso.gz
........
-rw-r--r-- 649742605 2002/12/16 00:45:32 skolelinux-i386-pr33.iso.gz
-rw-r--r-- 680427520 2003/01/21 17:09:06 skolelinux-i386-pr34.iso
-rw-r--r-- 682000384 2003/02/04 23:26:47 skolelinux-i386-pr35.iso
-rw-r--r-- 680132608 2003/03/04 00:47:06 skolelinux-i386-pr36.iso
-rw-r--r-- 680656896 2003/03/14 21:08:21 skolelinux-i386-pr37.iso
-rw-r--r-- 680329216 2003/05/10 19:42:29 skolelinux-i386-pr38.iso
tommy@dell-laptop:~$
Van deze lijst kun je opmaken dat de laatste versie pr38(Pre-Release) is.
Er van uit gaande dat je lokale versie van de CD ouder is dan 38, doe je
het volgende om je lokale kopie uptodate te krijgen:
rsync rsync.skolelinux.no::skolelinux-cd/skolelinux-i386-pr38.iso /var/tmp/skolelinux-i386.iso
Om bovenstaand proces te vergemakkelijken, schrijven we een shellscript dat
ons hierbij helpt. Dit script zal er op toe zien dat rsync niet probeert
om de hele file over te zetten, maar enkel die delen die noodzakelijk zijn om je
lokale kopie uptodate te krijgen.
Verder willen we vermijden dat rsync onze volledige bandbreedte consumeert. Daarom
zullen we aangeven hoeveel Kilobytes per seconde(KB/s) gebruikt mag worden door de
verzending. Een Kilobyte is 8192bits. Een 1Mbit verbinding komt overeen met ongeveer 122 Kilobytes.
Onderstaand voorbeeld verbruikt ongeveer 1/4 van de totale bandbreedte.
Dit script kun je best in /usr/local/sbin plaatsen, met de naam
skolelinux.rsync. Bij het aanroepen van het script geef je de bestandsnaam van de versie die
je wil downloaden als parameter mee.
#!/bin/bash
LOCALIMAGE=/var/tmp/skolelinux.iso
FILENAME=$1
REMOTEIMAGE=rsync.skolelinux.no::skolelinux-cd/$FILENAME
BANDWIDTH=32
# Check rsync exists
test -x /usr/bin/rsync || exit 0
# Check if a local image exists, or emit a warning
if [ ! -e $LOCALIMAGE ]; then
echo "Warning: No local Skolelinux CD-image available in the specified location."
echo "Downloading the entire CD."
fi
rsync \
--no-whole-file \
--bwlimit=$BANDWIDTH \
$REMOTEIMAGE $LOCALIMAGE || exit 1
Om ervoor te zorgen dat het script uitvoerbaar is, geef je volgend commando:
chmod +x skolelinux.rsync
Wanneer je nu je plaatselijke image will updateen, hoef je enkel volgend commando te geven:
skolelinux.rsync skolelinux-i386-pr38.iso
Plaatselijke kopie van de dagelijkse ontwikkel versie van de Skolelinux CD-ROM
Wanneer je geinteresseerd bent in de dagelijkse builds van de ontwikkel CD, dan vervang je
in bovenstaande uitleg skolelinux-cd met skolelinux in de bovenstaande uitleg.
Dit doe je door het volgende commando uit te voeren:
rsync rsync.skolelinux.no::skolelinux
Het resultaat ziet er ongeveer zo uit:
klaus@kreta:~$ rsync rsync.skolelinux.no::skolelinux
drwxr-xr-x 4096 2002/08/11 10:33:00 .
-rw-r--r-- 408 2002/08/11 10:34:31 MD5SUMS
-rw-r--r-- 679641088 2002/08/11 10:27:12 woody-i386-1.raw
-rw-r--r-- 679837696 2002/08/11 10:27:53 woody-i386-2.raw
-rw-r--r-- 683999232 2002/08/11 10:28:51 woody-i386-3.raw
-rw-r--r-- 675840000 2002/08/11 10:29:37 woody-i386-4.raw
-rw-r--r-- 679936000 2002/08/11 10:31:31 woody-i386-5.raw
-rw-r--r-- 675020800 2002/08/11 10:32:11 woody-i386-6.raw
-rw-r--r-- 680165376 2002/08/11 10:32:56 woody-i386-7.raw
-rw-r--r-- 76120064 2002/08/11 10:33:07 woody-i386-8.raw
klaus@kreta:~$
De woody-i386-1.raw zal uiteindelijk de stabiele versie van de Skolelinux CD
worden. Dit bestand wordt elke 4 uren geupdate, en kan gedownload worden van
ftp.skolelinux.no/debian-cd. Of via rsync indien je reeds een
skolelinux-i386-prXX.iso bestand op je harde schijf hebt staan.
Het eerste dat je dan dient te doen is om dit bestand te hernoemen naar woody-i386-1.raw
met het commando:
mv skolelinux-i386-prXX.iso woody-i386-1.raw
Vervolgens kun je de commando's en het script dat eerder op deze pagina werd gegeven, gebruiken om
te updaten. Vergeet niet om woody-i386-1.raw te gebruiken inplaats van skolelinux-i386-pr38.iso
Waarschuwing: deze CDs zijn bedoeld voor ontwikkelaars, dusdanig bevatten ze vaak fouten, en soms werken ze helemaal niet.
Een nuttig commando is man rsync.
Lars Bahner