|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
echo "Тест проверки целостности ISO образов MSVSphere ОС"
|
|
|
|
|
echo "=================================================="
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
source library/sh_lib.sh
|
|
|
|
|
|
|
|
|
|
echo "ATTENSION: Test temporarely skipped."
|
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
|
|
check=0
|
|
|
|
|
ISO_IMAGES_URLS_FILE='files/msvsphereiso_url.txt'
|
|
|
|
|
|
|
|
|
|
while read LINE; do
|
|
|
|
|
ISO_FILENAME=`basename $LINE`
|
|
|
|
|
ISO_URL_PATH="${LINE%/*}"
|
|
|
|
|
LOCAL_FILE="/home/pavel/MSVSphere-images/$ISO_FILENAME"
|
|
|
|
|
CHECKSUM_FILE_URL="$ISO_URL_PATH/$ISO_FILENAME.CHECKSUM"
|
|
|
|
|
echo "ISO URL: $LINE"
|
|
|
|
|
echo "Local file path: $LOCAL_FILE"
|
|
|
|
|
echo "Checksum File: $CHECKSUM_FILE_URL"
|
|
|
|
|
|
|
|
|
|
# Get SHA256 hash value:
|
|
|
|
|
# curl -s https://rsync.inferitos.ru/msvsphere/9.3/isos/x86_64/MSVSphere-9.3-x86_64-arm.iso.CHECKSUM | /bin/grep SHA256 | /bin/grep -v Hash: | /bin/awk -F '=' '{gsub(/ /, "", $2); print $2}'
|
|
|
|
|
SHA256_HASH_FROM_FILE="$(curl -s $CHECKSUM_FILE_URL | /bin/grep SHA256 | /bin/grep -v Hash: | /bin/awk -F '=' '{gsub(/ /, "", $2); print $2}')"
|
|
|
|
|
# curl -LJs -r 0-1048576 -o img.iso $LINE
|
|
|
|
|
# sha256sum /home/pavel/MSVSphere-images/MSVSphere-9.3-x86_64-arm.iso | /bin/awk -F ' ' '{ print $1 }'
|
|
|
|
|
SHA256_HASH_CALCULATED="$(sha256sum $LOCAL_FILE | /bin/awk -F ' ' '{ print $1 }')"
|
|
|
|
|
|
|
|
|
|
# Test and print results
|
|
|
|
|
echo "Calculated file SHA256 hash: $SHA256_HASH_CALCULATED"
|
|
|
|
|
echo "SHA256 hash from CHECKSUM file: $SHA256_HASH_FROM_FILE"
|
|
|
|
|
if [ "$SHA256_HASH_CALCULATED" == "$SHA256_HASH_FROM_FILE" ]; then
|
|
|
|
|
echo 'SHA256 hash OK'
|
|
|
|
|
else
|
|
|
|
|
echo 'ERROR: SHA256 hash mismatch!!!'
|
|
|
|
|
let check+=1
|
|
|
|
|
fi
|
|
|
|
|
echo "--------------------------"
|
|
|
|
|
done < $ISO_IMAGES_URLS_FILE
|
|
|
|
|
|
|
|
|
|
check_test_status ${check} "$0"
|
|
|
|
|
exit ${check}
|