install_mysql.sh: Add library 'libaio-dev' to the required debian packages. Change detecting init script/systemd service file.

This commit is contained in:
Christoph 2018-04-28 01:33:46 +02:00
parent b9907a3a98
commit 93829be6cd

View File

@ -34,6 +34,7 @@ _required_debian_packages="default-jdk
libpcre3-dev libpcre3-dev
libreadline-gplv2-dev libreadline-gplv2-dev
libsystemd-dev libsystemd-dev
libaio-dev
cpanminus" cpanminus"
install_additional_debian_packages=true install_additional_debian_packages=true
@ -906,26 +907,36 @@ echo "SYSTEMD_PID_DIR=$SYSTEMD_PID_DIR" >> ${logdir}/main.log
echo "MYSQL_SYSV_INIT_SCRIPT=$MYSQL_SYSV_INIT_SCRIPT" >> ${logdir}/main.log echo "MYSQL_SYSV_INIT_SCRIPT=$MYSQL_SYSV_INIT_SCRIPT" >> ${logdir}/main.log
echo "VSERVER_GUEST=$VSERVER_GUEST" >> ${logdir}/main.log echo "VSERVER_GUEST=$VSERVER_GUEST" >> ${logdir}/main.log
MYSQL_INIT_SCRIPT=""
MYSQLD_SERVICE_FILE=""
if $SYSTEMD_EXISTS ; then
if [[ -f "/etc/systemd/system/$MYSQL_SERVICE_FILE" ]]; then
MYSQLD_SERVICE_FILE="${MYSQL_SERVICE_FILE}"
else
# - Is Service exclusive controlled by systemd
# -
if systemctl -t service list-unit-files \
| grep -e "^mysql" \
| grep -q -E "(enabled|disabled|generated)" 2> /devnull ; then
_MYSQL_INITSCRIPT= MYSQLD_SERVICE_FILE=$(systemctl -t service list-unit-files \
if [ -f "/etc/init.d/$MYSQL_SYSV_INIT_SCRIPT" ];then | grep -e "^mysql" \
_MYSQL_INITSCRIPT="${MYSQL_SYSV_INIT_SCRIPT}" | awk '{print$1}'\
elif [ -f /etc/init.d/mysql ];then | head -1)
_MYSQL_INITSCRIPT="mysql" fi
elif [ -f /etc/init.d/mysql.server ];then fi
_MYSQL_INITSCRIPT="mysql.server"
fi fi
_SYSTEMD_SERVICE_FILE=
if [[ -f "/etc/systemd/system/$MYSQL_SERVICE_FILE" ]]; then if [[ -f "/etc/systemd/system/$MYSQL_SERVICE_FILE" ]]; then
_SYSTEMD_SERVICE_FILE="${MYSQL_SERVICE_FILE}" MYSQL_INIT_SCRIPT="${MYSQL_SYSV_INIT_SCRIPT}"
elif [[ -f /etc/systemd/system/mysql.service ]] ; then elif [[ -x "$(realpath /etc/init.d/mysql.server)" ]]; then
_SYSTEMD_SERVICE_FILE="mysql.service" MYSQL_INIT_SCRIPT="mysql.server"
elif [[ -f /etc/systemd/system/mysqld.service ]] ; then elif [[ -x "$(realpath /etc/init.d/mysql)" ]]; then
_SYSTEMD_SERVICE_FILE="mysqld.service" MYSQL_INIT_SCRIPT="mysql"
fi fi
if [[ -z "$_MYSQL_INITSCRIPT" ]] && [[ -z "$_SYSTEMD_SERVICE_FILE" ]] && $UPDATE_MYSQL ; then if [[ -z "$MYSQL_INIT_SCRIPT" ]] && [[ -z "$MYSQLD_SERVICE_FILE" ]] && $UPDATE_MYSQL ; then
fatal "Kein start/stop Sevice File/ Init Script gefunden.." fatal "Kein start/stop Sevice File/ Init Script gefunden.."
fi fi
@ -1068,16 +1079,16 @@ if [[ "X${PIDS}X" != "XX" ]];then
echo "## - Stop MySQL Service" >> ${logdir}/main.log echo "## - Stop MySQL Service" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log
if $SYSTEMD_EXISTS ; then if $SYSTEMD_EXISTS ; then
if [[ -n "$_SYSTEMD_SERVICE_FILE" ]] ; then if [[ -n "$MYSQLD_SERVICE_FILE" ]] ; then
echo "systemctl stop ${_SYSTEMD_SERVICE_FILE}" >> ${logdir}/main.log echo "systemctl stop ${MYSQLD_SERVICE_FILE}" >> ${logdir}/main.log
systemctl stop ${_SYSTEMD_SERVICE_FILE} >> ${logdir}/main.log 2>&1 systemctl stop ${MYSQLD_SERVICE_FILE} >> ${logdir}/main.log 2>&1
else else
echo "systemctl stop ${_MYSQL_INITSCRIPT}" >> ${logdir}/main.log echo "systemctl stop ${MYSQL_INIT_SCRIPT}" >> ${logdir}/main.log
systemctl stop ${_MYSQL_INITSCRIPT} >> ${logdir}/main.log 2>&1 systemctl stop ${MYSQL_INIT_SCRIPT} >> ${logdir}/main.log 2>&1
fi fi
else else
echo "/etc/init.d/$_MYSQL_INITSCRIPT stop" >> ${logdir}/main.log echo "/etc/init.d/$MYSQL_INIT_SCRIPT stop" >> ${logdir}/main.log
/etc/init.d/$_MYSQL_INITSCRIPT stop >> ${logdir}/main.log 2>&1 /etc/init.d/$MYSQL_INIT_SCRIPT stop >> ${logdir}/main.log 2>&1
fi fi
sleep 5 sleep 5
@ -1124,7 +1135,7 @@ fi
## - Deactivate starting MySQL database service at boot time and ## - Deactivate starting MySQL database service at boot time and
## - cleanup System from SysVinit script and/or Systemd service file ## - cleanup System from SysVinit script and/or Systemd service file
## ----- ## -----
if [[ -n "$_MYSQL_INITSCRIPT" ]] || [[ -n "$_SYSTEMD_SERVICE_FILE" ]]; then if [[ -n "$MYSQL_INIT_SCRIPT" ]] || [[ -n "$MYSQLD_SERVICE_FILE" ]]; then
echo "" echo ""
echo "" echo ""
echo -e "\033[37m\033[1mDeactivate starting MySQL database service at boot time and" echo -e "\033[37m\033[1mDeactivate starting MySQL database service at boot time and"
@ -1139,15 +1150,15 @@ if [[ -n "$_MYSQL_INITSCRIPT" ]] || [[ -n "$_SYSTEMD_SERVICE_FILE" ]]; then
echo "## -----" >> ${logdir}/main.log echo "## -----" >> ${logdir}/main.log
fi fi
if [ "X${_MYSQL_INITSCRIPT}X" != "XX" ];then if [[ -n "$MYSQL_INIT_SCRIPT" ]] ; then
if [ -f "/etc/init.d/$_MYSQL_INITSCRIPT" ]; then if [[ -f "/etc/init.d/$MYSQL_INIT_SCRIPT" ]]; then
echononl "Entferne existierendes Initskript" echononl "Entferne existierendes Initskript"
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "## - Entferne existierendes Initskript" >> ${logdir}/main.log echo "## - Entferne existierendes Initskript" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log
echo "rm -f /etc/init.d/$_MYSQL_INITSCRIPT" >> ${logdir}/main.log echo "rm -f /etc/init.d/$MYSQL_INIT_SCRIPT" >> ${logdir}/main.log
rm -f /etc/init.d/$_MYSQL_INITSCRIPT >> ${logdir}/main.log 2>&1 rm -f /etc/init.d/$MYSQL_INIT_SCRIPT >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
@ -1162,8 +1173,8 @@ if [ "X${_MYSQL_INITSCRIPT}X" != "XX" ];then
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "## - Entferne symbolische Links aus den Run Level Verzeichnissen" >> ${logdir}/main.log echo "## - Entferne symbolische Links aus den Run Level Verzeichnissen" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log
echo "update-rc.d -f $_MYSQL_INITSCRIPT remove" >> ${logdir}/main.log echo "update-rc.d -f $MYSQL_INIT_SCRIPT remove" >> ${logdir}/main.log
update-rc.d -f $_MYSQL_INITSCRIPT remove >> ${logdir}/main.log 2>&1 update-rc.d -f $MYSQL_INIT_SCRIPT remove >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
@ -1172,29 +1183,29 @@ if [ "X${_MYSQL_INITSCRIPT}X" != "XX" ];then
fi fi
fi fi
if [[ -n "$_SYSTEMD_SERVICE_FILE" ]]; then if [[ -n "$MYSQLD_SERVICE_FILE" ]]; then
echononl "Deaktiviere Systemd Service \"$_SYSTEMD_SERVICE_FILE\".." echononl "Deaktiviere Systemd Service \"$MYSQLD_SERVICE_FILE\".."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "## - Deaktiviere Systemd Service \"$_SYSTEMD_SERVICE_FILE\"" >> ${logdir}/main.log echo "## - Deaktiviere Systemd Service \"$MYSQLD_SERVICE_FILE\"" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log
echo "systemctl disable \"$_SYSTEMD_SERVICE_FILE\"" >> ${logdir}/main.log echo "systemctl disable \"$MYSQLD_SERVICE_FILE\"" >> ${logdir}/main.log
systemctl disable "$_SYSTEMD_SERVICE_FILE" >> ${logdir}/main.log 2>&1 systemctl disable "$MYSQLD_SERVICE_FILE" >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
echo_failed echo_failed
fatal "Kann Systemd Service \"$_SYSTEMD_SERVICE_FILE\" nicht deaktivieren!" fatal "Kann Systemd Service \"$MYSQLD_SERVICE_FILE\" nicht deaktivieren!"
fi fi
echononl "Entferne Systemd Service \"etc/systemd/system/${_SYSTEMD_SERVICE_FILE}\".." echononl "Entferne Systemd Service \"etc/systemd/system/${MYSQLD_SERVICE_FILE}\".."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "## - Enferne datei \"/etc/systemd/system/${_SYSTEMD_SERVICE_FILE}\"" >> ${logdir}/main.log echo "## - Enferne datei \"/etc/systemd/system/${MYSQLD_SERVICE_FILE}\"" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log
echo "rm \"/etc/systemd/system/${_SYSTEMD_SERVICE_FILE}\"" >> ${logdir}/main.log echo "rm \"/etc/systemd/system/${MYSQLD_SERVICE_FILE}\"" >> ${logdir}/main.log
rm "/etc/systemd/system/${_SYSTEMD_SERVICE_FILE}" >> ${logdir}/main.log 2>&1 rm "/etc/systemd/system/${MYSQLD_SERVICE_FILE}" >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else