Files
init.sh/lib/support.sh

71 lines
2.4 KiB
Bash

# Display help
disp_help()
{
cat << EOF
Utilisation : init.sh [OPTIONS] [-m|--module <module1,...,moduleN>]
Initialise une machine pour l'intégrer à un réseau.
Options :
-m, --module <liste> Lance les modules indiqués même s'il ne sont pas
dans les fichiers de configuration. Les noms des
modules doivent être séparés par des virgules.
-c, --check-only Lance les procédures de vérification sans rien
modifier.
-j, --jump Saute les procédures de vérification des
modules.
-k, --keep-going Continue l'execution en cas d'erreur.
-r, --resume Reprend l'execution là ou elle s'est arrêté.
-R, --no-root-check Ne pas vérifier les droits root (ou UID 0)
-h, --help Affiche ce texte d'aide.
-l, --logfile <nom> Nom du fichier de log. Peut aussi être changé
via la variable d'environnement LOGFILE.
-v, --version Affiche la version de ce script et celles de
tous les modules disponibles.
Attention : les options courtes ne sont pas concaténable.
Variable d'environnement :
LOGFILE Stocke le nom complet du fichier de log qui sera
produit.
Fichiers de configuration :
Le fichier de configuration principal fournira les détails nécessaires
au déploiement de la nouvelle machine. Il doit se situer dans le
répertoire conf/ à coté du script init.sh. Si un fichier appelé
"hostname.sh" existe (ou hostname est le nom d'hote), alors il sera le
fichier de configuration principal. Dans le cas contraire, le nom
générique "init.conf.sh" sera recherché.
En l'absence de fichier de configuration ce script ne pourra pas
fonctionner.
Veuiller consulter les fichiers de configuration fournis en exemple
pour avoir un aperçu des paramêtres disponibles.
EOF
}
# Show version infos
show_version()
{
echo -e "${BWhite}init.sh${DEFAULTCOL} version ${BGreen}$VERSION${DEFAULTCOL}"
echo ""
echo "Modules disponibles :"
for mod in $MYPATH/modules/*.sh; do
. $mod
local modname=$(get_mod_name $mod)
local version=VER_$modname
echo -e "\t$BWhite$modname${DEFAULTCOL}: $BGreen${!version}$DEFAULTCOL"
done
[[ $EUID -ne 0 ]] &&
echo -e "\n${BYellow}Attention :$DEFAULTCOL Ce script requiert les droits d'administration pour fonctionner."
}
# Get module name from module file
get_mod_name()
{
echo $(basename $1 | cut -f 1 -d '.')
}