From b1bccea98a33613e22d9d9e1d8802cb326833c0f Mon Sep 17 00:00:00 2001 From: Peng Peng Date: Mon, 22 Jul 2024 11:16:17 +0800 Subject: [PATCH] feat: Added a script to check the size of all images in the installation package. (#238) --- build/installer/check_image_size.sh | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 build/installer/check_image_size.sh diff --git a/build/installer/check_image_size.sh b/build/installer/check_image_size.sh new file mode 100644 index 00000000..fcd01c2f --- /dev/null +++ b/build/installer/check_image_size.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +convert_to_memory_unit() { + local num=$1 + local unit="B" + if [[ $num -ge 1073741824 ]]; then + num=`echo $num | awk '{ printf("%.2lf",$1/1073741824) }'` + unit="GB" + elif [[ $num -ge 1048576 ]]; then + num=`echo $num | awk '{ printf("%.2lf",$1/1048576) }'` + unit="MB" + elif [[ $num -ge 1024 ]]; then + num=`echo $num | awk '{ printf("%.2lf",$1/1024) }'` + unit="KB" + fi + echo "$num$unit" +} + + +>image.size.tmp.txt +>image.size.raw.txt +>image.size.txt + +for path in `ls images/*.tar.gz` +do + image=`basename $path` + rm -rf tmp + mkdir tmp + cp images/$image tmp/$image + + cd tmp + size=`ls -l | awk '{ print $5 }' | tail --line 1` + echo $image + tar -xzf $image + name=`cat manifest.json | awk -F"RepoTags" '{ print $2 }' | awk -F"\"" '{ print $3 }'` + cd .. + + echo -e $size"\t"$name >> image.size.tmp.txt +done + +sort -k1 -nr image.size.tmp.txt > image.size.raw.txt +rm image.size.tmp.txt + +while read size image +do + echo -e $(convert_to_memory_unit $size)"\t"$image >> image.size.txt +done < image.size.raw.txt