diff options
Diffstat (limited to 'data')
-rwxr-xr-x | data/openslx-update | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/data/openslx-update b/data/openslx-update index 06d05554..e4d271f5 100755 --- a/data/openslx-update +++ b/data/openslx-update @@ -21,6 +21,8 @@ REMOTEINDEX="/tmp/mlversion" LOCALINDEX="/opt/openslx/local_version" WWWTEMP="/srv/openslx/www-temp" PXECONFIG="/srv/openslx/tftp/pxelinux.cfg/default" +CRCCOMMAND=md5sum +CRCEXTENSION=md5 . "/opt/openslx/server-defaults" || error "Konnte Serverkonfiguration nicht laden. Wurde openslx-install ausgeführt?" @@ -65,7 +67,18 @@ for REL in ${!AVAILABLE_*}; do continue fi # Download - wget -O "/srv/openslx/www/openslx-$FILE" "$MIRROR/files/$FILE" || warning "Could not download $FILE" + wget -O "/srv/openslx/www/openslx-$FILE" "$MIRROR/files/$FILE" || { warning "Could not download $FILE"; continue; } + # Download md5 value + wget -O "/srv/openslx/www/openslx-$FILE.$CRCEXTENSION" "$MIRROR/files/$FILE.$CRCEXTENSION" \ + || { warning "Could not download $FILE.$CRCEXTENSION!"; continue; } + # check file checksums + if [ $($CRCCOMMAND "/srv/openslx/www/openslx-$FILE"|cut -f 1 -d " ") != "$(cat /srv/openslx/www/openslx-$FILE.$CRCEXTENSION)" ]; then + warning "$CRCCOMMAND: $FILE: checksum mismatch! Transmission error or disk full." + warning "$CRCCOMMAND: $FILE: Prüfsummendiskrepanz! Übertragungsfehler oder Laufwerk voll." + error "Beende Skript aufgrund Prüfsummendiskrepanz!" + else + print "Prüsummencheck Datei $FILE ok." + fi done if [ -z "$PXELINE" -o -z "$KERNEL" ]; then warning "Incomplete entry. KERNEL or INITRD missing." |