[Norsk] [English]

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