"Procédure d'installation"

This commit is contained in:
2017-07-22 01:55:47 +02:00
parent b369b2eb00
commit 94946c834d
4 changed files with 116 additions and 44 deletions

View File

@@ -1,29 +1,15 @@
#!/bin/bash
#
# Script d'installation du socle bash Tetalab
# Script d'installation du socle Bash
#
# 21/07/2017 - Doug Le Tough
# 21/07/2017 - Doug Le Tough / Tetalab
#
PROFILE_DIR=/etc/profile.d
PROFILE_FILE=tetalab.sh
INSTALL_DIR=$(dirname $0)
NC_EXPL_ROOT=/opt/tetalab
export NC_EXPL_ROOT
NC_EXPL_LIB=${NC_EXPL_ROOT}/lib
NC_EXPL_BIN=${NC_EXPL_ROOT}/bin
NC_EXPL_LOG=${NC_EXPL_ROOT}/log
NC_EXPL_HST=${NC_EXPL_ROOT}/hist
NC_EXPL_CPT=${NC_EXPL_ROOT}/cpt
NC_EXPL_TMP=${NC_EXPL_ROOT}/tmp
NC_EXPL_DAT=${NC_EXPL_ROOT}/dat
NC_EXPL_MOD=${NC_EXPL_ROOT}/mod
NC_EXPL_CFG=${NC_EXPL_ROOT}/conf
NC_EXPL_MSG=${NC_EXPL_ROOT}/msg
NC_EXPL_MAN=${NC_EXPL_ROOT}/man
########################################################################
#
# Fonctions
#
########################################################################
function exit_on_error
{
@@ -32,48 +18,96 @@ function exit_on_error
exit 1
}
function continue_on_ok
{
echo -e "\033[92m[OK]\033[0m"
}
########################################################################
#
# Contrôles
#
########################################################################
if [ ! $(id -u) -eq 0 ]; then
exit_on_error "Ce script doit être exécuté par l'utilisateur root"
fi
echo -e "\033[93mInstallation du socle bash Tetalab:\033[0m"
echo -e "\033[93m * Création du répertoire racine: ${NC_EXPL_ROOT}\033[0m"
PKG_DIR=$(dirname $0)
PKG_INSTALL_CONF=${PKG_DIR}/conf/install_init.conf
PKG_SOCLE_INIT_CONF=${PKG_DIR}/conf/shell-env/profile_init.env
if [ ! -r ${PKG_INSTALL_CONF} ] || [ ! -r ${PKG_SOCLE_INIT_CONF} ] ; then
exit_on_error "Erreur lors de l'initialisation de l'environnement d'installation. Vérifier les permissions sur les fichiers ${PKG_INSTALL_CONF} et ${PKG_SOCLE_INIT_CONF} "
fi
########################################################################
#
# Main
#
########################################################################
source ${PKG_INSTALL_CONF}
source ${PKG_SOCLE_INIT_CONF}
echo -e "\033[93mInstallation du socle Bash:\033[0m"
echo -e "\033[93m * Répertoire racine: ${NC_EXPL_ROOT}\033[0m"
echo -e "\033[93m * Création des répertoires:\033[0m"
# Création des répertoires de destination
for DIR in $NC_EXPL_LIB $NC_EXPL_BIN $NC_EXPL_LOG $NC_EXPL_HST $NC_EXPL_CPT $NC_EXPL_TMP $NC_EXPL_DAT $NC_EXPL_MOD $NC_EXPL_CFG $NC_EXPL_MSG $NC_EXPL_MAN;
do
echo -e " * ${DIR}"
echo -en " * ${DIR} "
sudo mkdir -p ${DIR};
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
exit_on_error "Erreur lors de la création des répertoires"
fi
continue_on_ok
done
echo -e "\033[93m * Copie des fichiers de profile dans ${PROFILE_DIR}\033[0m"
cp ${INSTALL_DIR}/${PROFILE_FILE} ${PROFILE_DIR}
# Installation des fichiers de profile
echo -en "\033[93m * Création du fichier de profile dans ${PROFILE_DIR}\033[0m "
cat << EOF > ${PROFILE_DIR}/${PROFILE_FILE}
NC_EXPL_ROOT=${NC_EXPL_ROOT}
export NC_EXPL_ROOT
source \${NC_EXPL_ROOT}/conf/shell-env/profile_init.env
EOF
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
exit_on_error "Erreur lors de la copie des fichiers de profile"
exit_on_error "Erreur lors de la création du fichier de profile"
fi
continue_on_ok
echo -e "\033[93m * Copie des fichiers de configuration dans ${NC_EXPL_CFG}\033[0m"
cp -R ${INSTALL_DIR}/conf/* ${NC_EXPL_CFG}
# Installation des fichiers de configuration
echo -en "\033[93m * Copie des fichiers de configuration dans ${NC_EXPL_CFG}\033[0m "
cp -R ${PKG_DIR}/conf/* ${NC_EXPL_CFG}
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
exit_on_error "Erreur lors de la copie des fichiers de configuration"
fi
continue_on_ok
echo -e "\033[93m * Copie des bibliothèques dans ${NC_EXPL_LIB}\033[0m"
cp -R ${INSTALL_DIR}/lib/* ${NC_EXPL_LIB}
# Installation des bibliothèques
echo -en "\033[93m * Copie des bibliothèques dans ${NC_EXPL_LIB}\033[0m "
cp -R ${PKG_DIR}/lib/* ${NC_EXPL_LIB}
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
exit_on_error "Erreur lors de la copie des bibliothèques"
fi
continue_on_ok
echo -e "\033[93m * Copie des scripts dans ${NC_EXPL_BIN}\033[0m"
cp -R ${INSTALL_DIR}/bin/* ${NC_EXPL_BIN}
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
exit_on_error "Erreur lors de la copie des scripts"
# Installation des scripts
SCRIPTS_NUM=$(find ${PKG_DIR}/bin/ -type f | wc -l)
if [ ! ${SCRIPTS_NUM} -eq 0 ];
then
echo -en "\033[93m * Copie des scripts dans ${NC_EXPL_BIN}\033[0m "
cp -R ${PKG_DIR}/bin/* ${NC_EXPL_BIN}
RET_VAL=$?
if [ ! ${RET_VAL} -eq 0 ]; then
exit_on_error "Erreur lors de la copie des scripts"
fi
continue_on_ok
fi