# no args, let the user read useful informations on console (or skip with Enter) pause10s() { sfx_question # sfx_* comes from /etc/rc.d/funcs helpers read -t10 -p 'Press Enter or wait 10 sec...' # Make some blank lines on console echo -e '\n\n\n\n\n' } # no args, print colored message, returns 0 if hostname seems valid, returns 1 if hostname is a default one hostname_test() { BADNAME='echo_color white red ">>> hostname should not contain special characters or should not be FQDN : $hostname"' # This test is for security concern, hostname will be used as shell arg case $hostname in "(none)"|eficast|"") echo_color white red ">>> hostname is not customized : $hostname" ; return 1 ;; *\&*) $BADNAME; return 2 ;; *\(*) $BADNAME; return 2 ;; *\{*) $BADNAME; return 2 ;; *\;*) $BADNAME; return 2 ;; *\<*) $BADNAME; return 2 ;; *\`*) $BADNAME; return 2 ;; *\ *) $BADNAME; return 2 ;; *) echo_color green black ">>> hostname is $hostname" ; return 0 ;; esac } # no args, print colored message, returns 0 if NFS is read-only, returns 1 if NFS is read-write (needed for image capture) nfswrite_test() { if ! touch /mnt/nfs/.writetest then echo_color green black ">>> NFS is read-only" return 0 else echo_color white blue ">>> NFS is read-write" return 1 fi } # no args, print colored message, returns 0 if sda is present and is sata, returns >0 if it is not firstdisk_test() { diskinfo=$(lsblk --list --output TRAN,MODEL --noheadings --nodeps /dev/sda) case $diskinfo in sata*) echo_color green black ">>> First disk is SATA and is available ($diskinfo)" return 0 ;; usb*) echo_color white red ">>> First disk is USB ($diskinfo)" return 1 ;; *) echo_color white red ">>> First disk is unknown ($diskinfo)" return 2; ;; esac } # $1 : scriptname, print colored message, returns 0 script is available, returns 1 if not scriptavailability_test() { script=$scriptdir/$1 if [ -r $script ] then echo_color green black ">>> Script $script is available" return 0 else echo_color white blue ">>> Script $script is missing or unreadable" return 1 fi } # $1 : scriptname, print colored message, returns 0 script is available, returns 1 if not diravailability_test() { dir=$1 if [ -d $dir ] then echo_color green black ">>> Image $dir is available" return 0 else echo_color white blue ">>> Image $dir is missing or unreadable" return 1 fi }