From e26f916388a1383dfcfc0b178550f84c8cde352f Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Fri, 21 Jul 2017 17:13:09 +0200 Subject: Add post-boot scripting (work in progress) --- nfs/scripts/funcs.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 nfs/scripts/funcs.sh (limited to 'nfs/scripts/funcs.sh') diff --git a/nfs/scripts/funcs.sh b/nfs/scripts/funcs.sh new file mode 100644 index 0000000..5e27052 --- /dev/null +++ b/nfs/scripts/funcs.sh @@ -0,0 +1,52 @@ +# no args, print colored message, returns 0 if hostname seems valid, returns 1 if hostname is a default one +hostname_test() { + case $hostname in + "(none)"|eficast|"") echo_color white red ">>> " "hostname is not customized : $hostname" ; return 1 ;; + *\&*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;; + *\(*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;; + *\{*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;; + *\;*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;; + *\<*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;; + *\`*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;; + *\ *) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; 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 +} + -- cgit v1.2.3