diff --git a/packaging/sed_pro.sh b/packaging/sed_pro.sh index 65d64b696227b007574651512cc236c7373cec01..095bce87763e658669876a58136afcaaa2e7325b 100755 --- a/packaging/sed_pro.sh +++ b/packaging/sed_pro.sh @@ -14,16 +14,16 @@ function replace_community_pro(){ sed -i "s/taos\.cfg/prodb\.cfg/g" ${top_dir}/src/util/src/tconfig.c sed -i "s/etc\/taos/etc\/ProDB/g" ${top_dir}/src/util/src/tconfig.c # src/kit/taosdemo/taosdemo.c - sed -i "s/taosdemo --help/prodemo --help/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/taosdemo --usage/prodemo --usage/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/Usage: taosdemo/Usage: prodemo/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/taosdemo is simulating/prodemo is simulating/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/taosdemo version/prodemo version/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/\"taosdata\"/\"prodb\"/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/support@taosdata\.com/support@hanatech\.com\.cn/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/taosc, rest, and stmt/prodbc, rest, and stmt/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/taosdemo uses/prodemo uses/g" ${top_dir}/src/kit/taosdemo/taosdemo.c - sed -i "s/use 'taosc'/use 'prodbc'/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/taosdemo --help/prodemo --help/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/taosdemo --usage/prodemo --usage/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/Usage: taosdemo/Usage: prodemo/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/taosdemo is simulating/prodemo is simulating/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/taosdemo version/prodemo version/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/\"taosdata\"/\"prodb\"/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/support@taosdata\.com/support@hanatech\.com\.cn/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/taosc, rest, and stmt/prodbc, rest, and stmt/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/taosdemo uses/prodemo uses/g" ${top_dir}/src/kit/taosdemo/taosdemo.c + # sed -i "s/use 'taosc'/use 'prodbc'/g" ${top_dir}/src/kit/taosdemo/taosdemo.c # src/util/src/tlog.c sed -i "s/log\/taos/log\/ProDB/g" ${top_dir}/src/util/src/tlog.c # src/dnode/src/dnodeSystem.c @@ -37,11 +37,11 @@ function replace_community_pro(){ # src/dnode/CMakeLists.txt sed -i "s/taos\.cfg/prodb\.cfg/g" ${top_dir}/src/dnode/CMakeLists.txt # src/kit/taosdump/taosdump.c - sed -i "s/support@taosdata\.com/support@hanatech\.com\.cn/g" ${top_dir}/src/kit/taosdump/taosdump.c - sed -i "s/Default is taosdata/Default is prodb/g" ${top_dir}/src/kit/taosdump/taosdump.c - sed -i "s/\"taosdata\"/\"prodb\"/g" ${top_dir}/src/kit/taosdump/taosdump.c - sed -i "s/TDengine/ProDB/g" ${top_dir}/src/kit/taosdump/taosdump.c - sed -i "s/taos\/taos\.cfg/ProDB\/prodb\.cfg/g" ${top_dir}/src/kit/taosdump/taosdump.c + # sed -i "s/support@taosdata\.com/support@hanatech\.com\.cn/g" ${top_dir}/src/kit/taosdump/taosdump.c + # sed -i "s/Default is taosdata/Default is prodb/g" ${top_dir}/src/kit/taosdump/taosdump.c + # sed -i "s/\"taosdata\"/\"prodb\"/g" ${top_dir}/src/kit/taosdump/taosdump.c + # sed -i "s/TDengine/ProDB/g" ${top_dir}/src/kit/taosdump/taosdump.c + # sed -i "s/taos\/taos\.cfg/ProDB\/prodb\.cfg/g" ${top_dir}/src/kit/taosdump/taosdump.c # src/os/src/linux/linuxEnv.c sed -i "s/etc\/taos/etc\/ProDB/g" ${top_dir}/src/os/src/linux/linuxEnv.c sed -i "s/lib\/taos/lib\/ProDB/g" ${top_dir}/src/os/src/linux/linuxEnv.c diff --git a/packaging/tools/install_arbi_jh.sh b/packaging/tools/install_arbi_jh.sh deleted file mode 100755 index 3b0d050c2c1c395b197ed040ce20c86f512cad2b..0000000000000000000000000000000000000000 --- a/packaging/tools/install_arbi_jh.sh +++ /dev/null @@ -1,286 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) - -bin_link_dir="/usr/bin" -#inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/tarbitrator" - -# old bin dir -bin_dir="/usr/local/tarbitrator/bin" - -service_config_dir="/etc/systemd/system" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact jhict.com for support." - os_type=1 -fi - -function kill_tarbitrator() { - pid=$(ps -ef | grep "tarbitrator" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/bin - #${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/rmtarbitrator || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/remove_arbi_jh.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_arbi_jh.sh ${bin_link_dir}/rmtarbitrator || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function clean_service_on_sysvinit() { - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install server service - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - - ${csudo}rm -f ${tarbitratord_service_config} -} - -function install_service_on_systemd() { - clean_service_on_systemd - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=jh_iot arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - ${csudo}systemctl enable tarbitratord -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - kill_tarbitrator - fi -} - -function update() { - # Start to update - echo -e "${GREEN}Start to update jh_iot's arbitrator ...${NC}" - # Stop the service if running - if pidof tarbitrator &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop tarbitratord || : - elif ((${service_mod}==1)); then - ${csudo}service tarbitratord stop || : - else - kill_tarbitrator - fi - sleep 1 - fi - - install_main_path - #install_header - install_bin - install_service - - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ./tarbitrator${NC}" - fi - echo - echo -e "\033[44;32;1mjh_iot's arbitrator is updated successfully!${NC}" -} - -function install() { - # Start to install - echo -e "${GREEN}Start to install jh_iot's arbitrator ...${NC}" - - install_main_path - #install_header - install_bin - install_service - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: tarbitrator${NC}" - fi - - echo -e "\033[44;32;1mjh_iot's arbitrator is installed successfully!${NC}" - echo -} - - -## ==============================Main program starts from here============================ -# Install server and client -if [ -x ${bin_dir}/tarbitrator ]; then - update_flag=1 - update -else - install -fi - diff --git a/packaging/tools/install_arbi_kh.sh b/packaging/tools/install_arbi_kh.sh deleted file mode 100755 index 3c95639d181b6796128315fc9afb8bfa586c6dc3..0000000000000000000000000000000000000000 --- a/packaging/tools/install_arbi_kh.sh +++ /dev/null @@ -1,286 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) - -bin_link_dir="/usr/bin" -#inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/tarbitrator" - -# old bin dir -bin_dir="/usr/local/tarbitrator/bin" - -service_config_dir="/etc/systemd/system" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact wellintech.com for support." - os_type=1 -fi - -function kill_tarbitrator() { - pid=$(ps -ef | grep "tarbitrator" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/bin - #${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/rmtarbitrator || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/remove_arbi_kh.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_arbi_kh.sh ${bin_link_dir}/rmtarbitrator || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function clean_service_on_sysvinit() { - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install khserver service - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - - ${csudo}rm -f ${tarbitratord_service_config} -} - -function install_service_on_systemd() { - clean_service_on_systemd - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=KingHistorian arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - ${csudo}systemctl enable tarbitratord -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - kill_tarbitrator - fi -} - -function update() { - # Start to update - echo -e "${GREEN}Start to update KingHistorian's arbitrator ...${NC}" - # Stop the service if running - if pidof tarbitrator &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop tarbitratord || : - elif ((${service_mod}==1)); then - ${csudo}service tarbitratord stop || : - else - kill_tarbitrator - fi - sleep 1 - fi - - install_main_path - #install_header - install_bin - install_service - - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ./tarbitrator${NC}" - fi - echo - echo -e "\033[44;32;1mKingHistorian's arbitrator is updated successfully!${NC}" -} - -function install() { - # Start to install - echo -e "${GREEN}Start to install KingHistorian's arbitrator ...${NC}" - - install_main_path - #install_header - install_bin - install_service - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: tarbitrator${NC}" - fi - - echo -e "\033[44;32;1mKingHistorian's arbitrator is installed successfully!${NC}" - echo -} - - -## ==============================Main program starts from here============================ -# Install server and client -if [ -x ${bin_dir}/tarbitrator ]; then - update_flag=1 - update -else - install -fi - diff --git a/packaging/tools/install_arbi_power.sh b/packaging/tools/install_arbi_power.sh deleted file mode 100755 index 94f1b7fc538874d8c03aa1ecffce4bee528e8c0c..0000000000000000000000000000000000000000 --- a/packaging/tools/install_arbi_power.sh +++ /dev/null @@ -1,349 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) - -bin_link_dir="/usr/bin" -#inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/tarbitrator" - -# old bin dir -bin_dir="/usr/local/tarbitrator/bin" - -service_config_dir="/etc/systemd/system" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact taosdata.com for support." - os_type=1 -fi - -function kill_tarbitrator() { - pid=$(ps -ef | grep "tarbitrator" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/bin - #${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/rmtarbitrator || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/remove_arbi_power.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_arbi_power.sh ${bin_link_dir}/rmtarbitrator || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : -} - -function install_jemalloc() { - jemalloc_dir=${script_dir}/jemalloc - - if [ -d ${jemalloc_dir} ]; then - ${csudo}/usr/bin/install -c -d /usr/local/bin - - if [ -f ${jemalloc_dir}/bin/jemalloc-config ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc-config /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jemalloc.sh ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc.sh /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jeprof ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jeprof /usr/local/bin - fi - if [ -f ${jemalloc_dir}/include/jemalloc/jemalloc.h ]; then - ${csudo}/usr/bin/install -c -d /usr/local/include/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/include/jemalloc/jemalloc.h /usr/local/include/jemalloc - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc.so.2 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.so.2 /usr/local/lib - ${csudo}ln -sf libjemalloc.so.2 /usr/local/lib/libjemalloc.so - ${csudo}/usr/bin/install -c -d /usr/local/lib - if [ -f ${jemalloc_dir}/lib/libjemalloc.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc_pic.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib/pkgconfig - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/lib/pkgconfig/jemalloc.pc /usr/local/lib/pkgconfig - fi - fi - if [ -f ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/doc/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html /usr/local/share/doc/jemalloc - fi - if [ -f ${jemalloc_dir}/share/man/man3/jemalloc.3 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/man/man3 - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 - fi - - if [ -d /etc/ld.so.conf.d ]; then - echo "/usr/local/lib" | ${csudo}tee /etc/ld.so.conf.d/jemalloc.conf > /dev/null || echo -e "failed to write /etc/ld.so.conf.d/jemalloc.conf" - ${csudo}ldconfig - else - echo "/etc/ld.so.conf.d not found!" - fi - fi -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function clean_service_on_sysvinit() { - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install powerd service - - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - #restart_config_str="power:2345:respawn:${service_config_dir}/powerd start" - #${csudo}grep -q -F "$restart_config_str" /etc/inittab || ${csudo}bash -c "echo '${restart_config_str}' >> /etc/inittab" - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - - ${csudo}rm -f ${tarbitratord_service_config} -} - -# power:2345:respawn:/etc/init.d/tarbitratord start - -function install_service_on_systemd() { - clean_service_on_systemd - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=PowerDB arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - ${csudo}systemctl enable tarbitratord -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - kill_tarbitrator - fi -} - -function update_PowerDB() { - # Start to update - echo -e "${GREEN}Start to update PowerDB's arbitrator ...${NC}" - # Stop the service if running - if pidof tarbitrator &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop tarbitratord || : - elif ((${service_mod}==1)); then - ${csudo}service tarbitratord stop || : - else - kill_tarbitrator - fi - sleep 1 - fi - - install_main_path - #install_header - install_bin - install_service - install_jemalloc - - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ./tarbitrator${NC}" - fi - echo - echo -e "\033[44;32;1mPowerDB's arbitrator is updated successfully!${NC}" -} - -function install_PowerDB() { - # Start to install - echo -e "${GREEN}Start to install PowerDB's arbitrator ...${NC}" - - install_main_path - #install_header - install_bin - install_service - install_jemalloc - - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: tarbitrator${NC}" - fi - - echo -e "\033[44;32;1mPowerDB's arbitrator is installed successfully!${NC}" - echo -} - - -## ==============================Main program starts from here============================ -# Install server and client -if [ -x ${bin_dir}/tarbitrator ]; then - update_flag=1 - update_PowerDB -else - install_PowerDB -fi - diff --git a/packaging/tools/install_arbi_pro.sh b/packaging/tools/install_arbi_pro.sh deleted file mode 100755 index 5c5fa485b8852ea87fdbd58cc76a6b4b6b4377de..0000000000000000000000000000000000000000 --- a/packaging/tools/install_arbi_pro.sh +++ /dev/null @@ -1,288 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) - -bin_link_dir="/usr/bin" -#inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/tarbitrator" - -# old bin dir -bin_dir="/usr/local/tarbitrator/bin" - -service_config_dir="/etc/systemd/system" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact hanatech.com.cn for support." - os_type=1 -fi - -function kill_tarbitrator() { - pid=$(ps -ef | grep "tarbitrator" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/bin - #${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/rmtarbitrator || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/remove_arbi_prodb.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_arbi_prodb.sh ${bin_link_dir}/rmtarbitrator || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function clean_service_on_sysvinit() { - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install prodbs service - - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - - ${csudo}rm -f ${tarbitratord_service_config} -} - -function install_service_on_systemd() { - clean_service_on_systemd - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=ProDB arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - ${csudo}systemctl enable tarbitratord -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - kill_tarbitrator - fi -} - -function update_prodb() { - # Start to update - echo -e "${GREEN}Start to update ProDB's arbitrator ...${NC}" - # Stop the service if running - if pidof tarbitrator &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop tarbitratord || : - elif ((${service_mod}==1)); then - ${csudo}service tarbitratord stop || : - else - kill_tarbitrator - fi - sleep 1 - fi - - install_main_path - #install_header - install_bin - install_service - - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ./tarbitrator${NC}" - fi - echo - echo -e "\033[44;32;1mProDB's arbitrator is updated successfully!${NC}" -} - -function install_prodb() { - # Start to install - echo -e "${GREEN}Start to install ProDB's arbitrator ...${NC}" - - install_main_path - #install_header - install_bin - install_service - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: tarbitrator${NC}" - fi - - echo -e "\033[44;32;1mProDB's arbitrator is installed successfully!${NC}" - echo -} - - -## ==============================Main program starts from here============================ -# Install server and client -if [ -x ${bin_dir}/tarbitrator ]; then - update_flag=1 - update_prodb -else - install_prodb -fi - diff --git a/packaging/tools/install_arbi_tq.sh b/packaging/tools/install_arbi_tq.sh deleted file mode 100755 index 132346a749f1559436e6db244593c660dbd69556..0000000000000000000000000000000000000000 --- a/packaging/tools/install_arbi_tq.sh +++ /dev/null @@ -1,293 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) - -bin_link_dir="/usr/bin" -#inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/tarbitrator" - -# old bin dir -bin_dir="/usr/local/tarbitrator/bin" - -service_config_dir="/etc/systemd/system" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact taosdata.com for support." - os_type=1 -fi - -function kill_tarbitrator() { - pid=$(ps -ef | grep "tarbitrator" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/bin - #${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/rmtarbitrator || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/remove_arbi_tq.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_arbi_tq.sh ${bin_link_dir}/rmtarbitrator || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function clean_service_on_sysvinit() { - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install tqd service - - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - #restart_config_str="tq:2345:respawn:${service_config_dir}/tqd start" - #${csudo}grep -q -F "$restart_config_str" /etc/inittab || ${csudo}bash -c "echo '${restart_config_str}' >> /etc/inittab" - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - - ${csudo}rm -f ${tarbitratord_service_config} -} - -# tq:2345:respawn:/etc/init.d/tarbitratord start - -function install_service_on_systemd() { - clean_service_on_systemd - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=TQ arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - ${csudo}systemctl enable tarbitratord -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - kill_tarbitrator - fi -} - -function update_tq() { - # Start to update - echo -e "${GREEN}Start to update TQ's arbitrator ...${NC}" - # Stop the service if running - if pidof tarbitrator &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop tarbitratord || : - elif ((${service_mod}==1)); then - ${csudo}service tarbitratord stop || : - else - kill_tarbitrator - fi - sleep 1 - fi - - install_main_path - #install_header - install_bin - install_service - - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ./tarbitrator${NC}" - fi - echo - echo -e "\033[44;32;1mTQ's arbitrator is updated successfully!${NC}" -} - -function install_tq() { - # Start to install - echo -e "${GREEN}Start to install TQ's arbitrator ...${NC}" - - install_main_path - #install_header - install_bin - install_service - echo - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}systemctl start tarbitratord${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start arbitrator ${NC}: ${csudo}service tarbitratord start${NC}" - else - echo -e "${GREEN_DARK}To start arbitrator ${NC}: tarbitrator${NC}" - fi - - echo -e "\033[44;32;1mTQ's arbitrator is installed successfully!${NC}" - echo -} - - -## ==============================Main program starts from here============================ -# Install server and client -if [ -x ${bin_dir}/tarbitrator ]; then - update_flag=1 - update_tq -else - install_tq -fi - diff --git a/packaging/tools/install_client_jh.sh b/packaging/tools/install_client_jh.sh deleted file mode 100755 index 436b683b29b81e612ef15af6cf976f29b42347fc..0000000000000000000000000000000000000000 --- a/packaging/tools/install_client_jh.sh +++ /dev/null @@ -1,239 +0,0 @@ -#!/bin/bash -# -# This file is used to install jh_taos client on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- - -osType=Linux -pagMode=full - -if [ "$osType" != "Darwin" ]; then - script_dir=$(dirname $(readlink -f "$0")) - # Dynamic directory - data_dir="/var/lib/jh_taos" - log_dir="/var/log/jh_taos" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - data_dir="/var/lib/jh_taos" - log_dir="~/jh_taos/log" -fi - -log_link_dir="/usr/local/jh_taos/log" - -cfg_install_dir="/etc/jh_taos" - -if [ "$osType" != "Darwin" ]; then - bin_link_dir="/usr/bin" - lib_link_dir="/usr/lib" - lib64_link_dir="/usr/lib64" - inc_link_dir="/usr/include" -else - bin_link_dir="/usr/local/bin" - lib_link_dir="/usr/local/lib" - inc_link_dir="/usr/local/include" -fi - -#install main path -install_main_dir="/usr/local/jh_taos" - -# old bin dir -bin_dir="/usr/local/jh_taos/bin" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -function kill_client() { - pid=$(ps -ef | grep "jh_taos" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin - ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver - ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/jh_taos || : - if [ "$osType" != "Darwin" ]; then - ${csudo}rm -f ${bin_link_dir}/jhdemo || : - ${csudo}rm -f ${bin_link_dir}/jh_taosdump || : - fi - ${csudo}rm -f ${bin_link_dir}/rmjh || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/jh_taos ] && ${csudo}ln -s ${install_main_dir}/bin/jh_taos ${bin_link_dir}/jh_taos || : - if [ "$osType" != "Darwin" ]; then - [ -x ${install_main_dir}/bin/jhdemo ] && ${csudo}ln -s ${install_main_dir}/bin/jhdemo ${bin_link_dir}/jhdemo || : - [ -x ${install_main_dir}/bin/jh_taosdump ] && ${csudo}ln -s ${install_main_dir}/bin/jh_taosdump ${bin_link_dir}/jh_taosdump || : - fi - [ -x ${install_main_dir}/bin/remove_client_jh.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_client_jh.sh ${bin_link_dir}/rmjh || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : -} - -function clean_lib() { - sudo rm -f /usr/lib/libtaos.* || : - sudo rm -rf ${lib_dir} || : -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - if [ "$osType" != "Darwin" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [ -d "${lib64_link_dir}" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - else - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.1.dylib - ${csudo}ln -s ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib - fi - - ${csudo}ldconfig -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/taos.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/taos.cfg ] && ${csudo}cp ${script_dir}/cfg/taos.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/taos.cfg ${install_main_dir}/cfg/taos.cfg.org - ${csudo}ln -s ${cfg_install_dir}/taos.cfg ${install_main_dir}/cfg -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - - if [ "$osType" != "Darwin" ]; then - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - else - mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - fi - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function update() { - # Start to update - if [ ! -e jh_taos.tar.gz ]; then - echo "File jh_taos.tar.gz does not exist" - exit 1 - fi - tar -zxf jh_taos.tar.gz - - echo -e "${GREEN}Start to update jh_iot client...${NC}" - # Stop the client shell if running - if pidof jh_taos &> /dev/null; then - kill_client - sleep 1 - fi - - install_main_path - - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mjh_iot client is updated successfully!${NC}" - - rm -rf $(tar -tf jh_taos.tar.gz) -} - -function install() { - # Start to install - if [ ! -e jh_taos.tar.gz ]; then - echo "File jh_taos.tar.gz does not exist" - exit 1 - fi - tar -zxf jh_taos.tar.gz - - echo -e "${GREEN}Start to install jh_taos client...${NC}" - - install_main_path - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mjh_iot client is installed successfully!${NC}" - - rm -rf $(tar -tf jh_taos.tar.gz) -} - - -## ==============================Main program starts from here============================ -# Install or updata client and client -# if server is already install, don't install client - if [ -e ${bin_dir}/jh_taosd ]; then - echo -e "\033[44;32;1mThere are already installed jh_iot server, so don't need install client!${NC}" - exit 0 - fi - - if [ -x ${bin_dir}/jh_taos ]; then - update_flag=1 - update - else - install - fi diff --git a/packaging/tools/install_client_kh.sh b/packaging/tools/install_client_kh.sh deleted file mode 100755 index 0b8c0f5aeba96fff65907105ca571cf5955c6648..0000000000000000000000000000000000000000 --- a/packaging/tools/install_client_kh.sh +++ /dev/null @@ -1,240 +0,0 @@ -#!/bin/bash -# -# This file is used to install kinghistorian client on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- - -osType=Linux -pagMode=full - -if [ "$osType" != "Darwin" ]; then - script_dir=$(dirname $(readlink -f "$0")) - # Dynamic directory - data_dir="/var/lib/kinghistorian" - log_dir="/var/log/kinghistorian" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - data_dir="/var/lib/kinghistorian" - log_dir="~/kinghistorian/log" -fi - -log_link_dir="/usr/local/kinghistorian/log" - -cfg_install_dir="/etc/kinghistorian" - -if [ "$osType" != "Darwin" ]; then - bin_link_dir="/usr/bin" - lib_link_dir="/usr/lib" - lib64_link_dir="/usr/lib64" - inc_link_dir="/usr/include" -else - bin_link_dir="/usr/local/bin" - lib_link_dir="/usr/local/lib" - inc_link_dir="/usr/local/include" -fi - -#install main path -install_main_dir="/usr/local/kinghistorian" - -# old bin dir -bin_dir="/usr/local/kinghistorian/bin" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -function kill_client() { - pid=$(ps -ef | grep "khclient" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin - ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver - ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/khclient || : - if [ "$osType" != "Darwin" ]; then - ${csudo}rm -f ${bin_link_dir}/khdemo || : - ${csudo}rm -f ${bin_link_dir}/khdump || : - fi - ${csudo}rm -f ${bin_link_dir}/rmkh || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/khclient ] && ${csudo}ln -s ${install_main_dir}/bin/khclient ${bin_link_dir}/khclient || : - if [ "$osType" != "Darwin" ]; then - [ -x ${install_main_dir}/bin/khdemo ] && ${csudo}ln -s ${install_main_dir}/bin/khdemo ${bin_link_dir}/khdemo || : - [ -x ${install_main_dir}/bin/khdump ] && ${csudo}ln -s ${install_main_dir}/bin/khdump ${bin_link_dir}/khdump || : - fi - [ -x ${install_main_dir}/bin/remove_client_kh.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_client_kh.sh ${bin_link_dir}/rmkh || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : -} - -function clean_lib() { - sudo rm -f /usr/lib/libtaos.* || : - sudo rm -rf ${lib_dir} || : -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - #${csudo}rm -rf ${v15_java_app_dir} || : - - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - if [ "$osType" != "Darwin" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [ -d "${lib64_link_dir}" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - else - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.1.dylib - ${csudo}ln -s ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib - fi - - ${csudo}ldconfig -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/kinghistorian.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/kinghistorian.cfg ] && ${csudo}cp ${script_dir}/cfg/kinghistorian.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/kinghistorian.cfg ${install_main_dir}/cfg/kinghistorian.cfg.org - ${csudo}ln -s ${cfg_install_dir}/kinghistorian.cfg ${install_main_dir}/cfg -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - - if [ "$osType" != "Darwin" ]; then - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - else - mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - fi - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function update() { - # Start to update - if [ ! -e kinghistorian.tar.gz ]; then - echo "File kinghistorian.tar.gz does not exist" - exit 1 - fi - tar -zxf kinghistorian.tar.gz - - echo -e "${GREEN}Start to update KingHistorian client...${NC}" - # Stop the client shell if running - if pidof khclient &> /dev/null; then - kill_client - sleep 1 - fi - - install_main_path - - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mKingHistorian client is updated successfully!${NC}" - - rm -rf $(tar -tf kinghistorian.tar.gz) -} - -function install() { - # Start to install - if [ ! -e kinghistorian.tar.gz ]; then - echo "File kinghistorian.tar.gz does not exist" - exit 1 - fi - tar -zxf kinghistorian.tar.gz - - echo -e "${GREEN}Start to install KingHistorian client...${NC}" - - install_main_path - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mKingHistorian client is installed successfully!${NC}" - - rm -rf $(tar -tf kinghistorian.tar.gz) -} - - -## ==============================Main program starts from here============================ -# Install or updata client and client -# if server is already install, don't install client - if [ -e ${bin_dir}/khserver ]; then - echo -e "\033[44;32;1mThere are already installed KingHistorian server, so don't need install client!${NC}" - exit 0 - fi - - if [ -x ${bin_dir}/khclient ]; then - update_flag=1 - update - else - install - fi diff --git a/packaging/tools/install_client_power.sh b/packaging/tools/install_client_power.sh deleted file mode 100755 index 4e7ee96a6255bd74862a509206ef6aff69320916..0000000000000000000000000000000000000000 --- a/packaging/tools/install_client_power.sh +++ /dev/null @@ -1,299 +0,0 @@ -#!/bin/bash -# -# This file is used to install PowerDB client on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- - -osType=Linux -pagMode=full - -if [ "$osType" != "Darwin" ]; then - script_dir=$(dirname $(readlink -f "$0")) - # Dynamic directory - data_dir="/var/lib/power" - log_dir="/var/log/power" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - data_dir="/var/lib/power" - log_dir="~/PowerDBLog" -fi - -log_link_dir="/usr/local/power/log" - -cfg_install_dir="/etc/power" - -if [ "$osType" != "Darwin" ]; then - bin_link_dir="/usr/bin" - lib_link_dir="/usr/lib" - lib64_link_dir="/usr/lib64" - inc_link_dir="/usr/include" -else - bin_link_dir="/usr/local/bin" - lib_link_dir="/usr/local/lib" - inc_link_dir="/usr/local/include" -fi - -#install main path -install_main_dir="/usr/local/power" - -# old bin dir -bin_dir="/usr/local/power/bin" - -# v1.5 jar dir -#v15_java_app_dir="/usr/local/lib/power" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -function kill_client() { - pid=$(ps -ef | grep "power" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin - ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver - ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/power || : - if [ "$osType" != "Darwin" ]; then - ${csudo}rm -f ${bin_link_dir}/powerdemo || : - ${csudo}rm -f ${bin_link_dir}/powerdump || : - fi - ${csudo}rm -f ${bin_link_dir}/rmpower || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/power ] && ${csudo}ln -s ${install_main_dir}/bin/power ${bin_link_dir}/power || : - if [ "$osType" != "Darwin" ]; then - [ -x ${install_main_dir}/bin/powerdemo ] && ${csudo}ln -s ${install_main_dir}/bin/powerdemo ${bin_link_dir}/powerdemo || : - [ -x ${install_main_dir}/bin/powerdump ] && ${csudo}ln -s ${install_main_dir}/bin/powerdump ${bin_link_dir}/powerdump || : - fi - [ -x ${install_main_dir}/bin/remove_client_power.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_client_power.sh ${bin_link_dir}/rmpower || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : -} - -function clean_lib() { - sudo rm -f /usr/lib/libtaos.* || : - sudo rm -rf ${lib_dir} || : -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - #${csudo}rm -rf ${v15_java_app_dir} || : - - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - if [ "$osType" != "Darwin" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [ -d "${lib64_link_dir}" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - else - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.1.dylib - ${csudo}ln -s ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib - fi - - ${csudo}ldconfig -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_jemalloc() { - jemalloc_dir=${script_dir}/jemalloc - - if [ -d ${jemalloc_dir} ]; then - ${csudo}/usr/bin/install -c -d /usr/local/bin - - if [ -f ${jemalloc_dir}/bin/jemalloc-config ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc-config /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jemalloc.sh ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc.sh /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jeprof ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jeprof /usr/local/bin - fi - if [ -f ${jemalloc_dir}/include/jemalloc/jemalloc.h ]; then - ${csudo}/usr/bin/install -c -d /usr/local/include/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/include/jemalloc/jemalloc.h /usr/local/include/jemalloc - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc.so.2 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.so.2 /usr/local/lib - ${csudo}ln -sf libjemalloc.so.2 /usr/local/lib/libjemalloc.so - ${csudo}/usr/bin/install -c -d /usr/local/lib - if [ -f ${jemalloc_dir}/lib/libjemalloc.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc_pic.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib/pkgconfig - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/lib/pkgconfig/jemalloc.pc /usr/local/lib/pkgconfig - fi - fi - if [ -f ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/doc/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html /usr/local/share/doc/jemalloc - fi - if [ -f ${jemalloc_dir}/share/man/man3/jemalloc.3 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/man/man3 - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 - fi - - if [ -d /etc/ld.so.conf.d ]; then - echo "/usr/local/lib" | ${csudo}tee /etc/ld.so.conf.d/jemalloc.conf > /dev/null || echo -e "failed to write /etc/ld.so.conf.d/jemalloc.conf" - ${csudo}ldconfig - else - echo "/etc/ld.so.conf.d not found!" - fi - fi -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/power.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/power.cfg ] && ${csudo}cp ${script_dir}/cfg/power.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/power.cfg ${install_main_dir}/cfg/power.cfg.org - ${csudo}ln -s ${cfg_install_dir}/power.cfg ${install_main_dir}/cfg -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - - if [ "$osType" != "Darwin" ]; then - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - else - mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - fi - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function update_PowerDB() { - # Start to update - if [ ! -e power.tar.gz ]; then - echo "File power.tar.gz does not exist" - exit 1 - fi - tar -zxf power.tar.gz - install_jemalloc - - echo -e "${GREEN}Start to update PowerDB client...${NC}" - # Stop the client shell if running - if pidof power &> /dev/null; then - kill_client - sleep 1 - fi - - install_main_path - - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mPowerDB client is updated successfully!${NC}" - - rm -rf $(tar -tf power.tar.gz) -} - -function install_PowerDB() { - # Start to install - if [ ! -e power.tar.gz ]; then - echo "File power.tar.gz does not exist" - exit 1 - fi - tar -zxf power.tar.gz - - echo -e "${GREEN}Start to install PowerDB client...${NC}" - - install_main_path - install_log - install_header - install_lib - install_jemalloc - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mPowerDB client is installed successfully!${NC}" - - rm -rf $(tar -tf power.tar.gz) -} - - -## ==============================Main program starts from here============================ -# Install or updata client and client -# if server is already install, don't install client - if [ -e ${bin_dir}/powerd ]; then - echo -e "\033[44;32;1mThere are already installed PowerDB server, so don't need install client!${NC}" - exit 0 - fi - - if [ -x ${bin_dir}/power ]; then - update_flag=1 - update_PowerDB - else - install_PowerDB - fi diff --git a/packaging/tools/install_client_pro.sh b/packaging/tools/install_client_pro.sh deleted file mode 100755 index 7551484e56c8d5fc59539d26f52ac7d318106fa5..0000000000000000000000000000000000000000 --- a/packaging/tools/install_client_pro.sh +++ /dev/null @@ -1,240 +0,0 @@ -#!/bin/bash -# -# This file is used to install ProDB client on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- - -osType=Linux -pagMode=full - -if [ "$osType" != "Darwin" ]; then - script_dir=$(dirname $(readlink -f "$0")) - # Dynamic directory - data_dir="/var/lib/ProDB" - log_dir="/var/log/ProDB" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - data_dir="/var/lib/ProDB" - log_dir="~/ProDB/log" -fi - -log_link_dir="/usr/local/ProDB/log" - -cfg_install_dir="/etc/ProDB" - -if [ "$osType" != "Darwin" ]; then - bin_link_dir="/usr/bin" - lib_link_dir="/usr/lib" - lib64_link_dir="/usr/lib64" - inc_link_dir="/usr/include" -else - bin_link_dir="/usr/local/bin" - lib_link_dir="/usr/local/lib" - inc_link_dir="/usr/local/include" -fi - -#install main path -install_main_dir="/usr/local/ProDB" - -# old bin dir -bin_dir="/usr/local/ProDB/bin" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -function kill_client() { - pid=$(ps -ef | grep "prodbc" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin - ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver - ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/prodbc || : - if [ "$osType" != "Darwin" ]; then - ${csudo}rm -f ${bin_link_dir}/prodemo || : - ${csudo}rm -f ${bin_link_dir}/prodump || : - fi - ${csudo}rm -f ${bin_link_dir}/rmprodb || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/prodbc ] && ${csudo}ln -s ${install_main_dir}/bin/prodbc ${bin_link_dir}/prodbc || : - if [ "$osType" != "Darwin" ]; then - [ -x ${install_main_dir}/bin/prodemo ] && ${csudo}ln -s ${install_main_dir}/bin/prodemo ${bin_link_dir}/prodemo || : - [ -x ${install_main_dir}/bin/prodump ] && ${csudo}ln -s ${install_main_dir}/bin/prodump ${bin_link_dir}/prodump || : - fi - [ -x ${install_main_dir}/bin/remove_client_prodb.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_client_prodb.sh ${bin_link_dir}/rmprodb || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : -} - -function clean_lib() { - sudo rm -f /usr/lib/libtaos.* || : - sudo rm -rf ${lib_dir} || : -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - if [ "$osType" != "Darwin" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [ -d "${lib64_link_dir}" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - else - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.1.dylib - ${csudo}ln -s ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib - fi - - ${csudo}ldconfig -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/prodb.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/prodb.cfg ] && ${csudo}cp ${script_dir}/cfg/prodb.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/prodb.cfg ${install_main_dir}/cfg/prodb.cfg.org - ${csudo}ln -s ${cfg_install_dir}/prodb.cfg ${install_main_dir}/cfg -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - - if [ "$osType" != "Darwin" ]; then - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - else - mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - fi - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function update_prodb() { - # Start to update - if [ ! -e prodb.tar.gz ]; then - echo "File prodb.tar.gz does not exist" - exit 1 - fi - tar -zxf prodb.tar.gz - - echo -e "${GREEN}Start to update ProDB client...${NC}" - # Stop the client shell if running - if pidof prodbc &> /dev/null; then - kill_client - sleep 1 - fi - - install_main_path - - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mProDB client is updated successfully!${NC}" - - rm -rf $(tar -tf prodb.tar.gz) -} - -function install_prodb() { - # Start to install - if [ ! -e prodb.tar.gz ]; then - echo "File prodb.tar.gz does not exist" - exit 1 - fi - tar -zxf prodb.tar.gz - - echo -e "${GREEN}Start to install ProDB client...${NC}" - - install_main_path - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mProDB client is installed successfully!${NC}" - - rm -rf $(tar -tf prodb.tar.gz) -} - - -## ==============================Main program starts from here============================ -# Install or updata client and client -# if server is already install, don't install client -if [ -e ${bin_dir}/prodbs ]; then - echo -e "\033[44;32;1mThere are already installed ProDB server, so don't need install client!${NC}" - exit 0 -fi - -if [ -x ${bin_dir}/prodbc ]; then - update_flag=1 - update_prodb -else - install_prodb -fi diff --git a/packaging/tools/install_client_tq.sh b/packaging/tools/install_client_tq.sh deleted file mode 100755 index 04479cfdbe234fe323a43a6a521992838069ecd9..0000000000000000000000000000000000000000 --- a/packaging/tools/install_client_tq.sh +++ /dev/null @@ -1,244 +0,0 @@ -#!/bin/bash -# -# This file is used to install TQ client on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -# -----------------------Variables definition--------------------- - -osType=Linux -pagMode=full - -if [ "$osType" != "Darwin" ]; then - script_dir=$(dirname $(readlink -f "$0")) - # Dynamic directory - data_dir="/var/lib/tq" - log_dir="/var/log/tq" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - data_dir="/var/lib/tq" - log_dir="~/TQLog" -fi - -log_link_dir="/usr/local/tq/log" - -cfg_install_dir="/etc/tq" - -if [ "$osType" != "Darwin" ]; then - bin_link_dir="/usr/bin" - lib_link_dir="/usr/lib" - lib64_link_dir="/usr/lib64" - inc_link_dir="/usr/include" -else - bin_link_dir="/usr/local/bin" - lib_link_dir="/usr/local/lib" - inc_link_dir="/usr/local/include" -fi - -#install main path -install_main_dir="/usr/local/tq" - -# old bin dir -bin_dir="/usr/local/tq/bin" - -# v1.5 jar dir -#v15_java_app_dir="/usr/local/lib/tq" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -function kill_client() { - pid=$(ps -ef | grep "tq" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin - ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver - ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/tq || : - if [ "$osType" != "Darwin" ]; then - ${csudo}rm -f ${bin_link_dir}/tqdemo || : - ${csudo}rm -f ${bin_link_dir}/tqdump || : - fi - ${csudo}rm -f ${bin_link_dir}/rmtq || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/tq ] && ${csudo}ln -s ${install_main_dir}/bin/tq ${bin_link_dir}/tq || : - if [ "$osType" != "Darwin" ]; then - [ -x ${install_main_dir}/bin/tqdemo ] && ${csudo}ln -s ${install_main_dir}/bin/tqdemo ${bin_link_dir}/tqdemo || : - [ -x ${install_main_dir}/bin/tqdump ] && ${csudo}ln -s ${install_main_dir}/bin/tqdump ${bin_link_dir}/tqdump || : - fi - [ -x ${install_main_dir}/bin/remove_client_tq.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_client_tq.sh ${bin_link_dir}/rmtq || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : -} - -function clean_lib() { - sudo rm -f /usr/lib/libtaos.* || : - sudo rm -rf ${lib_dir} || : -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - #${csudo}rm -rf ${v15_java_app_dir} || : - - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - if [ "$osType" != "Darwin" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [ -d "${lib64_link_dir}" ]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - else - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.1.dylib - ${csudo}ln -s ${lib_link_dir}/libtaos.1.dylib ${lib_link_dir}/libtaos.dylib - fi - - ${csudo}ldconfig -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/tq.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/tq.cfg ] && ${csudo}cp ${script_dir}/cfg/tq.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/tq.cfg ${install_main_dir}/cfg/tq.cfg.org - ${csudo}ln -s ${cfg_install_dir}/tq.cfg ${install_main_dir}/cfg -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - - if [ "$osType" != "Darwin" ]; then - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - else - mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - fi - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function update_tq() { - # Start to update - if [ ! -e tq.tar.gz ]; then - echo "File tq.tar.gz does not exist" - exit 1 - fi - tar -zxf tq.tar.gz - - echo -e "${GREEN}Start to update TQ client...${NC}" - # Stop the client shell if running - if pidof tq &> /dev/null; then - kill_client - sleep 1 - fi - - install_main_path - - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mTQ client is updated successfully!${NC}" - - rm -rf $(tar -tf tq.tar.gz) -} - -function install_tq() { - # Start to install - if [ ! -e tq.tar.gz ]; then - echo "File tq.tar.gz does not exist" - exit 1 - fi - tar -zxf tq.tar.gz - - echo -e "${GREEN}Start to install TQ client...${NC}" - - install_main_path - install_log - install_header - install_lib - install_examples - install_bin - install_config - - echo - echo -e "\033[44;32;1mTQ client is installed successfully!${NC}" - - rm -rf $(tar -tf tq.tar.gz) -} - - -## ==============================Main program starts from here============================ -# Install or updata client and client -# if server is already install, don't install client - if [ -e ${bin_dir}/tqd ]; then - echo -e "\033[44;32;1mThere are already installed TQ server, so don't need install client!${NC}" - exit 0 - fi - - if [ -x ${bin_dir}/tq ]; then - update_flag=1 - update_tq - else - install_tq - fi diff --git a/packaging/tools/install_jh.sh b/packaging/tools/install_jh.sh deleted file mode 100755 index 667766154e92004b3eea695b08f0fc43872cbd2e..0000000000000000000000000000000000000000 --- a/packaging/tools/install_jh.sh +++ /dev/null @@ -1,950 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -verMode=edge -pagMode=full - -iplist="" -serverFqdn="" -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) -# Dynamic directory -data_dir="/var/lib/jh_taos" -log_dir="/var/log/jh_taos" - -data_link_dir="/usr/local/jh_taos/data" -log_link_dir="/usr/local/jh_taos/log" - -cfg_install_dir="/etc/jh_taos" - -bin_link_dir="/usr/bin" -lib_link_dir="/usr/lib" -lib64_link_dir="/usr/lib64" -inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/jh_taos" - -# old bin dir -bin_dir="/usr/local/jh_taos/bin" - -service_config_dir="/etc/systemd/system" -nginx_port=6060 -nginx_dir="/usr/local/nginxd" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact jhict.com for support." - os_type=1 -fi - - -# ============================= get input parameters ================================================= - -# install.sh -v [server | client] -e [yes | no] -i [systemd | service | ...] - -# set parameters by default value -interactiveFqdn=yes # [yes | no] -verType=server # [server | client] -initType=systemd # [systemd | service | ...] - -while getopts "hv:e:i:" arg -do - case $arg in - e) - #echo "interactiveFqdn=$OPTARG" - interactiveFqdn=$( echo $OPTARG ) - ;; - v) - #echo "verType=$OPTARG" - verType=$(echo $OPTARG) - ;; - i) - #echo "initType=$OPTARG" - initType=$(echo $OPTARG) - ;; - h) - echo "Usage: `basename $0` -v [server | client] -e [yes | no]" - exit 0 - ;; - ?) #unknow option - echo "unkonw argument" - exit 1 - ;; - esac -done - -function kill_process() { - pid=$(ps -ef | grep "$1" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin -# ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver -# ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d - if [ "$verMode" == "cluster" ]; then - ${csudo}mkdir -p ${nginx_dir} - fi -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/jh_taos || : - ${csudo}rm -f ${bin_link_dir}/jh_taosd || : - ${csudo}rm -f ${bin_link_dir}/jhdemo || : - ${csudo}rm -f ${bin_link_dir}/rmjh || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - ${csudo}rm -f ${bin_link_dir}/run_taosd.sh || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/jh_taos ] && ${csudo}ln -s ${install_main_dir}/bin/jh_taos ${bin_link_dir}/jh_taos || : - [ -x ${install_main_dir}/bin/jh_taosd ] && ${csudo}ln -s ${install_main_dir}/bin/jh_taosd ${bin_link_dir}/jh_taosd || : - [ -x ${install_main_dir}/bin/jhdemo ] && ${csudo}ln -s ${install_main_dir}/bin/jhdemo ${bin_link_dir}/jhdemo || : - [ -x ${install_main_dir}/bin/remove_jh.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_jh.sh ${bin_link_dir}/rmjh || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : - [ -x ${install_main_dir}/bin/run_taosd.sh ] && ${csudo}ln -s ${install_main_dir}/bin/run_taosd.sh ${bin_link_dir}/run_taosd.sh || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : - - if [ "$verMode" == "cluster" ]; then - ${csudo}cp -r ${script_dir}/nginxd/* ${nginx_dir} && ${csudo}chmod 0555 ${nginx_dir}/* - ${csudo}mkdir -p ${nginx_dir}/logs - ${csudo}chmod 777 ${nginx_dir}/sbin/nginx - fi -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [[ -d ${lib64_link_dir} && ! -e ${lib64_link_dir}/libtaos.so ]]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - - if [ "$osType" != "Darwin" ]; then - ${csudo}ldconfig - else - ${csudo}update_dyld_shared_cache - fi -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_jemalloc() { - jemalloc_dir=${script_dir}/jemalloc - - if [ -d ${jemalloc_dir} ]; then - ${csudo}/usr/bin/install -c -d /usr/local/bin - - if [ -f ${jemalloc_dir}/bin/jemalloc-config ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc-config /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jemalloc.sh ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc.sh /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jeprof ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jeprof /usr/local/bin - fi - if [ -f ${jemalloc_dir}/include/jemalloc/jemalloc.h ]; then - ${csudo}/usr/bin/install -c -d /usr/local/include/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/include/jemalloc/jemalloc.h /usr/local/include/jemalloc - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc.so.2 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.so.2 /usr/local/lib - ${csudo}ln -sf libjemalloc.so.2 /usr/local/lib/libjemalloc.so - ${csudo}/usr/bin/install -c -d /usr/local/lib - if [ -f ${jemalloc_dir}/lib/libjemalloc.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc_pic.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib/pkgconfig - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/lib/pkgconfig/jemalloc.pc /usr/local/lib/pkgconfig - fi - fi - if [ -f ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/doc/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html /usr/local/share/doc/jemalloc - fi - if [ -f ${jemalloc_dir}/share/man/man3/jemalloc.3 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/man/man3 - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 - fi - - if [ -d /etc/ld.so.conf.d ]; then - echo "/usr/local/lib" | ${csudo}tee /etc/ld.so.conf.d/jemalloc.conf > /dev/null || echo -e "failed to write /etc/ld.so.conf.d/jemalloc.conf" - ${csudo}ldconfig - else - echo "/etc/ld.so.conf.d not found!" - fi - fi -} - -function add_newHostname_to_hosts() { - localIp="127.0.0.1" - OLD_IFS="$IFS" - IFS=" " - iphost=$(cat /etc/hosts | grep $1 | awk '{print $1}') - arr=($iphost) - IFS="$OLD_IFS" - for s in ${arr[@]} - do - if [[ "$s" == "$localIp" ]]; then - return - fi - done - ${csudo}echo "127.0.0.1 $1" >> /etc/hosts ||: -} - -function set_hostname() { - echo -e -n "${GREEN}Please enter one hostname(must not be 'localhost')${NC}:" - read newHostname - while true; do - if [[ ! -z "$newHostname" && "$newHostname" != "localhost" ]]; then - break - else - read -p "Please enter one hostname(must not be 'localhost'):" newHostname - fi - done - - ${csudo}hostname $newHostname ||: - retval=`echo $?` - if [[ $retval != 0 ]]; then - echo - echo "set hostname fail!" - return - fi - - #ubuntu/centos /etc/hostname - if [[ -e /etc/hostname ]]; then - ${csudo}echo $newHostname > /etc/hostname ||: - fi - - #debian: #HOSTNAME=yourname - if [[ -e /etc/sysconfig/network ]]; then - ${csudo}sed -i -r "s/#*\s*(HOSTNAME=\s*).*/\1$newHostname/" /etc/sysconfig/network ||: - fi - - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$newHostname/" ${cfg_install_dir}/taos.cfg - serverFqdn=$newHostname - - if [[ -e /etc/hosts ]]; then - add_newHostname_to_hosts $newHostname - fi -} - -function is_correct_ipaddr() { - newIp=$1 - OLD_IFS="$IFS" - IFS=" " - arr=($iplist) - IFS="$OLD_IFS" - for s in ${arr[@]} - do - if [[ "$s" == "$newIp" ]]; then - return 0 - fi - done - - return 1 -} - -function set_ipAsFqdn() { - iplist=$(ip address |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F "/" '{print $1}') ||: - if [ -z "$iplist" ]; then - iplist=$(ifconfig |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F ":" '{print $2}') ||: - fi - - if [ -z "$iplist" ]; then - echo - echo -e -n "${GREEN}Unable to get local ip, use 127.0.0.1${NC}" - localFqdn="127.0.0.1" - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/taos.cfg - serverFqdn=$localFqdn - echo - return - fi - - echo -e -n "${GREEN}Please choose an IP from local IP list${NC}:" - echo - echo -e -n "${GREEN}$iplist${NC}" - echo - echo - echo -e -n "${GREEN}Notes: if IP is used as the node name, data can NOT be migrated to other machine directly${NC}:" - read localFqdn - while true; do - if [ ! -z "$localFqdn" ]; then - # Check if correct ip address - is_correct_ipaddr $localFqdn - retval=`echo $?` - if [[ $retval != 0 ]]; then - read -p "Please choose an IP from local IP list:" localFqdn - else - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/taos.cfg - serverFqdn=$localFqdn - break - fi - else - read -p "Please choose an IP from local IP list:" localFqdn - fi - done -} - -function local_fqdn_check() { - #serverFqdn=$(hostname) - echo - echo -e -n "System hostname is: ${GREEN}$serverFqdn${NC}" - echo - if [[ "$serverFqdn" == "" ]] || [[ "$serverFqdn" == "localhost" ]]; then - echo -e -n "${GREEN}It is strongly recommended to configure a hostname for this machine ${NC}" - echo - - while true - do - read -r -p "Set hostname now? [Y/n] " input - if [ ! -n "$input" ]; then - set_hostname - break - else - case $input in - [yY][eE][sS]|[yY]) - set_hostname - break - ;; - - [nN][oO]|[nN]) - set_ipAsFqdn - break - ;; - - *) - echo "Invalid input..." - ;; - esac - fi - done - fi -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/taos.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/taos.cfg ] && ${csudo}cp ${script_dir}/cfg/taos.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/taos.cfg ${install_main_dir}/cfg/taos.cfg.org - ${csudo}ln -s ${cfg_install_dir}/taos.cfg ${install_main_dir}/cfg - - [ ! -z $1 ] && return 0 || : # only install client - - if ((${update_flag}==1)); then - return 0 - fi - - if [ "$interactiveFqdn" == "no" ]; then - return 0 - fi - - local_fqdn_check - - #FQDN_FORMAT="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" - #FQDN_FORMAT="(:[1-6][0-9][0-9][0-9][0-9]$)" - #PORT_FORMAT="(/[1-6][0-9][0-9][0-9][0-9]?/)" - #FQDN_PATTERN=":[0-9]{1,5}$" - - # first full-qualified domain name (FQDN) for jh_iot cluster system - echo - echo -e -n "${GREEN}Enter FQDN:port (like h1.jhict.com:6030) of an existing jh_iot cluster node to join${NC}" - echo - echo -e -n "${GREEN}OR leave it blank to build one${NC}:" - read firstEp - while true; do - if [ ! -z "$firstEp" ]; then - # check the format of the firstEp - #if [[ $firstEp == $FQDN_PATTERN ]]; then - # Write the first FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(firstEp\s*).*/\1$firstEp/" ${cfg_install_dir}/taos.cfg - break - #else - # read -p "Please enter the correct FQDN:port: " firstEp - #fi - else - break - fi - done -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_data() { - ${csudo}mkdir -p ${data_dir} - - ${csudo}ln -s ${data_dir} ${install_main_dir}/data -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function clean_service_on_sysvinit() { - if pidof jh_taosd &> /dev/null; then - ${csudo}service jh_taosd stop || : - fi - - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/jh_taosd ]; then - ${csudo}chkconfig --del jh_taosd || : - fi - - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/jh_taosd ]; then - ${csudo}insserv -r jh_taosd || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/jh_taosd ]; then - ${csudo}update-rc.d -f jh_taosd remove || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/jh_taosd || : - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install jh_taosd service - - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/jh_taosd.deb ${install_main_dir}/init.d/jh_taosd - ${csudo}cp ${script_dir}/init.d/jh_taosd.deb ${service_config_dir}/jh_taosd && ${csudo}chmod a+x ${service_config_dir}/jh_taosd - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/jh_taosd.rpm ${install_main_dir}/init.d/jh_taosd - ${csudo}cp ${script_dir}/init.d/jh_taosd.rpm ${service_config_dir}/jh_taosd && ${csudo}chmod a+x ${service_config_dir}/jh_taosd - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add jh_taosd || : - ${csudo}chkconfig --level 2345 jh_taosd on || : - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv jh_taosd || : - ${csudo}insserv -d jh_taosd || : - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d jh_taosd defaults || : - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - jh_taosd_service_config="${service_config_dir}/jh_taosd.service" - if systemctl is-active --quiet jh_taosd; then - echo "jh_iot is running, stopping it..." - ${csudo}systemctl stop jh_taosd &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable jh_taosd &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${jh_taosd_service_config} - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${tarbitratord_service_config} - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - if systemctl is-active --quiet nginxd; then - echo "Nginx for jh_iot is running, stopping it..." - ${csudo}systemctl stop nginxd &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable nginxd &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${nginx_service_config} - fi -} - -function install_service_on_systemd() { - clean_service_on_systemd - - service_config="${service_config_dir}/jh_taosd.service" - ${csudo}bash -c "echo '[Unit]' >> ${service_config}" - ${csudo}bash -c "echo 'Description=jh_iot server service' >> ${service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${service_config}" - ${csudo}bash -c "echo >> ${service_config}" - ${csudo}bash -c "echo '[Service]' >> ${service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/jh_taosd' >> ${service_config}" - ${csudo}bash -c "echo 'ExecStartPre=/usr/local/jh_taos/bin/startPre.sh' >> ${service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${service_config}" - ${csudo}bash -c "echo >> ${service_config}" - ${csudo}bash -c "echo '[Install]' >> ${service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${service_config}" - ${csudo}systemctl enable jh_taosd - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=jh_iot arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - #${csudo}systemctl enable tarbitratord - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - ${csudo}bash -c "echo '[Unit]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Description=Nginx For jh_iot Service' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Type=forking' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'PIDFile=/usr/local/nginxd/logs/nginx.pid' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/local/nginxd/sbin/nginx' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStop=/usr/local/nginxd/sbin/nginx -s stop' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${nginx_service_config}" - if ! ${csudo}systemctl enable nginxd &> /dev/null; then - ${csudo}systemctl daemon-reexec - ${csudo}systemctl enable nginxd - fi - ${csudo}systemctl start nginxd - fi -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - # must manual stop jh_taosd - kill_process jh_taosd - fi -} - -vercomp () { - if [[ $1 == $2 ]]; then - return 0 - fi - local IFS=. - local i ver1=($1) ver2=($2) - # fill empty fields in ver1 with zeros - for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do - ver1[i]=0 - done - - for ((i=0; i<${#ver1[@]}; i++)); do - if [[ -z ${ver2[i]} ]] - then - # fill empty fields in ver2 with zeros - ver2[i]=0 - fi - if ((10#${ver1[i]} > 10#${ver2[i]})) - then - return 1 - fi - if ((10#${ver1[i]} < 10#${ver2[i]})) - then - return 2 - fi - done - return 0 -} - -function is_version_compatible() { - curr_version=`ls ${script_dir}/driver/libtaos.so* |cut -d '.' -f 3-6` - - if [ -f ${script_dir}/driver/vercomp.txt ]; then - min_compatible_version=`cat ${script_dir}/driver/vercomp.txt` - else - min_compatible_version=$(${script_dir}/bin/jh_taosd -V | head -1 | cut -d ' ' -f 5) - fi - - vercomp $curr_version $min_compatible_version - case $? in - 0) return 0;; - 1) return 0;; - 2) return 1;; - esac -} - -function update() { - # Start to update - if [ ! -e jh_taos.tar.gz ]; then - echo "File jh_taos.tar.gz does not exist" - exit 1 - fi - tar -zxf jh_taos.tar.gz - install_jemalloc - - # Check if version compatible - if ! is_version_compatible; then - echo -e "${RED}Version incompatible${NC}" - return 1 - fi - - echo -e "${GREEN}Start to update jh_iot...${NC}" - # Stop the service if running - if pidof jh_taosd &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop jh_taosd || : - elif ((${service_mod}==1)); then - ${csudo}service jh_taosd stop || : - else - kill_process jh_taosd - fi - sleep 1 - fi - if [ "$verMode" == "cluster" ]; then - if pidof nginx &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop nginxd || : - elif ((${service_mod}==1)); then - ${csudo}service nginxd stop || : - else - kill_process nginx - fi - sleep 1 - fi - fi - - install_main_path - - install_log - install_header - install_lib -# if [ "$pagMode" != "lite" ]; then -# install_connector -# fi -# install_examples - if [ -z $1 ]; then - install_bin - install_service - install_config - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if openresty is installed - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for jh_iot is updated successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for jh_iot does not work! Please try again!\033[0m" - fi - fi - fi - - #echo - #echo -e "\033[44;32;1mjh_iot is updated successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure jh_iot ${NC}: edit /etc/jh_taos/taos.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start jh_iot ${NC}: ${csudo}systemctl start jh_taosd${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start jh_iot ${NC}: ${csudo}service jh_taosd start${NC}" - else - echo -e "${GREEN_DARK}To start jh_iot ${NC}: ./jh_taosd${NC}" - fi - - if [ ${openresty_work} = 'true' ]; then - echo -e "${GREEN_DARK}To access jh_iot ${NC}: use ${GREEN_UNDERLINE}jh_taos -h $serverFqdn${NC} in shell OR from ${GREEN_UNDERLINE}http://127.0.0.1:${nginx_port}${NC}" - else - echo -e "${GREEN_DARK}To access jh_iot ${NC}: use ${GREEN_UNDERLINE}jh_taos -h $serverFqdn${NC} in shell${NC}" - fi - - echo - echo -e "\033[44;32;1mjh_iot is updated successfully!${NC}" - else - install_bin - install_config - - echo - echo -e "\033[44;32;1mjh_iot client is updated successfully!${NC}" - fi - - rm -rf $(tar -tf jh_taos.tar.gz) -} - -function install() { - # Start to install - if [ ! -e jh_taos.tar.gz ]; then - echo "File jh_taos.tar.gz does not exist" - exit 1 - fi - tar -zxf jh_taos.tar.gz - - echo -e "${GREEN}Start to install jh_iot...${NC}" - - install_main_path - - if [ -z $1 ]; then - install_data - fi - - install_log - install_header - install_lib - install_jemalloc -# if [ "$pagMode" != "lite" ]; then -# install_connector -# fi -# install_examples - - if [ -z $1 ]; then # install service and client - # For installing new - install_bin - install_service - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for jh_iot is installed successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for jh_iot does not work! Please try again!\033[0m" - fi - fi - fi - - install_config - - # Ask if to start the service - #echo - #echo -e "\033[44;32;1mjh_iot is installed successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure jh_iot ${NC}: edit /etc/jh_taos/taos.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start jh_iot ${NC}: ${csudo}systemctl start jh_taosd${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start jh_iot ${NC}: ${csudo}service jh_taosd start${NC}" - else - echo -e "${GREEN_DARK}To start jh_iot ${NC}: jh_taosd${NC}" - fi - - if [ ! -z "$firstEp" ]; then - tmpFqdn=${firstEp%%:*} - substr=":" - if [[ $firstEp =~ $substr ]];then - tmpPort=${firstEp#*:} - else - tmpPort="" - fi - if [[ "$tmpPort" != "" ]];then - echo -e "${GREEN_DARK}To access jh_iot ${NC}: jh_taos -h $tmpFqdn -P $tmpPort${GREEN_DARK} to login into cluster, then${NC}" - else - echo -e "${GREEN_DARK}To access jh_iot ${NC}: jh_taos -h $tmpFqdn${GREEN_DARK} to login into cluster, then${NC}" - fi - echo -e "${GREEN_DARK}execute ${NC}: create dnode 'newDnodeFQDN:port'; ${GREEN_DARK}to add this new node${NC}" - echo - elif [ ! -z "$serverFqdn" ]; then - echo -e "${GREEN_DARK}To access jh_iot ${NC}: jh_taos -h $serverFqdn${GREEN_DARK} to login into jh_iot server${NC}" - echo - fi - echo -e "\033[44;32;1mjh_iot is installed successfully!${NC}" - echo - else # Only install client - install_bin - install_config - - echo - echo -e "\033[44;32;1mjh_iot client is installed successfully!${NC}" - fi - - rm -rf $(tar -tf jh_taos.tar.gz) -} - - -## ==============================Main program starts from here============================ -serverFqdn=$(hostname) -if [ "$verType" == "server" ]; then - # Install server and client - if [ -x ${bin_dir}/jh_taosd ]; then - update_flag=1 - update - else - install - fi -elif [ "$verType" == "client" ]; then - interactiveFqdn=no - # Only install client - if [ -x ${bin_dir}/jh_taos ]; then - update_flag=1 - update client - else - install client - fi -else - echo "please input correct verType" -fi diff --git a/packaging/tools/install_kh.sh b/packaging/tools/install_kh.sh deleted file mode 100755 index 8adad4dbbe32c6e052721f8657425b19d7338c4e..0000000000000000000000000000000000000000 --- a/packaging/tools/install_kh.sh +++ /dev/null @@ -1,950 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -verMode=edge -pagMode=full - -iplist="" -serverFqdn="" -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) -# Dynamic directory -data_dir="/var/lib/kinghistorian" -log_dir="/var/log/kinghistorian" - -data_link_dir="/usr/local/kinghistorian/data" -log_link_dir="/usr/local/kinghistorian/log" - -cfg_install_dir="/etc/kinghistorian" - -bin_link_dir="/usr/bin" -lib_link_dir="/usr/lib" -lib64_link_dir="/usr/lib64" -inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/kinghistorian" - -# old bin dir -bin_dir="/usr/local/kinghistorian/bin" - -service_config_dir="/etc/systemd/system" -nginx_port=6060 -nginx_dir="/usr/local/nginxd" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact wellintech.com for support." - os_type=1 -fi - - -# ============================= get input parameters ================================================= - -# install.sh -v [server | client] -e [yes | no] -i [systemd | service | ...] - -# set parameters by default value -interactiveFqdn=yes # [yes | no] -verType=server # [server | client] -initType=systemd # [systemd | service | ...] - -while getopts "hv:e:i:" arg -do - case $arg in - e) - #echo "interactiveFqdn=$OPTARG" - interactiveFqdn=$( echo $OPTARG ) - ;; - v) - #echo "verType=$OPTARG" - verType=$(echo $OPTARG) - ;; - i) - #echo "initType=$OPTARG" - initType=$(echo $OPTARG) - ;; - h) - echo "Usage: `basename $0` -v [server | client] -e [yes | no]" - exit 0 - ;; - ?) #unknow option - echo "unkonw argument" - exit 1 - ;; - esac -done - -function kill_process() { - pid=$(ps -ef | grep "$1" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin -# ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver -# ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d - if [ "$verMode" == "cluster" ]; then - ${csudo}mkdir -p ${nginx_dir} - fi -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/khclient || : - ${csudo}rm -f ${bin_link_dir}/khserver || : - ${csudo}rm -f ${bin_link_dir}/khdemo || : - ${csudo}rm -f ${bin_link_dir}/rmkh || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - ${csudo}rm -f ${bin_link_dir}/run_taosd.sh || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/khclient ] && ${csudo}ln -s ${install_main_dir}/bin/khclient ${bin_link_dir}/khclient || : - [ -x ${install_main_dir}/bin/khserver ] && ${csudo}ln -s ${install_main_dir}/bin/khserver ${bin_link_dir}/khserver || : - [ -x ${install_main_dir}/bin/khdemo ] && ${csudo}ln -s ${install_main_dir}/bin/khdemo ${bin_link_dir}/khdemo || : - [ -x ${install_main_dir}/bin/remove_kh.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_kh.sh ${bin_link_dir}/rmkh || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : - [ -x ${install_main_dir}/bin/run_taosd.sh ] && ${csudo}ln -s ${install_main_dir}/bin/run_taosd.sh ${bin_link_dir}/run_taosd.sh || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : - - if [ "$verMode" == "cluster" ]; then - ${csudo}cp -r ${script_dir}/nginxd/* ${nginx_dir} && ${csudo}chmod 0555 ${nginx_dir}/* - ${csudo}mkdir -p ${nginx_dir}/logs - ${csudo}chmod 777 ${nginx_dir}/sbin/nginx - fi -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [[ -d ${lib64_link_dir} && ! -e ${lib64_link_dir}/libtaos.so ]]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - - if [ "$osType" != "Darwin" ]; then - ${csudo}ldconfig - else - ${csudo}update_dyld_shared_cache - fi -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_jemalloc() { - jemalloc_dir=${script_dir}/jemalloc - - if [ -d ${jemalloc_dir} ]; then - ${csudo}/usr/bin/install -c -d /usr/local/bin - - if [ -f ${jemalloc_dir}/bin/jemalloc-config ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc-config /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jemalloc.sh ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc.sh /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jeprof ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jeprof /usr/local/bin - fi - if [ -f ${jemalloc_dir}/include/jemalloc/jemalloc.h ]; then - ${csudo}/usr/bin/install -c -d /usr/local/include/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/include/jemalloc/jemalloc.h /usr/local/include/jemalloc - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc.so.2 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.so.2 /usr/local/lib - ${csudo}ln -sf libjemalloc.so.2 /usr/local/lib/libjemalloc.so - ${csudo}/usr/bin/install -c -d /usr/local/lib - if [ -f ${jemalloc_dir}/lib/libjemalloc.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc_pic.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib/pkgconfig - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/lib/pkgconfig/jemalloc.pc /usr/local/lib/pkgconfig - fi - fi - if [ -f ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/doc/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html /usr/local/share/doc/jemalloc - fi - if [ -f ${jemalloc_dir}/share/man/man3/jemalloc.3 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/man/man3 - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 - fi - - if [ -d /etc/ld.so.conf.d ]; then - echo "/usr/local/lib" | ${csudo}tee /etc/ld.so.conf.d/jemalloc.conf > /dev/null || echo -e "failed to write /etc/ld.so.conf.d/jemalloc.conf" - ${csudo}ldconfig - else - echo "/etc/ld.so.conf.d not found!" - fi - fi -} - -function add_newHostname_to_hosts() { - localIp="127.0.0.1" - OLD_IFS="$IFS" - IFS=" " - iphost=$(cat /etc/hosts | grep $1 | awk '{print $1}') - arr=($iphost) - IFS="$OLD_IFS" - for s in ${arr[@]} - do - if [[ "$s" == "$localIp" ]]; then - return - fi - done - ${csudo}echo "127.0.0.1 $1" >> /etc/hosts ||: -} - -function set_hostname() { - echo -e -n "${GREEN}Please enter one hostname(must not be 'localhost')${NC}:" - read newHostname - while true; do - if [[ ! -z "$newHostname" && "$newHostname" != "localhost" ]]; then - break - else - read -p "Please enter one hostname(must not be 'localhost'):" newHostname - fi - done - - ${csudo}hostname $newHostname ||: - retval=`echo $?` - if [[ $retval != 0 ]]; then - echo - echo "set hostname fail!" - return - fi - - #ubuntu/centos /etc/hostname - if [[ -e /etc/hostname ]]; then - ${csudo}echo $newHostname > /etc/hostname ||: - fi - - #debian: #HOSTNAME=yourname - if [[ -e /etc/sysconfig/network ]]; then - ${csudo}sed -i -r "s/#*\s*(HOSTNAME=\s*).*/\1$newHostname/" /etc/sysconfig/network ||: - fi - - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$newHostname/" ${cfg_install_dir}/kinghistorian.cfg - serverFqdn=$newHostname - - if [[ -e /etc/hosts ]]; then - add_newHostname_to_hosts $newHostname - fi -} - -function is_correct_ipaddr() { - newIp=$1 - OLD_IFS="$IFS" - IFS=" " - arr=($iplist) - IFS="$OLD_IFS" - for s in ${arr[@]} - do - if [[ "$s" == "$newIp" ]]; then - return 0 - fi - done - - return 1 -} - -function set_ipAsFqdn() { - iplist=$(ip address |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F "/" '{print $1}') ||: - if [ -z "$iplist" ]; then - iplist=$(ifconfig |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F ":" '{print $2}') ||: - fi - - if [ -z "$iplist" ]; then - echo - echo -e -n "${GREEN}Unable to get local ip, use 127.0.0.1${NC}" - localFqdn="127.0.0.1" - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/kinghistorian.cfg - serverFqdn=$localFqdn - echo - return - fi - - echo -e -n "${GREEN}Please choose an IP from local IP list${NC}:" - echo - echo -e -n "${GREEN}$iplist${NC}" - echo - echo - echo -e -n "${GREEN}Notes: if IP is used as the node name, data can NOT be migrated to other machine directly${NC}:" - read localFqdn - while true; do - if [ ! -z "$localFqdn" ]; then - # Check if correct ip address - is_correct_ipaddr $localFqdn - retval=`echo $?` - if [[ $retval != 0 ]]; then - read -p "Please choose an IP from local IP list:" localFqdn - else - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/kinghistorian.cfg - serverFqdn=$localFqdn - break - fi - else - read -p "Please choose an IP from local IP list:" localFqdn - fi - done -} - -function local_fqdn_check() { - #serverFqdn=$(hostname) - echo - echo -e -n "System hostname is: ${GREEN}$serverFqdn${NC}" - echo - if [[ "$serverFqdn" == "" ]] || [[ "$serverFqdn" == "localhost" ]]; then - echo -e -n "${GREEN}It is strongly recommended to configure a hostname for this machine ${NC}" - echo - - while true - do - read -r -p "Set hostname now? [Y/n] " input - if [ ! -n "$input" ]; then - set_hostname - break - else - case $input in - [yY][eE][sS]|[yY]) - set_hostname - break - ;; - - [nN][oO]|[nN]) - set_ipAsFqdn - break - ;; - - *) - echo "Invalid input..." - ;; - esac - fi - done - fi -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/kinghistorian.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/kinghistorian.cfg ] && ${csudo}cp ${script_dir}/cfg/kinghistorian.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/kinghistorian.cfg ${install_main_dir}/cfg/kinghistorian.cfg.org - ${csudo}ln -s ${cfg_install_dir}/kinghistorian.cfg ${install_main_dir}/cfg - - [ ! -z $1 ] && return 0 || : # only install client - - if ((${update_flag}==1)); then - return 0 - fi - - if [ "$interactiveFqdn" == "no" ]; then - return 0 - fi - - local_fqdn_check - - #FQDN_FORMAT="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" - #FQDN_FORMAT="(:[1-6][0-9][0-9][0-9][0-9]$)" - #PORT_FORMAT="(/[1-6][0-9][0-9][0-9][0-9]?/)" - #FQDN_PATTERN=":[0-9]{1,5}$" - - # first full-qualified domain name (FQDN) for KingHistorian cluster system - echo - echo -e -n "${GREEN}Enter FQDN:port (like h1.wellintech.com:6030) of an existing KingHistorian cluster node to join${NC}" - echo - echo -e -n "${GREEN}OR leave it blank to build one${NC}:" - read firstEp - while true; do - if [ ! -z "$firstEp" ]; then - # check the format of the firstEp - #if [[ $firstEp == $FQDN_PATTERN ]]; then - # Write the first FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(firstEp\s*).*/\1$firstEp/" ${cfg_install_dir}/kinghistorian.cfg - break - #else - # read -p "Please enter the correct FQDN:port: " firstEp - #fi - else - break - fi - done -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_data() { - ${csudo}mkdir -p ${data_dir} - - ${csudo}ln -s ${data_dir} ${install_main_dir}/data -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function clean_service_on_sysvinit() { - if pidof khserver &> /dev/null; then - ${csudo}service khserver stop || : - fi - - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/khserver ]; then - ${csudo}chkconfig --del khserver || : - fi - - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/khserver ]; then - ${csudo}insserv -r khserver || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/khserver ]; then - ${csudo}update-rc.d -f khserver remove || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/khserver || : - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install khserver service - - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/khserver.deb ${install_main_dir}/init.d/khserver - ${csudo}cp ${script_dir}/init.d/khserver.deb ${service_config_dir}/khserver && ${csudo}chmod a+x ${service_config_dir}/khserver - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/khserver.rpm ${install_main_dir}/init.d/khserver - ${csudo}cp ${script_dir}/init.d/khserver.rpm ${service_config_dir}/khserver && ${csudo}chmod a+x ${service_config_dir}/khserver - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add khserver || : - ${csudo}chkconfig --level 2345 khserver on || : - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv khserver || : - ${csudo}insserv -d khserver || : - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d khserver defaults || : - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - khserver_service_config="${service_config_dir}/khserver.service" - if systemctl is-active --quiet khserver; then - echo "KingHistorian is running, stopping it..." - ${csudo}systemctl stop khserver &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable khserver &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${khserver_service_config} - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${tarbitratord_service_config} - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - if systemctl is-active --quiet nginxd; then - echo "Nginx for KingHistorian is running, stopping it..." - ${csudo}systemctl stop nginxd &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable nginxd &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${nginx_service_config} - fi -} - -function install_service_on_systemd() { - clean_service_on_systemd - - service_config="${service_config_dir}/khserver.service" - ${csudo}bash -c "echo '[Unit]' >> ${service_config}" - ${csudo}bash -c "echo 'Description=KingHistorian server service' >> ${service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${service_config}" - ${csudo}bash -c "echo >> ${service_config}" - ${csudo}bash -c "echo '[Service]' >> ${service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/khserver' >> ${service_config}" - ${csudo}bash -c "echo 'ExecStartPre=/usr/local/kinghistorian/bin/startPre.sh' >> ${service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${service_config}" - ${csudo}bash -c "echo >> ${service_config}" - ${csudo}bash -c "echo '[Install]' >> ${service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${service_config}" - ${csudo}systemctl enable khserver - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=KingHistorian arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - #${csudo}systemctl enable tarbitratord - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - ${csudo}bash -c "echo '[Unit]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Description=Nginx For KingHistorian Service' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Type=forking' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'PIDFile=/usr/local/nginxd/logs/nginx.pid' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/local/nginxd/sbin/nginx' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStop=/usr/local/nginxd/sbin/nginx -s stop' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${nginx_service_config}" - if ! ${csudo}systemctl enable nginxd &> /dev/null; then - ${csudo}systemctl daemon-reexec - ${csudo}systemctl enable nginxd - fi - ${csudo}systemctl start nginxd - fi -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - # must manual stop khserver - kill_process khserver - fi -} - -vercomp () { - if [[ $1 == $2 ]]; then - return 0 - fi - local IFS=. - local i ver1=($1) ver2=($2) - # fill empty fields in ver1 with zeros - for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do - ver1[i]=0 - done - - for ((i=0; i<${#ver1[@]}; i++)); do - if [[ -z ${ver2[i]} ]] - then - # fill empty fields in ver2 with zeros - ver2[i]=0 - fi - if ((10#${ver1[i]} > 10#${ver2[i]})) - then - return 1 - fi - if ((10#${ver1[i]} < 10#${ver2[i]})) - then - return 2 - fi - done - return 0 -} - -function is_version_compatible() { - curr_version=`ls ${script_dir}/driver/libtaos.so* |cut -d '.' -f 3-6` - - if [ -f ${script_dir}/driver/vercomp.txt ]; then - min_compatible_version=`cat ${script_dir}/driver/vercomp.txt` - else - min_compatible_version=$(${script_dir}/bin/khserver -V | head -1 | cut -d ' ' -f 5) - fi - - vercomp $curr_version $min_compatible_version - case $? in - 0) return 0;; - 1) return 0;; - 2) return 1;; - esac -} - -function update() { - # Start to update - if [ ! -e kinghistorian.tar.gz ]; then - echo "File kinghistorian.tar.gz does not exist" - exit 1 - fi - tar -zxf kinghistorian.tar.gz - install_jemalloc - - # Check if version compatible - if ! is_version_compatible; then - echo -e "${RED}Version incompatible${NC}" - return 1 - fi - - echo -e "${GREEN}Start to update KingHistorian...${NC}" - # Stop the service if running - if pidof khserver &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop khserver || : - elif ((${service_mod}==1)); then - ${csudo}service khserver stop || : - else - kill_process khserver - fi - sleep 1 - fi - if [ "$verMode" == "cluster" ]; then - if pidof nginx &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop nginxd || : - elif ((${service_mod}==1)); then - ${csudo}service nginxd stop || : - else - kill_process nginx - fi - sleep 1 - fi - fi - - install_main_path - - install_log - install_header - install_lib -# if [ "$pagMode" != "lite" ]; then -# install_connector -# fi -# install_examples - if [ -z $1 ]; then - install_bin - install_service - install_config - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if openresty is installed - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for KingHistorian is updated successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for KingHistorian does not work! Please try again!\033[0m" - fi - fi - fi - - #echo - #echo -e "\033[44;32;1mKingHistorian is updated successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure KingHistorian ${NC}: edit /etc/kinghistorian/kinghistorian.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start KingHistorian ${NC}: ${csudo}systemctl start khserver${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start KingHistorian ${NC}: ${csudo}service khserver start${NC}" - else - echo -e "${GREEN_DARK}To start KingHistorian ${NC}: ./khserver${NC}" - fi - - if [ ${openresty_work} = 'true' ]; then - echo -e "${GREEN_DARK}To access KingHistorian ${NC}: use ${GREEN_UNDERLINE}khclient -h $serverFqdn${NC} in shell OR from ${GREEN_UNDERLINE}http://127.0.0.1:${nginx_port}${NC}" - else - echo -e "${GREEN_DARK}To access KingHistorian ${NC}: use ${GREEN_UNDERLINE}khclient -h $serverFqdn${NC} in shell${NC}" - fi - - echo - echo -e "\033[44;32;1mKingHistorian is updated successfully!${NC}" - else - install_bin - install_config - - echo - echo -e "\033[44;32;1mKingHistorian client is updated successfully!${NC}" - fi - - rm -rf $(tar -tf kinghistorian.tar.gz) -} - -function install() { - # Start to install - if [ ! -e kinghistorian.tar.gz ]; then - echo "File kinghistorian.tar.gz does not exist" - exit 1 - fi - tar -zxf kinghistorian.tar.gz - - echo -e "${GREEN}Start to install KingHistorian...${NC}" - - install_main_path - - if [ -z $1 ]; then - install_data - fi - - install_log - install_header - install_lib - install_jemalloc -# if [ "$pagMode" != "lite" ]; then -# install_connector -# fi -# install_examples - - if [ -z $1 ]; then # install service and client - # For installing new - install_bin - install_service - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for KingHistorian is installed successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for KingHistorian does not work! Please try again!\033[0m" - fi - fi - fi - - install_config - - # Ask if to start the service - #echo - #echo -e "\033[44;32;1mKingHistorian is installed successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure KingHistorian ${NC}: edit /etc/kinghistorian/kinghistorian.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start KingHistorian ${NC}: ${csudo}systemctl start khserver${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start KingHistorian ${NC}: ${csudo}service khserver start${NC}" - else - echo -e "${GREEN_DARK}To start KingHistorian ${NC}: khserver${NC}" - fi - - if [ ! -z "$firstEp" ]; then - tmpFqdn=${firstEp%%:*} - substr=":" - if [[ $firstEp =~ $substr ]];then - tmpPort=${firstEp#*:} - else - tmpPort="" - fi - if [[ "$tmpPort" != "" ]];then - echo -e "${GREEN_DARK}To access KingHistorian ${NC}: khclient -h $tmpFqdn -P $tmpPort${GREEN_DARK} to login into cluster, then${NC}" - else - echo -e "${GREEN_DARK}To access KingHistorian ${NC}: khclient -h $tmpFqdn${GREEN_DARK} to login into cluster, then${NC}" - fi - echo -e "${GREEN_DARK}execute ${NC}: create dnode 'newDnodeFQDN:port'; ${GREEN_DARK}to add this new node${NC}" - echo - elif [ ! -z "$serverFqdn" ]; then - echo -e "${GREEN_DARK}To access KingHistorian ${NC}: khclient -h $serverFqdn${GREEN_DARK} to login into KingHistorian server${NC}" - echo - fi - echo -e "\033[44;32;1mKingHistorian is installed successfully!${NC}" - echo - else # Only install client - install_bin - install_config - - echo - echo -e "\033[44;32;1mKingHistorian client is installed successfully!${NC}" - fi - - rm -rf $(tar -tf kinghistorian.tar.gz) -} - - -## ==============================Main program starts from here============================ -serverFqdn=$(hostname) -if [ "$verType" == "server" ]; then - # Install server and client - if [ -x ${bin_dir}/khserver ]; then - update_flag=1 - update - else - install - fi -elif [ "$verType" == "client" ]; then - interactiveFqdn=no - # Only install client - if [ -x ${bin_dir}/khclient ]; then - update_flag=1 - update client - else - install client - fi -else - echo "please input correct verType" -fi diff --git a/packaging/tools/install_power.sh b/packaging/tools/install_power.sh deleted file mode 100755 index 705c86432569c3e59145f8d887e55b78b111a4a8..0000000000000000000000000000000000000000 --- a/packaging/tools/install_power.sh +++ /dev/null @@ -1,971 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -verMode=edge -pagMode=full - -iplist="" -serverFqdn="" -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) -# Dynamic directory -data_dir="/var/lib/power" -log_dir="/var/log/power" - -data_link_dir="/usr/local/power/data" -log_link_dir="/usr/local/power/log" - -cfg_install_dir="/etc/power" - -bin_link_dir="/usr/bin" -lib_link_dir="/usr/lib" -lib64_link_dir="/usr/lib64" -inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/power" - -# old bin dir -bin_dir="/usr/local/power/bin" - -# v1.5 jar dir -#v15_java_app_dir="/usr/local/lib/power" - -service_config_dir="/etc/systemd/system" -nginx_port=6060 -nginx_dir="/usr/local/nginxd" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact taosdata.com for support." - os_type=1 -fi - - -# ============================= get input parameters ================================================= - -# install.sh -v [server | client] -e [yes | no] -i [systemd | service | ...] - -# set parameters by default value -interactiveFqdn=yes # [yes | no] -verType=server # [server | client] -initType=systemd # [systemd | service | ...] - -while getopts "hv:e:i:" arg -do - case $arg in - e) - #echo "interactiveFqdn=$OPTARG" - interactiveFqdn=$( echo $OPTARG ) - ;; - v) - #echo "verType=$OPTARG" - verType=$(echo $OPTARG) - ;; - i) - #echo "initType=$OPTARG" - initType=$(echo $OPTARG) - ;; - h) - echo "Usage: `basename $0` -v [server | client] -e [yes | no]" - exit 0 - ;; - ?) #unknow option - echo "unkonw argument" - exit 1 - ;; - esac -done - -#echo "verType=${verType} interactiveFqdn=${interactiveFqdn}" - -function kill_process() { - pid=$(ps -ef | grep "$1" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin - ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver - ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d - if [ "$verMode" == "cluster" ]; then - ${csudo}mkdir -p ${nginx_dir} - fi -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/power || : - ${csudo}rm -f ${bin_link_dir}/powerd || : - ${csudo}rm -f ${bin_link_dir}/powerdemo || : - ${csudo}rm -f ${bin_link_dir}/rmpower || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - ${csudo}rm -f ${bin_link_dir}/run_taosd.sh || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/power ] && ${csudo}ln -s ${install_main_dir}/bin/power ${bin_link_dir}/power || : - [ -x ${install_main_dir}/bin/powerd ] && ${csudo}ln -s ${install_main_dir}/bin/powerd ${bin_link_dir}/powerd || : - [ -x ${install_main_dir}/bin/powerdemo ] && ${csudo}ln -s ${install_main_dir}/bin/powerdemo ${bin_link_dir}/powerdemo || : - [ -x ${install_main_dir}/bin/remove_power.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_power.sh ${bin_link_dir}/rmpower || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : - [ -x ${install_main_dir}/bin/run_taosd.sh ] && ${csudo}ln -s ${install_main_dir}/bin/run_taosd.sh ${bin_link_dir}/run_taosd.sh || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : - - if [ "$verMode" == "cluster" ]; then - ${csudo}cp -r ${script_dir}/nginxd/* ${nginx_dir} && ${csudo}chmod 0555 ${nginx_dir}/* - ${csudo}mkdir -p ${nginx_dir}/logs - ${csudo}chmod 777 ${nginx_dir}/sbin/nginx - fi -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - #${csudo}rm -rf ${v15_java_app_dir} || : - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [[ -d ${lib64_link_dir} && ! -e ${lib64_link_dir}/libtaos.so ]]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - - ${csudo}ldconfig -} - -function install_jemalloc() { - jemalloc_dir=${script_dir}/jemalloc - - if [ -d ${jemalloc_dir} ]; then - ${csudo}/usr/bin/install -c -d /usr/local/bin - - if [ -f ${jemalloc_dir}/bin/jemalloc-config ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc-config /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jemalloc.sh ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc.sh /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jeprof ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jeprof /usr/local/bin - fi - if [ -f ${jemalloc_dir}/include/jemalloc/jemalloc.h ]; then - ${csudo}/usr/bin/install -c -d /usr/local/include/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/include/jemalloc/jemalloc.h /usr/local/include/jemalloc - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc.so.2 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.so.2 /usr/local/lib - ${csudo}ln -sf libjemalloc.so.2 /usr/local/lib/libjemalloc.so - ${csudo}/usr/bin/install -c -d /usr/local/lib - if [ -f ${jemalloc_dir}/lib/libjemalloc.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc_pic.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib/pkgconfig - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/lib/pkgconfig/jemalloc.pc /usr/local/lib/pkgconfig - fi - fi - if [ -f ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/doc/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html /usr/local/share/doc/jemalloc - fi - if [ -f ${jemalloc_dir}/share/man/man3/jemalloc.3 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/man/man3 - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 - fi - - if [ -d /etc/ld.so.conf.d ]; then - echo "/usr/local/lib" | ${csudo}tee /etc/ld.so.conf.d/jemalloc.conf > /dev/null || echo -e "failed to write /etc/ld.so.conf.d/jemalloc.conf" - ${csudo}ldconfig - else - echo "/etc/ld.so.conf.d not found!" - fi - fi -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function add_newHostname_to_hosts() { - localIp="127.0.0.1" - OLD_IFS="$IFS" - IFS=" " - iphost=$(cat /etc/hosts | grep $1 | awk '{print $1}') - arr=($iphost) - IFS="$OLD_IFS" - for s in "${arr[@]}" - do - if [[ "$s" == "$localIp" ]]; then - return - fi - done - ${csudo}echo "127.0.0.1 $1" >> /etc/hosts ||: -} - -function set_hostname() { - echo -e -n "${GREEN}Please enter one hostname(must not be 'localhost')${NC}:" - read newHostname - while true; do - if [[ ! -z "$newHostname" && "$newHostname" != "localhost" ]]; then - break - else - read -p "Please enter one hostname(must not be 'localhost'):" newHostname - fi - done - - ${csudo}hostname $newHostname ||: - retval=`echo $?` - if [[ $retval != 0 ]]; then - echo - echo "set hostname fail!" - return - fi - #echo -e -n "$(hostnamectl status --static)" - #echo -e -n "$(hostnamectl status --transient)" - #echo -e -n "$(hostnamectl status --pretty)" - - #ubuntu/centos /etc/hostname - if [[ -e /etc/hostname ]]; then - ${csudo}echo $newHostname > /etc/hostname ||: - fi - - #debian: #HOSTNAME=yourname - if [[ -e /etc/sysconfig/network ]]; then - ${csudo}sed -i -r "s/#*\s*(HOSTNAME=\s*).*/\1$newHostname/" /etc/sysconfig/network ||: - fi - - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$newHostname/" ${cfg_install_dir}/power.cfg - serverFqdn=$newHostname - - if [[ -e /etc/hosts ]]; then - add_newHostname_to_hosts $newHostname - fi -} - -function is_correct_ipaddr() { - newIp=$1 - OLD_IFS="$IFS" - IFS=" " - arr=($iplist) - IFS="$OLD_IFS" - for s in "${arr[@]}" - do - if [[ "$s" == "$newIp" ]]; then - return 0 - fi - done - - return 1 -} - -function set_ipAsFqdn() { - iplist=$(ip address |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F "/" '{print $1}') ||: - if [ -z "$iplist" ]; then - iplist=$(ifconfig |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F ":" '{print $2}') ||: - fi - - if [ -z "$iplist" ]; then - echo - echo -e -n "${GREEN}Unable to get local ip, use 127.0.0.1${NC}" - localFqdn="127.0.0.1" - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/power.cfg - serverFqdn=$localFqdn - echo - return - fi - - echo -e -n "${GREEN}Please choose an IP from local IP list${NC}:" - echo - echo -e -n "${GREEN}$iplist${NC}" - echo - echo - echo -e -n "${GREEN}Notes: if IP is used as the node name, data can NOT be migrated to other machine directly${NC}:" - read localFqdn - while true; do - if [ ! -z "$localFqdn" ]; then - # Check if correct ip address - is_correct_ipaddr $localFqdn - retval=`echo $?` - if [[ $retval != 0 ]]; then - read -p "Please choose an IP from local IP list:" localFqdn - else - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/power.cfg - serverFqdn=$localFqdn - break - fi - else - read -p "Please choose an IP from local IP list:" localFqdn - fi - done -} - -function local_fqdn_check() { - #serverFqdn=$(hostname) - echo - echo -e -n "System hostname is: ${GREEN}$serverFqdn${NC}" - echo - if [[ "$serverFqdn" == "" ]] || [[ "$serverFqdn" == "localhost" ]]; then - echo -e -n "${GREEN}It is strongly recommended to configure a hostname for this machine ${NC}" - echo - - while true - do - read -r -p "Set hostname now? [Y/n] " input - if [ ! -n "$input" ]; then - set_hostname - break - else - case $input in - [yY][eE][sS]|[yY]) - set_hostname - break - ;; - - [nN][oO]|[nN]) - set_ipAsFqdn - break - ;; - - *) - echo "Invalid input..." - ;; - esac - fi - done - fi -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/power.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/power.cfg ] && ${csudo}cp ${script_dir}/cfg/power.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/power.cfg ${install_main_dir}/cfg/power.cfg.org - ${csudo}ln -s ${cfg_install_dir}/power.cfg ${install_main_dir}/cfg - - [ ! -z $1 ] && return 0 || : # only install client - - if ((${update_flag}==1)); then - return 0 - fi - - if [ "$interactiveFqdn" == "no" ]; then - return 0 - fi - - local_fqdn_check - - #FQDN_FORMAT="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" - #FQDN_FORMAT="(:[1-6][0-9][0-9][0-9][0-9]$)" - #PORT_FORMAT="(/[1-6][0-9][0-9][0-9][0-9]?/)" - #FQDN_PATTERN=":[0-9]{1,5}$" - - # first full-qualified domain name (FQDN) for PowerDB cluster system - echo - echo -e -n "${GREEN}Enter FQDN:port (like h1.powerdata.com:6030) of an existing PowerDB cluster node to join${NC}" - echo - echo -e -n "${GREEN}OR leave it blank to build one${NC}:" - read firstEp - while true; do - if [ ! -z "$firstEp" ]; then - # check the format of the firstEp - #if [[ $firstEp == $FQDN_PATTERN ]]; then - # Write the first FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(firstEp\s*).*/\1$firstEp/" ${cfg_install_dir}/power.cfg - break - #else - # read -p "Please enter the correct FQDN:port: " firstEp - #fi - else - break - fi - done -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_data() { - ${csudo}mkdir -p ${data_dir} - - ${csudo}ln -s ${data_dir} ${install_main_dir}/data -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function clean_service_on_sysvinit() { - #restart_config_str="power:2345:respawn:${service_config_dir}/powerd start" - #${csudo}sed -i "\|${restart_config_str}|d" /etc/inittab || : - - if pidof powerd &> /dev/null; then - ${csudo}service powerd stop || : - fi - - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/powerd ]; then - ${csudo}chkconfig --del powerd || : - fi - - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/powerd ]; then - ${csudo}insserv -r powerd || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/powerd ]; then - ${csudo}update-rc.d -f powerd remove || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/powerd || : - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install powerd service - - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/powerd.deb ${install_main_dir}/init.d/powerd - ${csudo}cp ${script_dir}/init.d/powerd.deb ${service_config_dir}/powerd && ${csudo}chmod a+x ${service_config_dir}/powerd - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/powerd.rpm ${install_main_dir}/init.d/powerd - ${csudo}cp ${script_dir}/init.d/powerd.rpm ${service_config_dir}/powerd && ${csudo}chmod a+x ${service_config_dir}/powerd - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - #restart_config_str="power:2345:respawn:${service_config_dir}/powerd start" - #${csudo}grep -q -F "$restart_config_str" /etc/inittab || ${csudo}bash -c "echo '${restart_config_str}' >> /etc/inittab" - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add powerd || : - ${csudo}chkconfig --level 2345 powerd on || : - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv powerd || : - ${csudo}insserv -d powerd || : - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d powerd defaults || : - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - powerd_service_config="${service_config_dir}/powerd.service" - if systemctl is-active --quiet powerd; then - echo "PowerDB is running, stopping it..." - ${csudo}systemctl stop powerd &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable powerd &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${powerd_service_config} - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${tarbitratord_service_config} - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - if systemctl is-active --quiet nginxd; then - echo "Nginx for PowerDB is running, stopping it..." - ${csudo}systemctl stop nginxd &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable nginxd &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${nginx_service_config} - fi -} - -# power:2345:respawn:/etc/init.d/powerd start - -function install_service_on_systemd() { - clean_service_on_systemd - - powerd_service_config="${service_config_dir}/powerd.service" - ${csudo}bash -c "echo '[Unit]' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'Description=PowerDB server service' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${powerd_service_config}" - ${csudo}bash -c "echo >> ${powerd_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/powerd' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'ExecStartPre=/usr/local/power/bin/startPre.sh' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${powerd_service_config}" - ${csudo}bash -c "echo >> ${powerd_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${powerd_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${powerd_service_config}" - ${csudo}systemctl enable powerd - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=PowerDB arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - #${csudo}systemctl enable tarbitratord - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - ${csudo}bash -c "echo '[Unit]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Description=Nginx For PowrDB Service' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Type=forking' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'PIDFile=/usr/local/nginxd/logs/nginx.pid' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/local/nginxd/sbin/nginx' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStop=/usr/local/nginxd/sbin/nginx -s stop' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${nginx_service_config}" - if ! ${csudo}systemctl enable nginxd &> /dev/null; then - ${csudo}systemctl daemon-reexec - ${csudo}systemctl enable nginxd - fi - ${csudo}systemctl start nginxd - fi -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - # must manual stop powerd - kill_process powerd - fi -} - -vercomp () { - if [[ $1 == $2 ]]; then - return 0 - fi - local IFS=. - local i ver1=($1) ver2=($2) - # fill empty fields in ver1 with zeros - for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do - ver1[i]=0 - done - - for ((i=0; i<${#ver1[@]}; i++)); do - if [[ -z ${ver2[i]} ]] - then - # fill empty fields in ver2 with zeros - ver2[i]=0 - fi - if ((10#${ver1[i]} > 10#${ver2[i]})) - then - return 1 - fi - if ((10#${ver1[i]} < 10#${ver2[i]})) - then - return 2 - fi - done - return 0 -} - -function is_version_compatible() { - - curr_version=`ls ${script_dir}/driver/libtaos.so* |cut -d '.' -f 3-6` - - if [ -f ${script_dir}/driver/vercomp.txt ]; then - min_compatible_version=`cat ${script_dir}/driver/vercomp.txt` - else - min_compatible_version=$(${script_dir}/bin/powerd -V | head -1 | cut -d ' ' -f 5) - fi - - vercomp $curr_version $min_compatible_version - case $? in - 0) return 0;; - 1) return 0;; - 2) return 1;; - esac -} - -function update_PowerDB() { - # Start to update - if [ ! -e power.tar.gz ]; then - echo "File power.tar.gz does not exist" - exit 1 - fi - tar -zxf power.tar.gz - install_jemalloc - - # Check if version compatible - if ! is_version_compatible; then - echo -e "${RED}Version incompatible${NC}" - return 1 - fi - - echo -e "${GREEN}Start to update PowerDB...${NC}" - # Stop the service if running - if pidof powerd &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop powerd || : - elif ((${service_mod}==1)); then - ${csudo}service powerd stop || : - else - kill_process powerd - fi - sleep 1 - fi - if [ "$verMode" == "cluster" ]; then - if pidof nginx &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop nginxd || : - elif ((${service_mod}==1)); then - ${csudo}service nginxd stop || : - else - kill_process nginx - fi - sleep 1 - fi - fi - - install_main_path - - install_log - install_header - install_lib - if [ "$pagMode" != "lite" ]; then - install_connector - fi - install_examples - if [ -z $1 ]; then - install_bin - install_service - install_config - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if openresty is installed - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for PowerDB is updated successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for PowerDB does not work! Please try again!\033[0m" - fi - fi - fi - - #echo - #echo -e "\033[44;32;1mPowerDB is updated successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure PowerDB ${NC}: edit /etc/power/power.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start PowerDB ${NC}: ${csudo}systemctl start powerd${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start PowerDB ${NC}: ${csudo}service powerd start${NC}" - else - echo -e "${GREEN_DARK}To start PowerDB ${NC}: ./powerd${NC}" - fi - - if [ ${openresty_work} = 'true' ]; then - echo -e "${GREEN_DARK}To access PowerDB ${NC}: use ${GREEN_UNDERLINE}power -h $serverFqdn${NC} in shell OR from ${GREEN_UNDERLINE}http://127.0.0.1:${nginx_port}${NC}" - else - echo -e "${GREEN_DARK}To access PowerDB ${NC}: use ${GREEN_UNDERLINE}power -h $serverFqdn${NC} in shell${NC}" - fi - - echo - echo -e "\033[44;32;1mPowerDB is updated successfully!${NC}" - else - install_bin - install_config - - echo - echo -e "\033[44;32;1mPowerDB client is updated successfully!${NC}" - fi - - rm -rf $(tar -tf power.tar.gz) -} - -function install_PowerDB() { - # Start to install - if [ ! -e power.tar.gz ]; then - echo "File power.tar.gz does not exist" - exit 1 - fi - tar -zxf power.tar.gz - - echo -e "${GREEN}Start to install PowerDB...${NC}" - - install_main_path - - if [ -z $1 ]; then - install_data - fi - - install_log - install_header - install_lib - install_jemalloc - if [ "$pagMode" != "lite" ]; then - install_connector - fi - install_examples - - if [ -z $1 ]; then # install service and client - # For installing new - install_bin - install_service - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for PowerDB is installed successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for PowerDB does not work! Please try again!\033[0m" - fi - fi - fi - - install_config - - # Ask if to start the service - #echo - #echo -e "\033[44;32;1mPowerDB is installed successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure PowerDB ${NC}: edit /etc/power/power.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start PowerDB ${NC}: ${csudo}systemctl start powerd${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start PowerDB ${NC}: ${csudo}service powerd start${NC}" - else - echo -e "${GREEN_DARK}To start PowerDB ${NC}: powerd${NC}" - fi - - #if [ ${openresty_work} = 'true' ]; then - # echo -e "${GREEN_DARK}To access PowerDB ${NC}: use ${GREEN_UNDERLINE}power${NC} in shell OR from ${GREEN_UNDERLINE}http://127.0.0.1:${nginx_port}${NC}" - #else - # echo -e "${GREEN_DARK}To access PowerDB ${NC}: use ${GREEN_UNDERLINE}power${NC} in shell${NC}" - #fi - - if [ ! -z "$firstEp" ]; then - tmpFqdn=${firstEp%%:*} - substr=":" - if [[ $firstEp =~ $substr ]];then - tmpPort=${firstEp#*:} - else - tmpPort="" - fi - if [[ "$tmpPort" != "" ]];then - echo -e "${GREEN_DARK}To access PowerDB ${NC}: power -h $tmpFqdn -P $tmpPort${GREEN_DARK} to login into cluster, then${NC}" - else - echo -e "${GREEN_DARK}To access PowerDB ${NC}: power -h $tmpFqdn${GREEN_DARK} to login into cluster, then${NC}" - fi - echo -e "${GREEN_DARK}execute ${NC}: create dnode 'newDnodeFQDN:port'; ${GREEN_DARK}to add this new node${NC}" - echo - elif [ ! -z "$serverFqdn" ]; then - echo -e "${GREEN_DARK}To access PowerDB ${NC}: power -h $serverFqdn${GREEN_DARK} to login into PowerDB server${NC}" - echo - fi - echo -e "\033[44;32;1mPowerDB is installed successfully!${NC}" - echo - else # Only install client - install_bin - install_config - - echo - echo -e "\033[44;32;1mPowerDB client is installed successfully!${NC}" - fi - - rm -rf $(tar -tf power.tar.gz) -} - - -## ==============================Main program starts from here============================ -serverFqdn=$(hostname) -if [ "$verType" == "server" ]; then - # Install server and client - if [ -x ${bin_dir}/powerd ]; then - update_flag=1 - update_PowerDB - else - install_PowerDB - fi -elif [ "$verType" == "client" ]; then - interactiveFqdn=no - # Only install client - if [ -x ${bin_dir}/power ]; then - update_flag=1 - update_PowerDB client - else - install_PowerDB client - fi -else - echo "please input correct verType" -fi diff --git a/packaging/tools/install_pro.sh b/packaging/tools/install_pro.sh deleted file mode 100755 index f1c71985f1464e3074c006b1eec7597f5990bf9d..0000000000000000000000000000000000000000 --- a/packaging/tools/install_pro.sh +++ /dev/null @@ -1,951 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -verMode=edge -pagMode=full - -iplist="" -serverFqdn="" -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) -# Dynamic directory -data_dir="/var/lib/ProDB" -log_dir="/var/log/ProDB" - -data_link_dir="/usr/local/ProDB/data" -log_link_dir="/usr/local/ProDB/log" - -cfg_install_dir="/etc/ProDB" - -bin_link_dir="/usr/bin" -lib_link_dir="/usr/lib" -lib64_link_dir="/usr/lib64" -inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/ProDB" - -# old bin dir -bin_dir="/usr/local/ProDB/bin" - -service_config_dir="/etc/systemd/system" -nginx_port=6060 -nginx_dir="/usr/local/nginxd" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact hanatech.com.cn for support." - os_type=1 -fi - - -# ============================= get input parameters ================================================= - -# install.sh -v [server | client] -e [yes | no] -i [systemd | service | ...] - -# set parameters by default value -interactiveFqdn=yes # [yes | no] -verType=server # [server | client] -initType=systemd # [systemd | service | ...] - -while getopts "hv:e:i:" arg -do - case $arg in - e) - #echo "interactiveFqdn=$OPTARG" - interactiveFqdn=$( echo $OPTARG ) - ;; - v) - #echo "verType=$OPTARG" - verType=$(echo $OPTARG) - ;; - i) - #echo "initType=$OPTARG" - initType=$(echo $OPTARG) - ;; - h) - echo "Usage: `basename $0` -v [server | client] -e [yes | no]" - exit 0 - ;; - ?) #unknow option - echo "unkonw argument" - exit 1 - ;; - esac -done - -function kill_process() { - pid=$(ps -ef | grep "$1" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin -# ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver -# ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d - if [ "$verMode" == "cluster" ]; then - ${csudo}mkdir -p ${nginx_dir} - fi -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/prodbc || : - ${csudo}rm -f ${bin_link_dir}/prodbs || : - ${csudo}rm -f ${bin_link_dir}/prodemo || : - ${csudo}rm -f ${bin_link_dir}/rmprodb || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - ${csudo}rm -f ${bin_link_dir}/run_taosd.sh || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/prodbc ] && ${csudo}ln -s ${install_main_dir}/bin/prodbc ${bin_link_dir}/prodbc || : - [ -x ${install_main_dir}/bin/prodbs ] && ${csudo}ln -s ${install_main_dir}/bin/prodbs ${bin_link_dir}/prodbs || : - [ -x ${install_main_dir}/bin/prodemo ] && ${csudo}ln -s ${install_main_dir}/bin/prodemo ${bin_link_dir}/prodemo || : - [ -x ${install_main_dir}/bin/remove_pro.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_pro.sh ${bin_link_dir}/rmprodb || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : - [ -x ${install_main_dir}/bin/run_taosd.sh ] && ${csudo}ln -s ${install_main_dir}/bin/run_taosd.sh ${bin_link_dir}/run_taosd.sh || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : - - if [ "$verMode" == "cluster" ]; then - ${csudo}cp -r ${script_dir}/nginxd/* ${nginx_dir} && ${csudo}chmod 0555 ${nginx_dir}/* - ${csudo}mkdir -p ${nginx_dir}/logs - ${csudo}chmod 777 ${nginx_dir}/sbin/nginx - fi -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [[ -d ${lib64_link_dir} && ! -e ${lib64_link_dir}/libtaos.so ]]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - - if [ "$osType" != "Darwin" ]; then - ${csudo}ldconfig - else - ${csudo}update_dyld_shared_cache - fi -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_jemalloc() { - jemalloc_dir=${script_dir}/jemalloc - - if [ -d ${jemalloc_dir} ]; then - ${csudo}/usr/bin/install -c -d /usr/local/bin - - if [ -f ${jemalloc_dir}/bin/jemalloc-config ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc-config /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jemalloc.sh ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc.sh /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jeprof ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jeprof /usr/local/bin - fi - if [ -f ${jemalloc_dir}/include/jemalloc/jemalloc.h ]; then - ${csudo}/usr/bin/install -c -d /usr/local/include/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/include/jemalloc/jemalloc.h /usr/local/include/jemalloc - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc.so.2 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.so.2 /usr/local/lib - ${csudo}ln -sf libjemalloc.so.2 /usr/local/lib/libjemalloc.so - ${csudo}/usr/bin/install -c -d /usr/local/lib - if [ -f ${jemalloc_dir}/lib/libjemalloc.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc_pic.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib/pkgconfig - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/lib/pkgconfig/jemalloc.pc /usr/local/lib/pkgconfig - fi - fi - if [ -f ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/doc/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html /usr/local/share/doc/jemalloc - fi - if [ -f ${jemalloc_dir}/share/man/man3/jemalloc.3 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/man/man3 - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 - fi - - if [ -d /etc/ld.so.conf.d ]; then - echo "/usr/local/lib" | ${csudo}tee /etc/ld.so.conf.d/jemalloc.conf > /dev/null || echo -e "failed to write /etc/ld.so.conf.d/jemalloc.conf" - ${csudo}ldconfig - else - echo "/etc/ld.so.conf.d not found!" - fi - fi -} - -function add_newHostname_to_hosts() { - localIp="127.0.0.1" - OLD_IFS="$IFS" - IFS=" " - iphost=$(cat /etc/hosts | grep $1 | awk '{print $1}') - arr=($iphost) - IFS="$OLD_IFS" - for s in "${arr[@]}" - do - if [[ "$s" == "$localIp" ]]; then - return - fi - done - ${csudo}echo "127.0.0.1 $1" >> /etc/hosts ||: -} - -function set_hostname() { - echo -e -n "${GREEN}Please enter one hostname(must not be 'localhost')${NC}:" - read newHostname - while true; do - if [[ ! -z "$newHostname" && "$newHostname" != "localhost" ]]; then - break - else - read -p "Please enter one hostname(must not be 'localhost'):" newHostname - fi - done - - ${csudo}hostname $newHostname ||: - retval=`echo $?` - if [[ $retval != 0 ]]; then - echo - echo "set hostname fail!" - return - fi - - #ubuntu/centos /etc/hostname - if [[ -e /etc/hostname ]]; then - ${csudo}echo $newHostname > /etc/hostname ||: - fi - - #debian: #HOSTNAME=yourname - if [[ -e /etc/sysconfig/network ]]; then - ${csudo}sed -i -r "s/#*\s*(HOSTNAME=\s*).*/\1$newHostname/" /etc/sysconfig/network ||: - fi - - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$newHostname/" ${cfg_install_dir}/prodb.cfg - serverFqdn=$newHostname - - if [[ -e /etc/hosts ]]; then - add_newHostname_to_hosts $newHostname - fi -} - -function is_correct_ipaddr() { - newIp=$1 - OLD_IFS="$IFS" - IFS=" " - arr=($iplist) - IFS="$OLD_IFS" - for s in "${arr[@]}" - do - if [[ "$s" == "$newIp" ]]; then - return 0 - fi - done - - return 1 -} - -function set_ipAsFqdn() { - iplist=$(ip address |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F "/" '{print $1}') ||: - if [ -z "$iplist" ]; then - iplist=$(ifconfig |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F ":" '{print $2}') ||: - fi - - if [ -z "$iplist" ]; then - echo - echo -e -n "${GREEN}Unable to get local ip, use 127.0.0.1${NC}" - localFqdn="127.0.0.1" - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/prodb.cfg - serverFqdn=$localFqdn - echo - return - fi - - echo -e -n "${GREEN}Please choose an IP from local IP list${NC}:" - echo - echo -e -n "${GREEN}$iplist${NC}" - echo - echo - echo -e -n "${GREEN}Notes: if IP is used as the node name, data can NOT be migrated to other machine directly${NC}:" - read localFqdn - while true; do - if [ ! -z "$localFqdn" ]; then - # Check if correct ip address - is_correct_ipaddr $localFqdn - retval=`echo $?` - if [[ $retval != 0 ]]; then - read -p "Please choose an IP from local IP list:" localFqdn - else - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/prodb.cfg - serverFqdn=$localFqdn - break - fi - else - read -p "Please choose an IP from local IP list:" localFqdn - fi - done -} - -function local_fqdn_check() { - #serverFqdn=$(hostname) - echo - echo -e -n "System hostname is: ${GREEN}$serverFqdn${NC}" - echo - if [[ "$serverFqdn" == "" ]] || [[ "$serverFqdn" == "localhost" ]]; then - echo -e -n "${GREEN}It is strongly recommended to configure a hostname for this machine ${NC}" - echo - - while true - do - read -r -p "Set hostname now? [Y/n] " input - if [ ! -n "$input" ]; then - set_hostname - break - else - case $input in - [yY][eE][sS]|[yY]) - set_hostname - break - ;; - - [nN][oO]|[nN]) - set_ipAsFqdn - break - ;; - - *) - echo "Invalid input..." - ;; - esac - fi - done - fi -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/prodb.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/prodb.cfg ] && ${csudo}cp ${script_dir}/cfg/prodb.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/prodb.cfg ${install_main_dir}/cfg/prodb.cfg.org - ${csudo}ln -s ${cfg_install_dir}/prodb.cfg ${install_main_dir}/cfg - - [ ! -z $1 ] && return 0 || : # only install client - - if ((${update_flag}==1)); then - return 0 - fi - - if [ "$interactiveFqdn" == "no" ]; then - return 0 - fi - - local_fqdn_check - - #FQDN_FORMAT="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" - #FQDN_FORMAT="(:[1-6][0-9][0-9][0-9][0-9]$)" - #PORT_FORMAT="(/[1-6][0-9][0-9][0-9][0-9]?/)" - #FQDN_PATTERN=":[0-9]{1,5}$" - - # first full-qualified domain name (FQDN) for ProDB cluster system - echo - echo -e -n "${GREEN}Enter FQDN:port (like h1.hanatech.com.cn:6030) of an existing ProDB cluster node to join${NC}" - echo - echo -e -n "${GREEN}OR leave it blank to build one${NC}:" - read firstEp - while true; do - if [ ! -z "$firstEp" ]; then - # check the format of the firstEp - #if [[ $firstEp == $FQDN_PATTERN ]]; then - # Write the first FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(firstEp\s*).*/\1$firstEp/" ${cfg_install_dir}/prodb.cfg - break - #else - # read -p "Please enter the correct FQDN:port: " firstEp - #fi - else - break - fi - done -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_data() { - ${csudo}mkdir -p ${data_dir} - - ${csudo}ln -s ${data_dir} ${install_main_dir}/data -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function clean_service_on_sysvinit() { - if pidof prodbs &> /dev/null; then - ${csudo}service prodbs stop || : - fi - - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/prodbs ]; then - ${csudo}chkconfig --del prodbs || : - fi - - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/prodbs ]; then - ${csudo}insserv -r prodbs || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/prodbs ]; then - ${csudo}update-rc.d -f prodbs remove || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/prodbs || : - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install prodbs service - - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/prodbs.deb ${install_main_dir}/init.d/prodbs - ${csudo}cp ${script_dir}/init.d/prodbs.deb ${service_config_dir}/prodbs && ${csudo}chmod a+x ${service_config_dir}/prodbs - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/prodbs.rpm ${install_main_dir}/init.d/prodbs - ${csudo}cp ${script_dir}/init.d/prodbs.rpm ${service_config_dir}/prodbs && ${csudo}chmod a+x ${service_config_dir}/prodbs - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add prodbs || : - ${csudo}chkconfig --level 2345 prodbs on || : - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv prodbs || : - ${csudo}insserv -d prodbs || : - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d prodbs defaults || : - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - prodbs_service_config="${service_config_dir}/prodbs.service" - if systemctl is-active --quiet prodbs; then - echo "ProDB is running, stopping it..." - ${csudo}systemctl stop prodbs &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable prodbs &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${prodbs_service_config} - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${tarbitratord_service_config} - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - if systemctl is-active --quiet nginxd; then - echo "Nginx for ProDB is running, stopping it..." - ${csudo}systemctl stop nginxd &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable nginxd &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${nginx_service_config} - fi -} - -function install_service_on_systemd() { - clean_service_on_systemd - - prodbs_service_config="${service_config_dir}/prodbs.service" - ${csudo}bash -c "echo '[Unit]' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'Description=ProDB server service' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${prodbs_service_config}" - ${csudo}bash -c "echo >> ${prodbs_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/prodbs' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'ExecStartPre=/usr/local/ProDB/bin/startPre.sh' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${prodbs_service_config}" - ${csudo}bash -c "echo >> ${prodbs_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${prodbs_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${prodbs_service_config}" - ${csudo}systemctl enable prodbs - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=ProDB arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - #${csudo}systemctl enable tarbitratord - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - ${csudo}bash -c "echo '[Unit]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Description=Nginx For PowrDB Service' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Type=forking' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'PIDFile=/usr/local/nginxd/logs/nginx.pid' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/local/nginxd/sbin/nginx' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStop=/usr/local/nginxd/sbin/nginx -s stop' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${nginx_service_config}" - if ! ${csudo}systemctl enable nginxd &> /dev/null; then - ${csudo}systemctl daemon-reexec - ${csudo}systemctl enable nginxd - fi - ${csudo}systemctl start nginxd - fi -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - # must manual stop prodbs - kill_process prodbs - fi -} - -vercomp () { - if [[ $1 == $2 ]]; then - return 0 - fi - local IFS=. - local i ver1=($1) ver2=($2) - # fill empty fields in ver1 with zeros - for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do - ver1[i]=0 - done - - for ((i=0; i<${#ver1[@]}; i++)); do - if [[ -z ${ver2[i]} ]] - then - # fill empty fields in ver2 with zeros - ver2[i]=0 - fi - if ((10#${ver1[i]} > 10#${ver2[i]})) - then - return 1 - fi - if ((10#${ver1[i]} < 10#${ver2[i]})) - then - return 2 - fi - done - return 0 -} - -function is_version_compatible() { - curr_version=`ls ${script_dir}/driver/libtaos.so* |cut -d '.' -f 3-6` - - if [ -f ${script_dir}/driver/vercomp.txt ]; then - min_compatible_version=`cat ${script_dir}/driver/vercomp.txt` - else - min_compatible_version=$(${script_dir}/bin/prodbs -V | head -1 | cut -d ' ' -f 5) - fi - - vercomp $curr_version $min_compatible_version - case $? in - 0) return 0;; - 1) return 0;; - 2) return 1;; - esac -} - -function update_prodb() { - # Start to update - if [ ! -e prodb.tar.gz ]; then - echo "File prodb.tar.gz does not exist" - exit 1 - fi - tar -zxf prodb.tar.gz - install_jemalloc - - # Check if version compatible - if ! is_version_compatible; then - echo -e "${RED}Version incompatible${NC}" - return 1 - fi - - echo -e "${GREEN}Start to update ProDB...${NC}" - # Stop the service if running - if pidof prodbs &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop prodbs || : - elif ((${service_mod}==1)); then - ${csudo}service prodbs stop || : - else - kill_process prodbs - fi - sleep 1 - fi - if [ "$verMode" == "cluster" ]; then - if pidof nginx &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop nginxd || : - elif ((${service_mod}==1)); then - ${csudo}service nginxd stop || : - else - kill_process nginx - fi - sleep 1 - fi - fi - - install_main_path - - install_log - install_header - install_lib -# if [ "$pagMode" != "lite" ]; then -# install_connector -# fi -# install_examples - if [ -z $1 ]; then - install_bin - install_service - install_config - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if openresty is installed - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for ProDB is updated successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for ProDB does not work! Please try again!\033[0m" - fi - fi - fi - - #echo - #echo -e "\033[44;32;1mProDB is updated successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure ProDB ${NC}: edit /etc/ProDB/prodb.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start ProDB ${NC}: ${csudo}systemctl start prodbs${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start ProDB ${NC}: ${csudo}service prodbs start${NC}" - else - echo -e "${GREEN_DARK}To start ProDB ${NC}: ./prodbs${NC}" - fi - - if [ ${openresty_work} = 'true' ]; then - echo -e "${GREEN_DARK}To access ProDB ${NC}: use ${GREEN_UNDERLINE}prodbc -h $serverFqdn${NC} in shell OR from ${GREEN_UNDERLINE}http://127.0.0.1:${nginx_port}${NC}" - else - echo -e "${GREEN_DARK}To access ProDB ${NC}: use ${GREEN_UNDERLINE}prodbc -h $serverFqdn${NC} in shell${NC}" - fi - - echo - echo -e "\033[44;32;1mProDB is updated successfully!${NC}" - else - install_bin - install_config - - echo - echo -e "\033[44;32;1mProDB client is updated successfully!${NC}" - fi - - rm -rf $(tar -tf prodb.tar.gz) -} - -function install_prodb() { - # Start to install - if [ ! -e prodb.tar.gz ]; then - echo "File prodb.tar.gz does not exist" - exit 1 - fi - tar -zxf prodb.tar.gz - - echo -e "${GREEN}Start to install ProDB...${NC}" - - install_main_path - - if [ -z $1 ]; then - install_data - fi - - install_log - install_header - install_lib - install_jemalloc -# if [ "$pagMode" != "lite" ]; then -# install_connector -# fi -# install_examples - - if [ -z $1 ]; then # install service and client - # For installing new - install_bin - install_service - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for ProDB is installed successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for ProDB does not work! Please try again!\033[0m" - fi - fi - fi - - install_config - - # Ask if to start the service - #echo - #echo -e "\033[44;32;1mProDB is installed successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure ProDB ${NC}: edit /etc/ProDB/prodb.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start ProDB ${NC}: ${csudo}systemctl start prodbs${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start ProDB ${NC}: ${csudo}service prodbs start${NC}" - else - echo -e "${GREEN_DARK}To start ProDB ${NC}: prodbs${NC}" - fi - - if [ ! -z "$firstEp" ]; then - tmpFqdn=${firstEp%%:*} - substr=":" - if [[ $firstEp =~ $substr ]];then - tmpPort=${firstEp#*:} - else - tmpPort="" - fi - if [[ "$tmpPort" != "" ]];then - echo -e "${GREEN_DARK}To access ProDB ${NC}: prodbc -h $tmpFqdn -P $tmpPort${GREEN_DARK} to login into cluster, then${NC}" - else - echo -e "${GREEN_DARK}To access ProDB ${NC}: prodbc -h $tmpFqdn${GREEN_DARK} to login into cluster, then${NC}" - fi - echo -e "${GREEN_DARK}execute ${NC}: create dnode 'newDnodeFQDN:port'; ${GREEN_DARK}to add this new node${NC}" - echo - elif [ ! -z "$serverFqdn" ]; then - echo -e "${GREEN_DARK}To access ProDB ${NC}: prodbc -h $serverFqdn${GREEN_DARK} to login into ProDB server${NC}" - echo - fi - echo -e "\033[44;32;1mProDB is installed successfully!${NC}" - echo - else # Only install client - install_bin - install_config - - echo - echo -e "\033[44;32;1mProDB client is installed successfully!${NC}" - fi - - rm -rf $(tar -tf prodb.tar.gz) -} - - -## ==============================Main program starts from here============================ -serverFqdn=$(hostname) -if [ "$verType" == "server" ]; then - # Install server and client - if [ -x ${bin_dir}/prodbs ]; then - update_flag=1 - update_prodb - else - install_prodb - fi -elif [ "$verType" == "client" ]; then - interactiveFqdn=no - # Only install client - if [ -x ${bin_dir}/prodbc ]; then - update_flag=1 - update_prodb client - else - install_prodb client - fi -else - echo "please input correct verType" -fi diff --git a/packaging/tools/install_tq.sh b/packaging/tools/install_tq.sh deleted file mode 100755 index e74d5c7c4576f96608bc8a727b97aa84b9626817..0000000000000000000000000000000000000000 --- a/packaging/tools/install_tq.sh +++ /dev/null @@ -1,971 +0,0 @@ -#!/bin/bash -# -# This file is used to install database on linux systems. The operating system -# is required to use systemd to manage services at boot - -set -e -#set -x - -verMode=edge -pagMode=full - -iplist="" -serverFqdn="" -# -----------------------Variables definition--------------------- -script_dir=$(dirname $(readlink -f "$0")) -# Dynamic directory -data_dir="/var/lib/tq" -log_dir="/var/log/tq" - -data_link_dir="/usr/local/tq/data" -log_link_dir="/usr/local/tq/log" - -cfg_install_dir="/etc/tq" - -bin_link_dir="/usr/bin" -lib_link_dir="/usr/lib" -lib64_link_dir="/usr/lib64" -inc_link_dir="/usr/include" - -#install main path -install_main_dir="/usr/local/tq" - -# old bin dir -bin_dir="/usr/local/tq/bin" - -# v1.5 jar dir -#v15_java_app_dir="/usr/local/lib/tq" - -service_config_dir="/etc/systemd/system" -nginx_port=6060 -nginx_dir="/usr/local/nginxd" - -# Color setting -RED='\033[0;31m' -GREEN='\033[1;32m' -GREEN_DARK='\033[0;32m' -GREEN_UNDERLINE='\033[4;32m' -NC='\033[0m' - -csudo="" -if command -v sudo > /dev/null; then - csudo="sudo " -fi - -update_flag=0 - -initd_mod=0 -service_mod=2 -if pidof systemd &> /dev/null; then - service_mod=0 -elif $(which service &> /dev/null); then - service_mod=1 - service_config_dir="/etc/init.d" - if $(which chkconfig &> /dev/null); then - initd_mod=1 - elif $(which insserv &> /dev/null); then - initd_mod=2 - elif $(which update-rc.d &> /dev/null); then - initd_mod=3 - else - service_mod=2 - fi -else - service_mod=2 -fi - - -# get the operating system type for using the corresponding init file -# ubuntu/debian(deb), centos/fedora(rpm), others: opensuse, redhat, ..., no verification -#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release) -if [[ -e /etc/os-release ]]; then - osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2) ||: -else - osinfo="" -fi -#echo "osinfo: ${osinfo}" -os_type=0 -if echo $osinfo | grep -qwi "ubuntu" ; then -# echo "This is ubuntu system" - os_type=1 -elif echo $osinfo | grep -qwi "debian" ; then -# echo "This is debian system" - os_type=1 -elif echo $osinfo | grep -qwi "Kylin" ; then -# echo "This is Kylin system" - os_type=1 -elif echo $osinfo | grep -qwi "centos" ; then -# echo "This is centos system" - os_type=2 -elif echo $osinfo | grep -qwi "fedora" ; then -# echo "This is fedora system" - os_type=2 -else - echo " osinfo: ${osinfo}" - echo " This is an officially unverified linux system," - echo " if there are any problems with the installation and operation, " - echo " please feel free to contact taosdata.com for support." - os_type=1 -fi - - -# ============================= get input parameters ================================================= - -# install.sh -v [server | client] -e [yes | no] -i [systemd | service | ...] - -# set parameters by default value -interactiveFqdn=yes # [yes | no] -verType=server # [server | client] -initType=systemd # [systemd | service | ...] - -while getopts "hv:e:i:" arg -do - case $arg in - e) - #echo "interactiveFqdn=$OPTARG" - interactiveFqdn=$( echo $OPTARG ) - ;; - v) - #echo "verType=$OPTARG" - verType=$(echo $OPTARG) - ;; - i) - #echo "initType=$OPTARG" - initType=$(echo $OPTARG) - ;; - h) - echo "Usage: `basename $0` -v [server | client] -e [yes | no]" - exit 0 - ;; - ?) #unknow option - echo "unkonw argument" - exit 1 - ;; - esac -done - -#echo "verType=${verType} interactiveFqdn=${interactiveFqdn}" - -function kill_process() { - pid=$(ps -ef | grep "$1" | grep -v "grep" | awk '{print $2}') - if [ -n "$pid" ]; then - ${csudo}kill -9 $pid || : - fi -} - -function install_main_path() { - #create install main dir and all sub dir - ${csudo}rm -rf ${install_main_dir} || : - ${csudo}mkdir -p ${install_main_dir} - ${csudo}mkdir -p ${install_main_dir}/cfg - ${csudo}mkdir -p ${install_main_dir}/bin - ${csudo}mkdir -p ${install_main_dir}/connector - ${csudo}mkdir -p ${install_main_dir}/driver - ${csudo}mkdir -p ${install_main_dir}/examples - ${csudo}mkdir -p ${install_main_dir}/include - ${csudo}mkdir -p ${install_main_dir}/init.d - if [ "$verMode" == "cluster" ]; then - ${csudo}mkdir -p ${nginx_dir} - fi -} - -function install_bin() { - # Remove links - ${csudo}rm -f ${bin_link_dir}/tq || : - ${csudo}rm -f ${bin_link_dir}/tqd || : - ${csudo}rm -f ${bin_link_dir}/tqdemo || : - ${csudo}rm -f ${bin_link_dir}/rmtq || : - ${csudo}rm -f ${bin_link_dir}/tarbitrator || : - ${csudo}rm -f ${bin_link_dir}/set_core || : - ${csudo}rm -f ${bin_link_dir}/run_taosd.sh || : - - ${csudo}cp -r ${script_dir}/bin/* ${install_main_dir}/bin && ${csudo}chmod 0555 ${install_main_dir}/bin/* - - #Make link - [ -x ${install_main_dir}/bin/tq ] && ${csudo}ln -s ${install_main_dir}/bin/tq ${bin_link_dir}/tq || : - [ -x ${install_main_dir}/bin/tqd ] && ${csudo}ln -s ${install_main_dir}/bin/tqd ${bin_link_dir}/tqd || : - [ -x ${install_main_dir}/bin/tqdemo ] && ${csudo}ln -s ${install_main_dir}/bin/tqdemo ${bin_link_dir}/tqdemo || : - [ -x ${install_main_dir}/bin/remove_tq.sh ] && ${csudo}ln -s ${install_main_dir}/bin/remove_tq.sh ${bin_link_dir}/rmtq || : - [ -x ${install_main_dir}/bin/set_core.sh ] && ${csudo}ln -s ${install_main_dir}/bin/set_core.sh ${bin_link_dir}/set_core || : - [ -x ${install_main_dir}/bin/run_taosd.sh ] && ${csudo}ln -s ${install_main_dir}/bin/run_taosd.sh ${bin_link_dir}/run_taosd.sh || : - [ -x ${install_main_dir}/bin/tarbitrator ] && ${csudo}ln -s ${install_main_dir}/bin/tarbitrator ${bin_link_dir}/tarbitrator || : - - if [ "$verMode" == "cluster" ]; then - ${csudo}cp -r ${script_dir}/nginxd/* ${nginx_dir} && ${csudo}chmod 0555 ${nginx_dir}/* - ${csudo}mkdir -p ${nginx_dir}/logs - ${csudo}chmod 777 ${nginx_dir}/sbin/nginx - fi -} - -function install_lib() { - # Remove links - ${csudo}rm -f ${lib_link_dir}/libtaos.* || : - ${csudo}rm -f ${lib64_link_dir}/libtaos.* || : - #${csudo}rm -rf ${v15_java_app_dir} || : - ${csudo}cp -rf ${script_dir}/driver/* ${install_main_dir}/driver && ${csudo}chmod 777 ${install_main_dir}/driver/* - - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib_link_dir}/libtaos.so.1 - ${csudo}ln -s ${lib_link_dir}/libtaos.so.1 ${lib_link_dir}/libtaos.so - - if [[ -d ${lib64_link_dir} && ! -e ${lib64_link_dir}/libtaos.so ]]; then - ${csudo}ln -s ${install_main_dir}/driver/libtaos.* ${lib64_link_dir}/libtaos.so.1 || : - ${csudo}ln -s ${lib64_link_dir}/libtaos.so.1 ${lib64_link_dir}/libtaos.so || : - fi - - ${csudo}ldconfig -} - -function install_header() { - ${csudo}rm -f ${inc_link_dir}/taos.h ${inc_link_dir}/taosdef.h ${inc_link_dir}/taoserror.h || : - ${csudo}cp -f ${script_dir}/inc/* ${install_main_dir}/include && ${csudo}chmod 644 ${install_main_dir}/include/* - ${csudo}ln -s ${install_main_dir}/include/taos.h ${inc_link_dir}/taos.h - ${csudo}ln -s ${install_main_dir}/include/taosdef.h ${inc_link_dir}/taosdef.h - ${csudo}ln -s ${install_main_dir}/include/taoserror.h ${inc_link_dir}/taoserror.h -} - -function install_jemalloc() { - jemalloc_dir=${script_dir}/jemalloc - - if [ -d ${jemalloc_dir} ]; then - ${csudo}/usr/bin/install -c -d /usr/local/bin - - if [ -f ${jemalloc_dir}/bin/jemalloc-config ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc-config /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jemalloc.sh ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jemalloc.sh /usr/local/bin - fi - if [ -f ${jemalloc_dir}/bin/jeprof ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/bin/jeprof /usr/local/bin - fi - if [ -f ${jemalloc_dir}/include/jemalloc/jemalloc.h ]; then - ${csudo}/usr/bin/install -c -d /usr/local/include/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/include/jemalloc/jemalloc.h /usr/local/include/jemalloc - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc.so.2 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.so.2 /usr/local/lib - ${csudo}ln -sf libjemalloc.so.2 /usr/local/lib/libjemalloc.so - ${csudo}/usr/bin/install -c -d /usr/local/lib - if [ -f ${jemalloc_dir}/lib/libjemalloc.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -m 755 ${jemalloc_dir}/lib/libjemalloc_pic.a /usr/local/lib - fi - if [ -f ${jemalloc_dir}/lib/libjemalloc_pic.a ]; then - ${csudo}/usr/bin/install -c -d /usr/local/lib/pkgconfig - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/lib/pkgconfig/jemalloc.pc /usr/local/lib/pkgconfig - fi - fi - if [ -f ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/doc/jemalloc - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/doc/jemalloc/jemalloc.html /usr/local/share/doc/jemalloc - fi - if [ -f ${jemalloc_dir}/share/man/man3/jemalloc.3 ]; then - ${csudo}/usr/bin/install -c -d /usr/local/share/man/man3 - ${csudo}/usr/bin/install -c -m 644 ${jemalloc_dir}/share/man/man3/jemalloc.3 /usr/local/share/man/man3 - fi - - if [ -d /etc/ld.so.conf.d ]; then - echo "/usr/local/lib" | ${csudo}tee /etc/ld.so.conf.d/jemalloc.conf > /dev/null || echo -e "failed to write ld.so.conf.d/jemalloc.conf" - ${csudo}ldconfig - else - echo "/etc/ld.so.conf.d not found!" - fi - fi -} - -function add_newHostname_to_hosts() { - localIp="127.0.0.1" - OLD_IFS="$IFS" - IFS=" " - iphost=$(cat /etc/hosts | grep $1 | awk '{print $1}') - arr=($iphost) - IFS="$OLD_IFS" - for s in "${arr[@]}" - do - if [[ "$s" == "$localIp" ]]; then - return - fi - done - ${csudo}echo "127.0.0.1 $1" >> /etc/hosts ||: -} - -function set_hostname() { - echo -e -n "${GREEN}Please enter one hostname(must not be 'localhost')${NC}:" - read newHostname - while true; do - if [[ ! -z "$newHostname" && "$newHostname" != "localhost" ]]; then - break - else - read -p "Please enter one hostname(must not be 'localhost'):" newHostname - fi - done - - ${csudo}hostname $newHostname ||: - retval=`echo $?` - if [[ $retval != 0 ]]; then - echo - echo "set hostname fail!" - return - fi - #echo -e -n "$(hostnamectl status --static)" - #echo -e -n "$(hostnamectl status --transient)" - #echo -e -n "$(hostnamectl status --pretty)" - - #ubuntu/centos /etc/hostname - if [[ -e /etc/hostname ]]; then - ${csudo}echo $newHostname > /etc/hostname ||: - fi - - #debian: #HOSTNAME=yourname - if [[ -e /etc/sysconfig/network ]]; then - ${csudo}sed -i -r "s/#*\s*(HOSTNAME=\s*).*/\1$newHostname/" /etc/sysconfig/network ||: - fi - - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$newHostname/" ${cfg_install_dir}/tq.cfg - serverFqdn=$newHostname - - if [[ -e /etc/hosts ]]; then - add_newHostname_to_hosts $newHostname - fi -} - -function is_correct_ipaddr() { - newIp=$1 - OLD_IFS="$IFS" - IFS=" " - arr=($iplist) - IFS="$OLD_IFS" - for s in "${arr[@]}" - do - if [[ "$s" == "$newIp" ]]; then - return 0 - fi - done - - return 1 -} - -function set_ipAsFqdn() { - iplist=$(ip address |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F "/" '{print $1}') ||: - if [ -z "$iplist" ]; then - iplist=$(ifconfig |grep inet |grep -v inet6 |grep -v 127.0.0.1 |awk '{print $2}' |awk -F ":" '{print $2}') ||: - fi - - if [ -z "$iplist" ]; then - echo - echo -e -n "${GREEN}Unable to get local ip, use 127.0.0.1${NC}" - localFqdn="127.0.0.1" - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/tq.cfg - serverFqdn=$localFqdn - echo - return - fi - - echo -e -n "${GREEN}Please choose an IP from local IP list${NC}:" - echo - echo -e -n "${GREEN}$iplist${NC}" - echo - echo - echo -e -n "${GREEN}Notes: if IP is used as the node name, data can NOT be migrated to other machine directly${NC}:" - read localFqdn - while true; do - if [ ! -z "$localFqdn" ]; then - # Check if correct ip address - is_correct_ipaddr $localFqdn - retval=`echo $?` - if [[ $retval != 0 ]]; then - read -p "Please choose an IP from local IP list:" localFqdn - else - # Write the local FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(fqdn\s*).*/\1$localFqdn/" ${cfg_install_dir}/tq.cfg - serverFqdn=$localFqdn - break - fi - else - read -p "Please choose an IP from local IP list:" localFqdn - fi - done -} - -function local_fqdn_check() { - #serverFqdn=$(hostname) - echo - echo -e -n "System hostname is: ${GREEN}$serverFqdn${NC}" - echo - if [[ "$serverFqdn" == "" ]] || [[ "$serverFqdn" == "localhost" ]]; then - echo -e -n "${GREEN}It is strongly recommended to configure a hostname for this machine ${NC}" - echo - - while true - do - read -r -p "Set hostname now? [Y/n] " input - if [ ! -n "$input" ]; then - set_hostname - break - else - case $input in - [yY][eE][sS]|[yY]) - set_hostname - break - ;; - - [nN][oO]|[nN]) - set_ipAsFqdn - break - ;; - - *) - echo "Invalid input..." - ;; - esac - fi - done - fi -} - -function install_config() { - if [ ! -f ${cfg_install_dir}/tq.cfg ]; then - ${csudo}mkdir -p ${cfg_install_dir} - [ -f ${script_dir}/cfg/tq.cfg ] && ${csudo}cp ${script_dir}/cfg/tq.cfg ${cfg_install_dir} - ${csudo}chmod 644 ${cfg_install_dir}/* - fi - - ${csudo}cp -f ${script_dir}/cfg/tq.cfg ${install_main_dir}/cfg/tq.cfg.org - ${csudo}ln -s ${cfg_install_dir}/tq.cfg ${install_main_dir}/cfg - - [ ! -z $1 ] && return 0 || : # only install client - - if ((${update_flag}==1)); then - return 0 - fi - - if [ "$interactiveFqdn" == "no" ]; then - return 0 - fi - - local_fqdn_check - - #FQDN_FORMAT="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" - #FQDN_FORMAT="(:[1-6][0-9][0-9][0-9][0-9]$)" - #PORT_FORMAT="(/[1-6][0-9][0-9][0-9][0-9]?/)" - #FQDN_PATTERN=":[0-9]{1,5}$" - - # first full-qualified domain name (FQDN) for TQ cluster system - echo - echo -e -n "${GREEN}Enter FQDN:port (like h1.taosdata.com:6030) of an existing TQ cluster node to join${NC}" - echo - echo -e -n "${GREEN}OR leave it blank to build one${NC}:" - read firstEp - while true; do - if [ ! -z "$firstEp" ]; then - # check the format of the firstEp - #if [[ $firstEp == $FQDN_PATTERN ]]; then - # Write the first FQDN to configuration file - ${csudo}sed -i -r "s/#*\s*(firstEp\s*).*/\1$firstEp/" ${cfg_install_dir}/tq.cfg - break - #else - # read -p "Please enter the correct FQDN:port: " firstEp - #fi - else - break - fi - done -} - - -function install_log() { - ${csudo}rm -rf ${log_dir} || : - ${csudo}mkdir -p ${log_dir} && ${csudo}chmod 777 ${log_dir} - - ${csudo}ln -s ${log_dir} ${install_main_dir}/log -} - -function install_data() { - ${csudo}mkdir -p ${data_dir} - - ${csudo}ln -s ${data_dir} ${install_main_dir}/data -} - -function install_connector() { - ${csudo}cp -rf ${script_dir}/connector/* ${install_main_dir}/connector -} - -function install_examples() { - if [ -d ${script_dir}/examples ]; then - ${csudo}cp -rf ${script_dir}/examples/* ${install_main_dir}/examples - fi -} - -function clean_service_on_sysvinit() { - #restart_config_str="tq:2345:respawn:${service_config_dir}/tqd start" - #${csudo}sed -i "\|${restart_config_str}|d" /etc/inittab || : - - if pidof tqd &> /dev/null; then - ${csudo}service tqd stop || : - fi - - if pidof tarbitrator &> /dev/null; then - ${csudo}service tarbitratord stop || : - fi - - if ((${initd_mod}==1)); then - if [ -e ${service_config_dir}/tqd ]; then - ${csudo}chkconfig --del tqd || : - fi - - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}chkconfig --del tarbitratord || : - fi - elif ((${initd_mod}==2)); then - if [ -e ${service_config_dir}/tqd ]; then - ${csudo}insserv -r tqd || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}insserv -r tarbitratord || : - fi - elif ((${initd_mod}==3)); then - if [ -e ${service_config_dir}/tqd ]; then - ${csudo}update-rc.d -f tqd remove || : - fi - if [ -e ${service_config_dir}/tarbitratord ]; then - ${csudo}update-rc.d -f tarbitratord remove || : - fi - fi - - ${csudo}rm -f ${service_config_dir}/tqd || : - ${csudo}rm -f ${service_config_dir}/tarbitratord || : - - if $(which init &> /dev/null); then - ${csudo}init q || : - fi -} - -function install_service_on_sysvinit() { - clean_service_on_sysvinit - sleep 1 - - # Install tqd service - - if ((${os_type}==1)); then - ${csudo}cp -f ${script_dir}/init.d/tqd.deb ${install_main_dir}/init.d/tqd - ${csudo}cp ${script_dir}/init.d/tqd.deb ${service_config_dir}/tqd && ${csudo}chmod a+x ${service_config_dir}/tqd - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.deb ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.deb ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - elif ((${os_type}==2)); then - ${csudo}cp -f ${script_dir}/init.d/tqd.rpm ${install_main_dir}/init.d/tqd - ${csudo}cp ${script_dir}/init.d/tqd.rpm ${service_config_dir}/tqd && ${csudo}chmod a+x ${service_config_dir}/tqd - ${csudo}cp -f ${script_dir}/init.d/tarbitratord.rpm ${install_main_dir}/init.d/tarbitratord - ${csudo}cp ${script_dir}/init.d/tarbitratord.rpm ${service_config_dir}/tarbitratord && ${csudo}chmod a+x ${service_config_dir}/tarbitratord - fi - - #restart_config_str="tq:2345:respawn:${service_config_dir}/tqd start" - #${csudo}grep -q -F "$restart_config_str" /etc/inittab || ${csudo}bash -c "echo '${restart_config_str}' >> /etc/inittab" - - if ((${initd_mod}==1)); then - ${csudo}chkconfig --add tqd || : - ${csudo}chkconfig --level 2345 tqd on || : - ${csudo}chkconfig --add tarbitratord || : - ${csudo}chkconfig --level 2345 tarbitratord on || : - elif ((${initd_mod}==2)); then - ${csudo}insserv tqd || : - ${csudo}insserv -d tqd || : - ${csudo}insserv tarbitratord || : - ${csudo}insserv -d tarbitratord || : - elif ((${initd_mod}==3)); then - ${csudo}update-rc.d tqd defaults || : - ${csudo}update-rc.d tarbitratord defaults || : - fi -} - -function clean_service_on_systemd() { - tqd_service_config="${service_config_dir}/tqd.service" - if systemctl is-active --quiet tqd; then - echo "TQ is running, stopping it..." - ${csudo}systemctl stop tqd &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tqd &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${tqd_service_config} - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - if systemctl is-active --quiet tarbitratord; then - echo "tarbitrator is running, stopping it..." - ${csudo}systemctl stop tarbitratord &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable tarbitratord &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${tarbitratord_service_config} - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - if systemctl is-active --quiet nginxd; then - echo "Nginx for TQ is running, stopping it..." - ${csudo}systemctl stop nginxd &> /dev/null || echo &> /dev/null - fi - ${csudo}systemctl disable nginxd &> /dev/null || echo &> /dev/null - ${csudo}rm -f ${nginx_service_config} - fi -} - -# tq:2345:respawn:/etc/init.d/tqd start - -function install_service_on_systemd() { - clean_service_on_systemd - - tqd_service_config="${service_config_dir}/tqd.service" - ${csudo}bash -c "echo '[Unit]' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'Description=TQ server service' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tqd_service_config}" - ${csudo}bash -c "echo >> ${tqd_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tqd' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'ExecStartPre=/usr/local/tq/bin/startPre.sh' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tqd_service_config}" - ${csudo}bash -c "echo >> ${tqd_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tqd_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tqd_service_config}" - ${csudo}systemctl enable tqd - - tarbitratord_service_config="${service_config_dir}/tarbitratord.service" - ${csudo}bash -c "echo '[Unit]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Description=TQ arbitrator service' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Type=simple' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/bin/tarbitrator' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${tarbitratord_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${tarbitratord_service_config}" - #${csudo}systemctl enable tarbitratord - - if [ "$verMode" == "cluster" ]; then - nginx_service_config="${service_config_dir}/nginxd.service" - ${csudo}bash -c "echo '[Unit]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Description=Nginx For PowrDB Service' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'After=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Wants=network-online.target' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Service]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Type=forking' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'PIDFile=/usr/local/nginxd/logs/nginx.pid' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStart=/usr/local/nginxd/sbin/nginx' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'ExecStop=/usr/local/nginxd/sbin/nginx -s stop' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStopSec=1000000s' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNOFILE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitNPROC=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'LimitCORE=infinity' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'TimeoutStartSec=0' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StandardOutput=null' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'Restart=always' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitBurst=3' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'StartLimitInterval=60s' >> ${nginx_service_config}" - ${csudo}bash -c "echo >> ${nginx_service_config}" - ${csudo}bash -c "echo '[Install]' >> ${nginx_service_config}" - ${csudo}bash -c "echo 'WantedBy=multi-user.target' >> ${nginx_service_config}" - if ! ${csudo}systemctl enable nginxd &> /dev/null; then - ${csudo}systemctl daemon-reexec - ${csudo}systemctl enable nginxd - fi - ${csudo}systemctl start nginxd - fi -} - -function install_service() { - if ((${service_mod}==0)); then - install_service_on_systemd - elif ((${service_mod}==1)); then - install_service_on_sysvinit - else - # must manual stop tqd - kill_process tqd - fi -} - -vercomp () { - if [[ $1 == $2 ]]; then - return 0 - fi - local IFS=. - local i ver1=($1) ver2=($2) - # fill empty fields in ver1 with zeros - for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do - ver1[i]=0 - done - - for ((i=0; i<${#ver1[@]}; i++)); do - if [[ -z ${ver2[i]} ]] - then - # fill empty fields in ver2 with zeros - ver2[i]=0 - fi - if ((10#${ver1[i]} > 10#${ver2[i]})) - then - return 1 - fi - if ((10#${ver1[i]} < 10#${ver2[i]})) - then - return 2 - fi - done - return 0 -} - -function is_version_compatible() { - - curr_version=`ls ${script_dir}/driver/libtaos.so* |cut -d '.' -f 3-6` - - if [ -f ${script_dir}/driver/vercomp.txt ]; then - min_compatible_version=`cat ${script_dir}/driver/vercomp.txt` - else - min_compatible_version=$(${script_dir}/bin/tqd -V | head -1 | cut -d ' ' -f 5) - fi - - vercomp $curr_version $min_compatible_version - case $? in - 0) return 0;; - 1) return 0;; - 2) return 1;; - esac -} - -function update_tq() { - # Start to update - if [ ! -e tq.tar.gz ]; then - echo "File tq.tar.gz does not exist" - exit 1 - fi - tar -zxf tq.tar.gz - install_jemalloc - - # Check if version compatible - if ! is_version_compatible; then - echo -e "${RED}Version incompatible${NC}" - return 1 - fi - - echo -e "${GREEN}Start to update TQ...${NC}" - # Stop the service if running - if pidof tqd &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop tqd || : - elif ((${service_mod}==1)); then - ${csudo}service tqd stop || : - else - kill_process tqd - fi - sleep 1 - fi - if [ "$verMode" == "cluster" ]; then - if pidof nginx &> /dev/null; then - if ((${service_mod}==0)); then - ${csudo}systemctl stop nginxd || : - elif ((${service_mod}==1)); then - ${csudo}service nginxd stop || : - else - kill_process nginx - fi - sleep 1 - fi - fi - - install_main_path - - install_log - install_header - install_lib - if [ "$pagMode" != "lite" ]; then - install_connector - fi - install_examples - if [ -z $1 ]; then - install_bin - install_service - install_config - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if openresty is installed - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for TQ is updated successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for TQ does not work! Please try again!\033[0m" - fi - fi - fi - - #echo - #echo -e "\033[44;32;1mTQ is updated successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure TQ ${NC}: edit /etc/tq/tq.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start TQ ${NC}: ${csudo}systemctl start tqd${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start TQ ${NC}: ${csudo}service tqd start${NC}" - else - echo -e "${GREEN_DARK}To start TQ ${NC}: ./tqd${NC}" - fi - - if [ ${openresty_work} = 'true' ]; then - echo -e "${GREEN_DARK}To access TQ ${NC}: use ${GREEN_UNDERLINE}tq -h $serverFqdn${NC} in shell OR from ${GREEN_UNDERLINE}http://127.0.0.1:${nginx_port}${NC}" - else - echo -e "${GREEN_DARK}To access TQ ${NC}: use ${GREEN_UNDERLINE}tq -h $serverFqdn${NC} in shell${NC}" - fi - - echo - echo -e "\033[44;32;1mTQ is updated successfully!${NC}" - else - install_bin - install_config - - echo - echo -e "\033[44;32;1mTQ client is updated successfully!${NC}" - fi - - rm -rf $(tar -tf tq.tar.gz) -} - -function install_tq() { - # Start to install - if [ ! -e tq.tar.gz ]; then - echo "File tq.tar.gz does not exist" - exit 1 - fi - tar -zxf tq.tar.gz - - echo -e "${GREEN}Start to install TQ...${NC}" - - install_main_path - - if [ -z $1 ]; then - install_data - fi - - install_log - install_header - install_lib - install_jemalloc - if [ "$pagMode" != "lite" ]; then - install_connector - fi - install_examples - - if [ -z $1 ]; then # install service and client - # For installing new - install_bin - install_service - - openresty_work=false - if [ "$verMode" == "cluster" ]; then - # Check if nginx is installed successfully - if type curl &> /dev/null; then - if curl -sSf http://127.0.0.1:${nginx_port} &> /dev/null; then - echo -e "\033[44;32;1mNginx for TQ is installed successfully!${NC}" - openresty_work=true - else - echo -e "\033[44;31;5mNginx for TQ does not work! Please try again!\033[0m" - fi - fi - fi - - install_config - - # Ask if to start the service - #echo - #echo -e "\033[44;32;1mTQ is installed successfully!${NC}" - echo - echo -e "${GREEN_DARK}To configure TQ ${NC}: edit /etc/tq/tq.cfg" - if ((${service_mod}==0)); then - echo -e "${GREEN_DARK}To start TQ ${NC}: ${csudo}systemctl start tqd${NC}" - elif ((${service_mod}==1)); then - echo -e "${GREEN_DARK}To start TQ ${NC}: ${csudo}service tqd start${NC}" - else - echo -e "${GREEN_DARK}To start TQ ${NC}: tqd${NC}" - fi - - #if [ ${openresty_work} = 'true' ]; then - # echo -e "${GREEN_DARK}To access TQ ${NC}: use ${GREEN_UNDERLINE}tq${NC} in shell OR from ${GREEN_UNDERLINE}http://127.0.0.1:${nginx_port}${NC}" - #else - # echo -e "${GREEN_DARK}To access TQ ${NC}: use ${GREEN_UNDERLINE}tq${NC} in shell${NC}" - #fi - - if [ ! -z "$firstEp" ]; then - tmpFqdn=${firstEp%%:*} - substr=":" - if [[ $firstEp =~ $substr ]];then - tmpPort=${firstEp#*:} - else - tmpPort="" - fi - if [[ "$tmpPort" != "" ]];then - echo -e "${GREEN_DARK}To access TQ ${NC}: tq -h $tmpFqdn -P $tmpPort${GREEN_DARK} to login into cluster, then${NC}" - else - echo -e "${GREEN_DARK}To access TQ ${NC}: tq -h $tmpFqdn${GREEN_DARK} to login into cluster, then${NC}" - fi - echo -e "${GREEN_DARK}execute ${NC}: create dnode 'newDnodeFQDN:port'; ${GREEN_DARK}to add this new node${NC}" - echo - elif [ ! -z "$serverFqdn" ]; then - echo -e "${GREEN_DARK}To access TQ ${NC}: tq -h $serverFqdn${GREEN_DARK} to login into TQ server${NC}" - echo - fi - echo -e "\033[44;32;1mTQ is installed successfully!${NC}" - echo - else # Only install client - install_bin - install_config - - echo - echo -e "\033[44;32;1mTQ client is installed successfully!${NC}" - fi - - rm -rf $(tar -tf tq.tar.gz) -} - - -## ==============================Main program starts from here============================ -serverFqdn=$(hostname) -if [ "$verType" == "server" ]; then - # Install server and client - if [ -x ${bin_dir}/tqd ]; then - update_flag=1 - update_tq - else - install_tq - fi -elif [ "$verType" == "client" ]; then - interactiveFqdn=no - # Only install client - if [ -x ${bin_dir}/tq ]; then - update_flag=1 - update_tq client - else - install_tq client - fi -else - echo "please input correct verType" -fi diff --git a/packaging/tools/makearbi_jh.sh b/packaging/tools/makearbi_jh.sh deleted file mode 100755 index 5457b163599421d0a5917156efde1c8814a6f514..0000000000000000000000000000000000000000 --- a/packaging/tools/makearbi_jh.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash -# -# Generate arbitrator's tar.gz setup package for all os system - -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -script_dir="$(dirname $(readlink -f $0))" -top_dir="$(readlink -f ${script_dir}/../..)" - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/jh_iot-enterprise-arbitrator-${version}" -else - install_dir="${release_dir}/jh_iot-arbitrator-${version}" -fi - -# Directories and files. -bin_files="${build_dir}/bin/tarbitrator ${script_dir}/remove_arbi_jh.sh" -install_files="${script_dir}/install_arbi_jh.sh" - -init_file_tarbitrator_deb=${script_dir}/../deb/tarbitratord -init_file_tarbitrator_rpm=${script_dir}/../rpm/tarbitratord - -# make directories. -mkdir -p ${install_dir} && cp ${install_files} ${install_dir} && chmod a+x ${install_dir}/install_arbi_jh.sh || : -mkdir -p ${install_dir}/bin && cp ${bin_files} ${install_dir}/bin && chmod a+x ${install_dir}/bin/* || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_deb} ${install_dir}/init.d/tarbitratord.deb || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_rpm} ${install_dir}/init.d/tarbitratord.rpm || : - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stabel or beta" - exit 1 -fi - -tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -exitcode=$? -if [ "$exitcode" != "0" ]; then - echo "tar ${pkg_name}.tar.gz error !!!" - exit $exitcode -fi - -cd ${curr_dir} diff --git a/packaging/tools/makearbi_kh.sh b/packaging/tools/makearbi_kh.sh deleted file mode 100755 index c7fa40eb4f1fc4003e6a584bdc5c4534616754d6..0000000000000000000000000000000000000000 --- a/packaging/tools/makearbi_kh.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# -# Generate arbitrator's tar.gz setup package for all os system - -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -script_dir="$(dirname $(readlink -f $0))" -top_dir="$(readlink -f ${script_dir}/../..)" - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/KingHistorian-enterprise-arbitrator-${version}" -else - install_dir="${release_dir}/KingHistorian-arbitrator-${version}" -fi - -# Directories and files. -bin_files="${build_dir}/bin/tarbitrator ${script_dir}/remove_arbi_kh.sh" -install_files="${script_dir}/install_arbi_kh.sh" - -init_file_tarbitrator_deb=${script_dir}/../deb/tarbitratord -init_file_tarbitrator_rpm=${script_dir}/../rpm/tarbitratord - -# make directories. -mkdir -p ${install_dir} && cp ${install_files} ${install_dir} && chmod a+x ${install_dir}/install_arbi_kh.sh || : -#mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc || : -mkdir -p ${install_dir}/bin && cp ${bin_files} ${install_dir}/bin && chmod a+x ${install_dir}/bin/* || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_deb} ${install_dir}/init.d/tarbitratord.deb || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_rpm} ${install_dir}/init.d/tarbitratord.rpm || : - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stabel or beta" - exit 1 -fi - -tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -exitcode=$? -if [ "$exitcode" != "0" ]; then - echo "tar ${pkg_name}.tar.gz error !!!" - exit $exitcode -fi - -cd ${curr_dir} diff --git a/packaging/tools/makearbi_power.sh b/packaging/tools/makearbi_power.sh deleted file mode 100755 index a942a7860dd4fd0a6590fceadc00abfc19815414..0000000000000000000000000000000000000000 --- a/packaging/tools/makearbi_power.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# -# Generate arbitrator's tar.gz setup package for all os system - -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -script_dir="$(dirname $(readlink -f $0))" -top_dir="$(readlink -f ${script_dir}/../..)" - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/PowerDB-enterprise-arbitrator-${version}" -else - install_dir="${release_dir}/PowerDB-arbitrator-${version}" -fi - -# Directories and files. -bin_files="${build_dir}/bin/tarbitrator ${script_dir}/remove_arbi_power.sh" -install_files="${script_dir}/install_arbi_power.sh" - -init_file_tarbitrator_deb=${script_dir}/../deb/tarbitratord -init_file_tarbitrator_rpm=${script_dir}/../rpm/tarbitratord - -# make directories. -mkdir -p ${install_dir} && cp ${install_files} ${install_dir} && chmod a+x ${install_dir}/install_arbi_power.sh || : -#mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc || : -mkdir -p ${install_dir}/bin && cp ${bin_files} ${install_dir}/bin && chmod a+x ${install_dir}/bin/* || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_deb} ${install_dir}/init.d/tarbitratord.deb || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_rpm} ${install_dir}/init.d/tarbitratord.rpm || : - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stabel or beta" - exit 1 -fi - -tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -exitcode=$? -if [ "$exitcode" != "0" ]; then - echo "tar ${pkg_name}.tar.gz error !!!" - exit $exitcode -fi - -cd ${curr_dir} diff --git a/packaging/tools/makearbi_pro.sh b/packaging/tools/makearbi_pro.sh deleted file mode 100755 index c432e97d4762da7a5a68672c46e118f76c59ae20..0000000000000000000000000000000000000000 --- a/packaging/tools/makearbi_pro.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# -# Generate arbitrator's tar.gz setup package for all os system - -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -script_dir="$(dirname $(readlink -f $0))" -top_dir="$(readlink -f ${script_dir}/../..)" - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/ProDB-enterprise-arbitrator-${version}" -else - install_dir="${release_dir}/ProDB-arbitrator-${version}" -fi - -# Directories and files. -bin_files="${build_dir}/bin/tarbitrator ${script_dir}/remove_arbi_pro.sh" -install_files="${script_dir}/install_arbi_pro.sh" - -init_file_tarbitrator_deb=${script_dir}/../deb/tarbitratord -init_file_tarbitrator_rpm=${script_dir}/../rpm/tarbitratord - -# make directories. -mkdir -p ${install_dir} && cp ${install_files} ${install_dir} && chmod a+x ${install_dir}/install_arbi_pro.sh || : -#mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc || : -mkdir -p ${install_dir}/bin && cp ${bin_files} ${install_dir}/bin && chmod a+x ${install_dir}/bin/* || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_deb} ${install_dir}/init.d/tarbitratord.deb || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_rpm} ${install_dir}/init.d/tarbitratord.rpm || : - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stabel or beta" - exit 1 -fi - -tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -exitcode=$? -if [ "$exitcode" != "0" ]; then - echo "tar ${pkg_name}.tar.gz error !!!" - exit $exitcode -fi - -cd ${curr_dir} diff --git a/packaging/tools/makearbi_tq.sh b/packaging/tools/makearbi_tq.sh deleted file mode 100755 index 3460696b08c11815a68edc12a61d53f2651d699a..0000000000000000000000000000000000000000 --- a/packaging/tools/makearbi_tq.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# -# Generate arbitrator's tar.gz setup package for all os system - -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -script_dir="$(dirname $(readlink -f $0))" -top_dir="$(readlink -f ${script_dir}/../..)" - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/TQ-enterprise-arbitrator-${version}" -else - install_dir="${release_dir}/TQ-arbitrator-${version}" -fi - -# Directories and files. -bin_files="${build_dir}/bin/tarbitrator ${script_dir}/remove_arbi_tq.sh" -install_files="${script_dir}/install_arbi_tq.sh" - -init_file_tarbitrator_deb=${script_dir}/../deb/tarbitratord -init_file_tarbitrator_rpm=${script_dir}/../rpm/tarbitratord - -# make directories. -mkdir -p ${install_dir} && cp ${install_files} ${install_dir} && chmod a+x ${install_dir}/install_arbi_tq.sh || : -#mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc || : -mkdir -p ${install_dir}/bin && cp ${bin_files} ${install_dir}/bin && chmod a+x ${install_dir}/bin/* || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_deb} ${install_dir}/init.d/tarbitratord.deb || : -mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_rpm} ${install_dir}/init.d/tarbitratord.rpm || : - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stabel or beta" - exit 1 -fi - -tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -exitcode=$? -if [ "$exitcode" != "0" ]; then - echo "tar ${pkg_name}.tar.gz error !!!" - exit $exitcode -fi - -cd ${curr_dir} diff --git a/packaging/tools/makeclient_jh.sh b/packaging/tools/makeclient_jh.sh deleted file mode 100755 index bfbdcfc578bc7f8dfb15fef302d9817014ff3bef..0000000000000000000000000000000000000000 --- a/packaging/tools/makeclient_jh.sh +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/bash -# -# Generate tar.gz package for linux client in all os system -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -if [ "$osType" != "Darwin" ]; then - script_dir="$(dirname $(readlink -f $0))" - top_dir="$(readlink -f ${script_dir}/../..)" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - top_dir=${script_dir}/../.. -fi - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' - -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/jh_iot-enterprise-client-${version}" -else - install_dir="${release_dir}/jh_iot-client-${version}" -fi - -# Directories and files. - -if [ "$osType" != "Darwin" ]; then - lib_files="${build_dir}/lib/libtaos.so.${version}" -else - bin_files="${build_dir}/bin/taos ${script_dir}/remove_client_jh.sh" - lib_files="${build_dir}/lib/libtaos.${version}.dylib" -fi - -header_files="${code_dir}/inc/taos.h ${code_dir}/inc/taoserror.h" -if [ "$verMode" == "cluster" ]; then - cfg_dir="${top_dir}/../enterprise/packaging/cfg" -else - cfg_dir="${top_dir}/packaging/cfg" -fi - -install_files="${script_dir}/install_client_jh.sh" - -# make directories. -mkdir -p ${install_dir} -mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc -mkdir -p ${install_dir}/cfg && cp ${cfg_dir}/taos.cfg ${install_dir}/cfg/taos.cfg - -sed -i '/dataDir/ {s/taos/jh_taos/g}' ${install_dir}/cfg/taos.cfg -sed -i '/logDir/ {s/taos/jh_taos/g}' ${install_dir}/cfg/taos.cfg -sed -i "s/TDengine/jh_iot/g" ${install_dir}/cfg/taos.cfg - -mkdir -p ${install_dir}/bin -if [ "$osType" != "Darwin" ]; then - if [ "$pagMode" == "lite" ]; then - strip ${build_dir}/bin/taos - cp ${build_dir}/bin/taos ${install_dir}/bin/jh_taos - cp ${script_dir}/remove_client_jh.sh ${install_dir}/bin - else - cp ${build_dir}/bin/taos ${install_dir}/bin/jh_taos - cp ${script_dir}/remove_client_jh.sh ${install_dir}/bin - cp ${build_dir}/bin/taosdemo ${install_dir}/bin/jhdemo - cp ${build_dir}/bin/taosdump ${install_dir}/bin/jh_taosdump - cp ${script_dir}/set_core.sh ${install_dir}/bin - cp ${script_dir}/get_client.sh ${install_dir}/bin - #cp ${script_dir}/taosd-dump-cfg.gdb ${install_dir}/bin - fi -else - cp ${bin_files} ${install_dir}/bin -fi -chmod a+x ${install_dir}/bin/* || : - -if [ -f ${build_dir}/bin/jemalloc-config ]; then - mkdir -p ${install_dir}/jemalloc/{bin,lib,lib/pkgconfig,include/jemalloc,share/doc/jemalloc,share/man/man3} - cp ${build_dir}/bin/jemalloc-config ${install_dir}/jemalloc/bin - if [ -f ${build_dir}/bin/jemalloc.sh ]; then - cp ${build_dir}/bin/jemalloc.sh ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/bin/jeprof ]; then - cp ${build_dir}/bin/jeprof ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/include/jemalloc/jemalloc.h ]; then - cp ${build_dir}/include/jemalloc/jemalloc.h ${install_dir}/jemalloc/include/jemalloc - fi - if [ -f ${build_dir}/lib/libjemalloc.so.2 ]; then - cp ${build_dir}/lib/libjemalloc.so.2 ${install_dir}/jemalloc/lib - ln -sf libjemalloc.so.2 ${install_dir}/jemalloc/lib/libjemalloc.so - fi - if [ -f ${build_dir}/lib/libjemalloc.a ]; then - cp ${build_dir}/lib/libjemalloc.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/libjemalloc_pic.a ]; then - cp ${build_dir}/lib/libjemalloc_pic.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/pkgconfig/jemalloc.pc ]; then - cp ${build_dir}/lib/pkgconfig/jemalloc.pc ${install_dir}/jemalloc/lib/pkgconfig - fi - if [ -f ${build_dir}/share/doc/jemalloc/jemalloc.html ]; then - cp ${build_dir}/share/doc/jemalloc/jemalloc.html ${install_dir}/jemalloc/share/doc/jemalloc - fi - if [ -f ${build_dir}/share/man/man3/jemalloc.3 ]; then - cp ${build_dir}/share/man/man3/jemalloc.3 ${install_dir}/jemalloc/share/man/man3 - fi -fi - -cd ${install_dir} - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f jh_taos.tar.gz * --remove-files || : -else - tar -zcv -f jh_taos.tar.gz * || : - mv jh_taos.tar.gz .. - rm -rf ./* - mv ../jh_taos.tar.gz . -fi - -cd ${curr_dir} -cp ${install_files} ${install_dir} -if [ "$osType" == "Darwin" ]; then - sed 's/osType=Linux/osType=Darwin/g' ${install_dir}/install_client_jh.sh >> install_client_jh_temp.sh - mv install_client_jh_temp.sh ${install_dir}/install_client_jh.sh -fi -if [ "$pagMode" == "lite" ]; then - sed 's/pagMode=full/pagMode=lite/g' ${install_dir}/install_client_jh.sh >> install_client_jh_temp.sh - mv install_client_jh_temp.sh ${install_dir}/install_client_jh.sh -fi -chmod a+x ${install_dir}/install_client_jh.sh - -# Copy driver -mkdir -p ${install_dir}/driver -cp ${lib_files} ${install_dir}/driver - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$pagMode" == "lite" ]; then - pkg_name=${pkg_name}-Lite -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stable or beta" - exit 1 -fi - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -else - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) || : - mv "$(basename ${pkg_name}).tar.gz" .. - rm -rf ./* - mv ../"$(basename ${pkg_name}).tar.gz" . -fi - -cd ${curr_dir} diff --git a/packaging/tools/makeclient_kh.sh b/packaging/tools/makeclient_kh.sh deleted file mode 100755 index fe171664f62b07152c876846e8a64cc41b8c2eed..0000000000000000000000000000000000000000 --- a/packaging/tools/makeclient_kh.sh +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/bash -# -# Generate tar.gz package for linux client in all os system -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -if [ "$osType" != "Darwin" ]; then - script_dir="$(dirname $(readlink -f $0))" - top_dir="$(readlink -f ${script_dir}/../..)" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - top_dir=${script_dir}/../.. -fi - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' - -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/KingHistorian-enterprise-client-${version}" -else - install_dir="${release_dir}/KingHistorian-client-${version}" -fi - -# Directories and files. - -if [ "$osType" != "Darwin" ]; then - lib_files="${build_dir}/lib/libtaos.so.${version}" -else - bin_files="${build_dir}/bin/taos ${script_dir}/remove_client_kh.sh" - lib_files="${build_dir}/lib/libtaos.${version}.dylib" -fi - -header_files="${code_dir}/inc/taos.h ${code_dir}/inc/taoserror.h" -if [ "$verMode" == "cluster" ]; then - cfg_dir="${top_dir}/../enterprise/packaging/cfg" -else - cfg_dir="${top_dir}/packaging/cfg" -fi - -install_files="${script_dir}/install_client_kh.sh" - -# make directories. -mkdir -p ${install_dir} -mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc -mkdir -p ${install_dir}/cfg && cp ${cfg_dir}/taos.cfg ${install_dir}/cfg/kinghistorian.cfg - -sed -i '/dataDir/ {s/taos/kinghistorian/g}' ${install_dir}/cfg/kinghistorian.cfg -sed -i '/logDir/ {s/taos/kinghistorian/g}' ${install_dir}/cfg/kinghistorian.cfg -sed -i "s/TDengine/KingHistorian/g" ${install_dir}/cfg/kinghistorian.cfg - -mkdir -p ${install_dir}/bin -if [ "$osType" != "Darwin" ]; then - if [ "$pagMode" == "lite" ]; then - strip ${build_dir}/bin/taos - cp ${build_dir}/bin/taos ${install_dir}/bin/khclient - cp ${script_dir}/remove_client_kh.sh ${install_dir}/bin - else - cp ${build_dir}/bin/taos ${install_dir}/bin/khclient - cp ${script_dir}/remove_client_kh.sh ${install_dir}/bin - cp ${build_dir}/bin/taosdemo ${install_dir}/bin/khdemo - cp ${build_dir}/bin/taosdump ${install_dir}/bin/khdump - cp ${script_dir}/set_core.sh ${install_dir}/bin - cp ${script_dir}/get_client.sh ${install_dir}/bin - #cp ${script_dir}/taosd-dump-cfg.gdb ${install_dir}/bin - fi -else - cp ${bin_files} ${install_dir}/bin -fi -chmod a+x ${install_dir}/bin/* || : - -if [ -f ${build_dir}/bin/jemalloc-config ]; then - mkdir -p ${install_dir}/jemalloc/{bin,lib,lib/pkgconfig,include/jemalloc,share/doc/jemalloc,share/man/man3} - cp ${build_dir}/bin/jemalloc-config ${install_dir}/jemalloc/bin - if [ -f ${build_dir}/bin/jemalloc.sh ]; then - cp ${build_dir}/bin/jemalloc.sh ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/bin/jeprof ]; then - cp ${build_dir}/bin/jeprof ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/include/jemalloc/jemalloc.h ]; then - cp ${build_dir}/include/jemalloc/jemalloc.h ${install_dir}/jemalloc/include/jemalloc - fi - if [ -f ${build_dir}/lib/libjemalloc.so.2 ]; then - cp ${build_dir}/lib/libjemalloc.so.2 ${install_dir}/jemalloc/lib - ln -sf libjemalloc.so.2 ${install_dir}/jemalloc/lib/libjemalloc.so - fi - if [ -f ${build_dir}/lib/libjemalloc.a ]; then - cp ${build_dir}/lib/libjemalloc.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/libjemalloc_pic.a ]; then - cp ${build_dir}/lib/libjemalloc_pic.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/pkgconfig/jemalloc.pc ]; then - cp ${build_dir}/lib/pkgconfig/jemalloc.pc ${install_dir}/jemalloc/lib/pkgconfig - fi - if [ -f ${build_dir}/share/doc/jemalloc/jemalloc.html ]; then - cp ${build_dir}/share/doc/jemalloc/jemalloc.html ${install_dir}/jemalloc/share/doc/jemalloc - fi - if [ -f ${build_dir}/share/man/man3/jemalloc.3 ]; then - cp ${build_dir}/share/man/man3/jemalloc.3 ${install_dir}/jemalloc/share/man/man3 - fi -fi - -cd ${install_dir} - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f kinghistorian.tar.gz * --remove-files || : -else - tar -zcv -f kinghistorian.tar.gz * || : - mv kinghistorian.tar.gz .. - rm -rf ./* - mv ../kinghistorian.tar.gz . -fi - -cd ${curr_dir} -cp ${install_files} ${install_dir} -if [ "$osType" == "Darwin" ]; then - sed 's/osType=Linux/osType=Darwin/g' ${install_dir}/install_client_kh.sh >> install_client_kh_temp.sh - mv install_client_kh_temp.sh ${install_dir}/install_client_kh.sh -fi -if [ "$pagMode" == "lite" ]; then - sed 's/pagMode=full/pagMode=lite/g' ${install_dir}/install_client_kh.sh >> install_client_kh_temp.sh - mv install_client_kh_temp.sh ${install_dir}/install_client_kh.sh -fi -chmod a+x ${install_dir}/install_client_kh.sh - -# Copy driver -mkdir -p ${install_dir}/driver -cp ${lib_files} ${install_dir}/driver - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$pagMode" == "lite" ]; then - pkg_name=${pkg_name}-Lite -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stable or beta" - exit 1 -fi - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -else - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) || : - mv "$(basename ${pkg_name}).tar.gz" .. - rm -rf ./* - mv ../"$(basename ${pkg_name}).tar.gz" . -fi - -cd ${curr_dir} diff --git a/packaging/tools/makeclient_power.sh b/packaging/tools/makeclient_power.sh deleted file mode 100755 index 0931d1350197bf31cfaa9f8a87cd1fe50d28ced3..0000000000000000000000000000000000000000 --- a/packaging/tools/makeclient_power.sh +++ /dev/null @@ -1,264 +0,0 @@ -#!/bin/bash -# -# Generate tar.gz package for linux client in all os system -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -if [ "$osType" != "Darwin" ]; then - script_dir="$(dirname $(readlink -f $0))" - top_dir="$(readlink -f ${script_dir}/../..)" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - top_dir=${script_dir}/../.. -fi - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' - -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/PowerDB-enterprise-client-${version}" -else - install_dir="${release_dir}/PowerDB-client-${version}" -fi - -# Directories and files. - -if [ "$osType" != "Darwin" ]; then -# if [ "$pagMode" == "lite" ]; then -# strip ${build_dir}/bin/powerd -# strip ${build_dir}/bin/power -# bin_files="${build_dir}/bin/power ${script_dir}/remove_client_power.sh" -# else -# bin_files="${build_dir}/bin/power ${build_dir}/bin/powerdemo ${script_dir}/remove_client_power.sh ${script_dir}/set_core.sh" -# fi - lib_files="${build_dir}/lib/libtaos.so.${version}" -else - bin_files="${build_dir}/bin/power ${script_dir}/remove_client_power.sh" - lib_files="${build_dir}/lib/libtaos.${version}.dylib" -fi - -header_files="${code_dir}/inc/taos.h ${code_dir}/inc/taosdef.h ${code_dir}/inc/taoserror.h" -if [ "$verMode" == "cluster" ]; then - cfg_dir="${top_dir}/../enterprise/packaging/cfg" -else - cfg_dir="${top_dir}/packaging/cfg" -fi - -install_files="${script_dir}/install_client_power.sh" - -# make directories. -mkdir -p ${install_dir} -mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc -mkdir -p ${install_dir}/cfg && cp ${cfg_dir}/taos.cfg ${install_dir}/cfg/taos.cfg - -if [ -f ${build_dir}/bin/jemalloc-config ]; then - mkdir -p ${install_dir}/jemalloc/{bin,lib,lib/pkgconfig,include/jemalloc,share/doc/jemalloc,share/man/man3} - cp ${build_dir}/bin/jemalloc-config ${install_dir}/jemalloc/bin - if [ -f ${build_dir}/bin/jemalloc.sh ]; then - cp ${build_dir}/bin/jemalloc.sh ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/bin/jeprof ]; then - cp ${build_dir}/bin/jeprof ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/include/jemalloc/jemalloc.h ]; then - cp ${build_dir}/include/jemalloc/jemalloc.h ${install_dir}/jemalloc/include/jemalloc - fi - if [ -f ${build_dir}/lib/libjemalloc.so.2 ]; then - cp ${build_dir}/lib/libjemalloc.so.2 ${install_dir}/jemalloc/lib - ln -sf libjemalloc.so.2 ${install_dir}/jemalloc/lib/libjemalloc.so - fi - if [ -f ${build_dir}/lib/libjemalloc.a ]; then - cp ${build_dir}/lib/libjemalloc.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/libjemalloc_pic.a ]; then - cp ${build_dir}/lib/libjemalloc_pic.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/pkgconfig/jemalloc.pc ]; then - cp ${build_dir}/lib/pkgconfig/jemalloc.pc ${install_dir}/jemalloc/lib/pkgconfig - fi - if [ -f ${build_dir}/share/doc/jemalloc/jemalloc.html ]; then - cp ${build_dir}/share/doc/jemalloc/jemalloc.html ${install_dir}/jemalloc/share/doc/jemalloc - fi - if [ -f ${build_dir}/share/man/man3/jemalloc.3 ]; then - cp ${build_dir}/share/man/man3/jemalloc.3 ${install_dir}/jemalloc/share/man/man3 - fi -fi - -sed -i '/dataDir/ {s/taos/power/g}' ${install_dir}/cfg/taos.cfg -sed -i '/logDir/ {s/taos/power/g}' ${install_dir}/cfg/taos.cfg -sed -i "s/TDengine/PowerDB/g" ${install_dir}/cfg/taos.cfg - -mkdir -p ${install_dir}/bin -if [ "$osType" != "Darwin" ]; then - if [ "$pagMode" == "lite" ]; then - strip ${build_dir}/bin/taos - cp ${build_dir}/bin/taos ${install_dir}/bin/power - cp ${script_dir}/remove_client_power.sh ${install_dir}/bin - else - cp ${build_dir}/bin/taos ${install_dir}/bin/power - cp ${script_dir}/remove_client_power.sh ${install_dir}/bin - cp ${build_dir}/bin/taosdemo ${install_dir}/bin/powerdemo - cp ${build_dir}/bin/taosdump ${install_dir}/bin/powerdump - cp ${script_dir}/set_core.sh ${install_dir}/bin - cp ${script_dir}/get_client.sh ${install_dir}/bin - #cp ${script_dir}/taosd-dump-cfg.gdb ${install_dir}/bin - fi -else - cp ${bin_files} ${install_dir}/bin -fi -chmod a+x ${install_dir}/bin/* || : - -if [ -f ${build_dir}/bin/jemalloc-config ]; then - mkdir -p ${install_dir}/jemalloc/{bin,lib,lib/pkgconfig,include/jemalloc,share/doc/jemalloc,share/man/man3} - cp ${build_dir}/bin/jemalloc-config ${install_dir}/jemalloc/bin - if [ -f ${build_dir}/bin/jemalloc.sh ]; then - cp ${build_dir}/bin/jemalloc.sh ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/bin/jeprof ]; then - cp ${build_dir}/bin/jeprof ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/include/jemalloc/jemalloc.h ]; then - cp ${build_dir}/include/jemalloc/jemalloc.h ${install_dir}/jemalloc/include/jemalloc - fi - if [ -f ${build_dir}/lib/libjemalloc.so.2 ]; then - cp ${build_dir}/lib/libjemalloc.so.2 ${install_dir}/jemalloc/lib - ln -sf libjemalloc.so.2 ${install_dir}/jemalloc/lib/libjemalloc.so - fi - if [ -f ${build_dir}/lib/libjemalloc.a ]; then - cp ${build_dir}/lib/libjemalloc.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/libjemalloc_pic.a ]; then - cp ${build_dir}/lib/libjemalloc_pic.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/pkgconfig/jemalloc.pc ]; then - cp ${build_dir}/lib/pkgconfig/jemalloc.pc ${install_dir}/jemalloc/lib/pkgconfig - fi - if [ -f ${build_dir}/share/doc/jemalloc/jemalloc.html ]; then - cp ${build_dir}/share/doc/jemalloc/jemalloc.html ${install_dir}/jemalloc/share/doc/jemalloc - fi - if [ -f ${build_dir}/share/man/man3/jemalloc.3 ]; then - cp ${build_dir}/share/man/man3/jemalloc.3 ${install_dir}/jemalloc/share/man/man3 - fi -fi - -cd ${install_dir} - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f power.tar.gz * --remove-files || : -else - tar -zcv -f power.tar.gz * || : - mv power.tar.gz .. - rm -rf ./* - mv ../power.tar.gz . -fi - -cd ${curr_dir} -cp ${install_files} ${install_dir} -if [ "$osType" == "Darwin" ]; then - sed 's/osType=Linux/osType=Darwin/g' ${install_dir}/install_client_power.sh >> install_client_power_temp.sh - mv install_client_power_temp.sh ${install_dir}/install_client_power.sh -fi -if [ "$pagMode" == "lite" ]; then - sed 's/pagMode=full/pagMode=lite/g' ${install_dir}/install_client_power.sh >> install_client_power_temp.sh - mv install_client_power_temp.sh ${install_dir}/install_client_power.sh -fi -chmod a+x ${install_dir}/install_client_power.sh - -# Copy example code -mkdir -p ${install_dir}/examples -examples_dir="${top_dir}/tests/examples" -cp -r ${examples_dir}/c ${install_dir}/examples -sed -i '/passwd/ {s/taosdata/powerdb/g}' ${install_dir}/examples/c/*.c -sed -i '/root/ {s/taosdata/powerdb/g}' ${install_dir}/examples/c/*.c - -if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then - cp -r ${examples_dir}/JDBC ${install_dir}/examples - cp -r ${examples_dir}/matlab ${install_dir}/examples - sed -i '/password/ {s/taosdata/powerdb/g}' ${install_dir}/examples/matlab/TDengineDemo.m - cp -r ${examples_dir}/python ${install_dir}/examples - sed -i '/password/ {s/taosdata/powerdb/g}' ${install_dir}/examples/python/read_example.py - cp -r ${examples_dir}/R ${install_dir}/examples - sed -i '/password/ {s/taosdata/powerdb/g}' ${install_dir}/examples/R/command.txt - cp -r ${examples_dir}/go ${install_dir}/examples - sed -i '/root/ {s/taosdata/powerdb/g}' ${install_dir}/examples/go/taosdemo.go -fi -# Copy driver -mkdir -p ${install_dir}/driver -cp ${lib_files} ${install_dir}/driver - -# Copy connector -connector_dir="${code_dir}/connector" -mkdir -p ${install_dir}/connector - -if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then - if [ "$osType" != "Darwin" ]; then - cp ${build_dir}/lib/*.jar ${install_dir}/connector ||: - fi - if find ${connector_dir}/go -mindepth 1 -maxdepth 1 | read; then - cp -r ${connector_dir}/go ${install_dir}/connector - else - echo "WARNING: go connector not found, please check if want to use it!" - fi - cp -r ${connector_dir}/python ${install_dir}/connector - - sed -i '/password/ {s/taosdata/powerdb/g}' ${install_dir}/connector/python/taos/cinterface.py - - sed -i '/password/ {s/taosdata/powerdb/g}' ${install_dir}/connector/python/taos/subscription.py - - sed -i '/self._password/ {s/taosdata/powerdb/g}' ${install_dir}/connector/python/taos/connection.py -fi -# Copy release note -# cp ${script_dir}/release_note ${install_dir} - -# exit 1 - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$pagMode" == "lite" ]; then - pkg_name=${pkg_name}-Lite -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stable or beta" - exit 1 -fi - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -else - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) || : - mv "$(basename ${pkg_name}).tar.gz" .. - rm -rf ./* - mv ../"$(basename ${pkg_name}).tar.gz" . -fi - -cd ${curr_dir} diff --git a/packaging/tools/makeclient_pro.sh b/packaging/tools/makeclient_pro.sh deleted file mode 100755 index 023c16cf820481fcc16bb26f31e6acf58d8edbc1..0000000000000000000000000000000000000000 --- a/packaging/tools/makeclient_pro.sh +++ /dev/null @@ -1,220 +0,0 @@ -#!/bin/bash -# -# Generate tar.gz package for linux client in all os system -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -if [ "$osType" != "Darwin" ]; then - script_dir="$(dirname $(readlink -f $0))" - top_dir="$(readlink -f ${script_dir}/../..)" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - top_dir=${script_dir}/../.. -fi - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' - -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/ProDB-enterprise-client-${version}" -else - install_dir="${release_dir}/ProDB-client-${version}" -fi - -# Directories and files. - -if [ "$osType" != "Darwin" ]; then - lib_files="${build_dir}/lib/libtaos.so.${version}" -else - bin_files="${build_dir}/bin/taos ${script_dir}/remove_client_pro.sh" - lib_files="${build_dir}/lib/libtaos.${version}.dylib" -fi - -header_files="${code_dir}/inc/taos.h ${code_dir}/inc/taosdef.h ${code_dir}/inc/taoserror.h" -if [ "$verMode" == "cluster" ]; then - cfg_dir="${top_dir}/../enterprise/packaging/cfg" -else - cfg_dir="${top_dir}/packaging/cfg" -fi - -install_files="${script_dir}/install_client_pro.sh" - -# make directories. -mkdir -p ${install_dir} -mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc -mkdir -p ${install_dir}/cfg && cp ${cfg_dir}/taos.cfg ${install_dir}/cfg/prodb.cfg - -sed -i '/dataDir/ {s/taos/ProDB/g}' ${install_dir}/cfg/prodb.cfg -sed -i '/logDir/ {s/taos/ProDB/g}' ${install_dir}/cfg/prodb.cfg -sed -i "s/TDengine/ProDB/g" ${install_dir}/cfg/prodb.cfg - -mkdir -p ${install_dir}/bin -if [ "$osType" != "Darwin" ]; then - if [ "$pagMode" == "lite" ]; then - strip ${build_dir}/bin/taos - cp ${build_dir}/bin/taos ${install_dir}/bin/prodbc - cp ${script_dir}/remove_client_pro.sh ${install_dir}/bin - else - cp ${build_dir}/bin/taos ${install_dir}/bin/prodbc - cp ${script_dir}/remove_client_pro.sh ${install_dir}/bin - cp ${build_dir}/bin/taosdemo ${install_dir}/bin/prodemo - cp ${build_dir}/bin/taosdump ${install_dir}/bin/prodump - cp ${script_dir}/set_core.sh ${install_dir}/bin - cp ${script_dir}/get_client.sh ${install_dir}/bin - #cp ${script_dir}/taosd-dump-cfg.gdb ${install_dir}/bin - fi -else - cp ${bin_files} ${install_dir}/bin -fi -chmod a+x ${install_dir}/bin/* || : - -if [ -f ${build_dir}/bin/jemalloc-config ]; then - mkdir -p ${install_dir}/jemalloc/{bin,lib,lib/pkgconfig,include/jemalloc,share/doc/jemalloc,share/man/man3} - cp ${build_dir}/bin/jemalloc-config ${install_dir}/jemalloc/bin - if [ -f ${build_dir}/bin/jemalloc.sh ]; then - cp ${build_dir}/bin/jemalloc.sh ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/bin/jeprof ]; then - cp ${build_dir}/bin/jeprof ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/include/jemalloc/jemalloc.h ]; then - cp ${build_dir}/include/jemalloc/jemalloc.h ${install_dir}/jemalloc/include/jemalloc - fi - if [ -f ${build_dir}/lib/libjemalloc.so.2 ]; then - cp ${build_dir}/lib/libjemalloc.so.2 ${install_dir}/jemalloc/lib - ln -sf libjemalloc.so.2 ${install_dir}/jemalloc/lib/libjemalloc.so - fi - if [ -f ${build_dir}/lib/libjemalloc.a ]; then - cp ${build_dir}/lib/libjemalloc.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/libjemalloc_pic.a ]; then - cp ${build_dir}/lib/libjemalloc_pic.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/pkgconfig/jemalloc.pc ]; then - cp ${build_dir}/lib/pkgconfig/jemalloc.pc ${install_dir}/jemalloc/lib/pkgconfig - fi - if [ -f ${build_dir}/share/doc/jemalloc/jemalloc.html ]; then - cp ${build_dir}/share/doc/jemalloc/jemalloc.html ${install_dir}/jemalloc/share/doc/jemalloc - fi - if [ -f ${build_dir}/share/man/man3/jemalloc.3 ]; then - cp ${build_dir}/share/man/man3/jemalloc.3 ${install_dir}/jemalloc/share/man/man3 - fi -fi - -cd ${install_dir} - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f prodb.tar.gz * --remove-files || : -else - tar -zcv -f prodb.tar.gz * || : - mv prodb.tar.gz .. - rm -rf ./* - mv ../prodb.tar.gz . -fi - -cd ${curr_dir} -cp ${install_files} ${install_dir} -if [ "$osType" == "Darwin" ]; then - sed 's/osType=Linux/osType=Darwin/g' ${install_dir}/install_client_pro.sh >> install_client_prodb_temp.sh - mv install_client_prodb_temp.sh ${install_dir}/install_client_pro.sh -fi -if [ "$pagMode" == "lite" ]; then - sed 's/pagMode=full/pagMode=lite/g' ${install_dir}/install_client_pro.sh >> install_client_prodb_temp.sh - mv install_client_prodb_temp.sh ${install_dir}/install_client_pro.sh -fi -chmod a+x ${install_dir}/install_client_pro.sh - -# Copy example code -mkdir -p ${install_dir}/examples -examples_dir="${top_dir}/tests/examples" -cp -r ${examples_dir}/c ${install_dir}/examples -sed -i '/passwd/ {s/taosdata/prodb/g}' ${install_dir}/examples/c/*.c -sed -i '/root/ {s/taosdata/prodb/g}' ${install_dir}/examples/c/*.c - -if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then - cp -r ${examples_dir}/JDBC ${install_dir}/examples - cp -r ${examples_dir}/matlab ${install_dir}/examples - mv ${install_dir}/examples/matlab/TDengineDemo.m ${install_dir}/examples/matlab/ProDBDemo.m - sed -i '/password/ {s/taosdata/prodb/g}' ${install_dir}/examples/matlab/ProDBDemo.m - cp -r ${examples_dir}/python ${install_dir}/examples - sed -i '/password/ {s/taosdata/prodb/g}' ${install_dir}/examples/python/read_example.py - cp -r ${examples_dir}/R ${install_dir}/examples - sed -i '/password/ {s/taosdata/prodb/g}' ${install_dir}/examples/R/command.txt - cp -r ${examples_dir}/go ${install_dir}/examples - mv ${install_dir}/examples/go/taosdemo.go ${install_dir}/examples/go/prodemo.go - sed -i '/root/ {s/taosdata/prodb/g}' ${install_dir}/examples/go/prodemo.go -fi -# Copy driver -mkdir -p ${install_dir}/driver -cp ${lib_files} ${install_dir}/driver - -# Copy connector -connector_dir="${code_dir}/connector" -mkdir -p ${install_dir}/connector - -if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then - if [ "$osType" != "Darwin" ]; then - cp ${build_dir}/lib/*.jar ${install_dir}/connector ||: - fi - if find ${connector_dir}/go -mindepth 1 -maxdepth 1 | read; then - cp -r ${connector_dir}/go ${install_dir}/connector - else - echo "WARNING: go connector not found, please check if want to use it!" - fi - cp -r ${connector_dir}/python ${install_dir}/connector - mv ${install_dir}/connector/python/taos ${install_dir}/connector/python/prodb - sed -i '/password/ {s/taosdata/prodb/g}' ${install_dir}/connector/python/prodb/cinterface.py - sed -i '/password/ {s/taosdata/prodb/g}' ${install_dir}/connector/python/prodb/subscription.py - sed -i '/self._password/ {s/taosdata/prodb/g}' ${install_dir}/connector/python/prodb/connection.py -fi - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$pagMode" == "lite" ]; then - pkg_name=${pkg_name}-Lite -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stable or beta" - exit 1 -fi - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -else - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) || : - mv "$(basename ${pkg_name}).tar.gz" .. - rm -rf ./* - mv ../"$(basename ${pkg_name}).tar.gz" . -fi - -cd ${curr_dir} diff --git a/packaging/tools/makeclient_tq.sh b/packaging/tools/makeclient_tq.sh deleted file mode 100755 index d554a05f6af40b79362d397071026591cf6714d4..0000000000000000000000000000000000000000 --- a/packaging/tools/makeclient_tq.sh +++ /dev/null @@ -1,224 +0,0 @@ -#!/bin/bash -# -# Generate tar.gz package for linux client in all os system -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 - -if [ "$osType" != "Darwin" ]; then - script_dir="$(dirname $(readlink -f $0))" - top_dir="$(readlink -f ${script_dir}/../..)" -else - script_dir=`dirname $0` - cd ${script_dir} - script_dir="$(pwd)" - top_dir=${script_dir}/../.. -fi - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -#package_name='linux' - -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/TQ-enterprise-client-${version}" -else - install_dir="${release_dir}/TQ-client-${version}" -fi - -# Directories and files. - -if [ "$osType" != "Darwin" ]; then - lib_files="${build_dir}/lib/libtaos.so.${version}" -else - bin_files="${build_dir}/bin/tq ${script_dir}/remove_client_tq.sh" - lib_files="${build_dir}/lib/libtaos.${version}.dylib" -fi - -header_files="${code_dir}/inc/taos.h ${code_dir}/inc/taosdef.h ${code_dir}/inc/taoserror.h" -if [ "$verMode" == "cluster" ]; then - cfg_dir="${top_dir}/../enterprise/packaging/cfg" -else - cfg_dir="${top_dir}/packaging/cfg" -fi - -install_files="${script_dir}/install_client_tq.sh" - -# make directories. -mkdir -p ${install_dir} -mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc -mkdir -p ${install_dir}/cfg && cp ${cfg_dir}/taos.cfg ${install_dir}/cfg/tq.cfg - -sed -i '/dataDir/ {s/taos/tq/g}' ${install_dir}/cfg/tq.cfg -sed -i '/logDir/ {s/taos/tq/g}' ${install_dir}/cfg/tq.cfg -sed -i "s/TDengine/TQ/g" ${install_dir}/cfg/tq.cfg - -mkdir -p ${install_dir}/bin -if [ "$osType" != "Darwin" ]; then - if [ "$pagMode" == "lite" ]; then - strip ${build_dir}/bin/taos - cp ${build_dir}/bin/taos ${install_dir}/bin/tq - cp ${script_dir}/remove_client_tq.sh ${install_dir}/bin - else - cp ${build_dir}/bin/taos ${install_dir}/bin/tq - cp ${script_dir}/remove_client_tq.sh ${install_dir}/bin - cp ${build_dir}/bin/taosdemo ${install_dir}/bin/tqdemo - cp ${build_dir}/bin/taosdump ${install_dir}/bin/tqdump - cp ${script_dir}/set_core.sh ${install_dir}/bin - cp ${script_dir}/get_client.sh ${install_dir}/bin - #cp ${script_dir}/taosd-dump-cfg.gdb ${install_dir}/bin - fi -else - cp ${bin_files} ${install_dir}/bin -fi -chmod a+x ${install_dir}/bin/* || : - -if [ -f ${build_dir}/bin/jemalloc-config ]; then - mkdir -p ${install_dir}/jemalloc/{bin,lib,lib/pkgconfig,include/jemalloc,share/doc/jemalloc,share/man/man3} - cp ${build_dir}/bin/jemalloc-config ${install_dir}/jemalloc/bin - if [ -f ${build_dir}/bin/jemalloc.sh ]; then - cp ${build_dir}/bin/jemalloc.sh ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/bin/jeprof ]; then - cp ${build_dir}/bin/jeprof ${install_dir}/jemalloc/bin - fi - if [ -f ${build_dir}/include/jemalloc/jemalloc.h ]; then - cp ${build_dir}/include/jemalloc/jemalloc.h ${install_dir}/jemalloc/include/jemalloc - fi - if [ -f ${build_dir}/lib/libjemalloc.so.2 ]; then - cp ${build_dir}/lib/libjemalloc.so.2 ${install_dir}/jemalloc/lib - ln -sf libjemalloc.so.2 ${install_dir}/jemalloc/lib/libjemalloc.so - fi - if [ -f ${build_dir}/lib/libjemalloc.a ]; then - cp ${build_dir}/lib/libjemalloc.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/libjemalloc_pic.a ]; then - cp ${build_dir}/lib/libjemalloc_pic.a ${install_dir}/jemalloc/lib - fi - if [ -f ${build_dir}/lib/pkgconfig/jemalloc.pc ]; then - cp ${build_dir}/lib/pkgconfig/jemalloc.pc ${install_dir}/jemalloc/lib/pkgconfig - fi - if [ -f ${build_dir}/share/doc/jemalloc/jemalloc.html ]; then - cp ${build_dir}/share/doc/jemalloc/jemalloc.html ${install_dir}/jemalloc/share/doc/jemalloc - fi - if [ -f ${build_dir}/share/man/man3/jemalloc.3 ]; then - cp ${build_dir}/share/man/man3/jemalloc.3 ${install_dir}/jemalloc/share/man/man3 - fi -fi - -cd ${install_dir} - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f tq.tar.gz * --remove-files || : -else - tar -zcv -f tq.tar.gz * || : - mv tq.tar.gz .. - rm -rf ./* - mv ../tq.tar.gz . -fi - -cd ${curr_dir} -cp ${install_files} ${install_dir} -if [ "$osType" == "Darwin" ]; then - sed 's/osType=Linux/osType=Darwin/g' ${install_dir}/install_client_tq.sh >> install_client_tq_temp.sh - mv install_client_tq_temp.sh ${install_dir}/install_client_tq.sh -fi -if [ "$pagMode" == "lite" ]; then - sed 's/pagMode=full/pagMode=lite/g' ${install_dir}/install_client_tq.sh >> install_client_tq_temp.sh - mv install_client_tq_temp.sh ${install_dir}/install_client_tq.sh -fi -chmod a+x ${install_dir}/install_client_tq.sh - -# Copy example code -mkdir -p ${install_dir}/examples -examples_dir="${top_dir}/tests/examples" -cp -r ${examples_dir}/c ${install_dir}/examples -sed -i '/passwd/ {s/taosdata/tqueue/g}' ${install_dir}/examples/c/*.c -sed -i '/root/ {s/taosdata/tqueue/g}' ${install_dir}/examples/c/*.c - -if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then - cp -r ${examples_dir}/JDBC ${install_dir}/examples - cp -r ${examples_dir}/matlab ${install_dir}/examples - sed -i '/password/ {s/taosdata/tqueue/g}' ${install_dir}/examples/matlab/TDengineDemo.m - cp -r ${examples_dir}/python ${install_dir}/examples - sed -i '/password/ {s/taosdata/tqueue/g}' ${install_dir}/examples/python/read_example.py - cp -r ${examples_dir}/R ${install_dir}/examples - sed -i '/password/ {s/taosdata/tqueue/g}' ${install_dir}/examples/R/command.txt - cp -r ${examples_dir}/go ${install_dir}/examples - sed -i '/root/ {s/taosdata/tqueue/g}' ${install_dir}/examples/go/taosdemo.go -fi -# Copy driver -mkdir -p ${install_dir}/driver -cp ${lib_files} ${install_dir}/driver - -# Copy connector -connector_dir="${code_dir}/connector" -mkdir -p ${install_dir}/connector - -if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then - if [ "$osType" != "Darwin" ]; then - cp ${build_dir}/lib/*.jar ${install_dir}/connector ||: - fi - if find ${connector_dir}/go -mindepth 1 -maxdepth 1 | read; then - cp -r ${connector_dir}/go ${install_dir}/connector - else - echo "WARNING: go connector not found, please check if want to use it!" - fi - cp -r ${connector_dir}/python ${install_dir}/connector - - sed -i '/password/ {s/taosdata/tqueue/g}' ${install_dir}/connector/python/taos/cinterface.py - - sed -i '/password/ {s/taosdata/tqueue/g}' ${install_dir}/connector/python/taos/subscription.py - - sed -i '/self._password/ {s/taosdata/tqueue/g}' ${install_dir}/connector/python/taos/connection.py -fi -# Copy release note -# cp ${script_dir}/release_note ${install_dir} - -# exit 1 - -cd ${release_dir} - -if [ "$verMode" == "cluster" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -elif [ "$verMode" == "edge" ]; then - pkg_name=${install_dir}-${osType}-${cpuType} -else - echo "unknow verMode, nor cluster or edge" - exit 1 -fi - -if [ "$pagMode" == "lite" ]; then - pkg_name=${pkg_name}-Lite -fi - -if [ "$verType" == "beta" ]; then - pkg_name=${pkg_name}-${verType} -elif [ "$verType" == "stable" ]; then - pkg_name=${pkg_name} -else - echo "unknow verType, nor stable or beta" - exit 1 -fi - -if [ "$osType" != "Darwin" ]; then - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || : -else - tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) || : - mv "$(basename ${pkg_name}).tar.gz" .. - rm -rf ./* - mv ../"$(basename ${pkg_name}).tar.gz" . -fi - -cd ${curr_dir} diff --git a/packaging/tools/makepkg.sh b/packaging/tools/makepkg.sh index 89bbbf9370e545d10aa8c8f9a4b16e0319693e30..509f330c9d5044b2b1a6c5bc645212844363d194 100755 --- a/packaging/tools/makepkg.sh +++ b/packaging/tools/makepkg.sh @@ -105,9 +105,11 @@ fi if [ -f "${cfg_dir}/taosd.service" ]; then cp ${cfg_dir}/taosd.service ${install_dir}/cfg || : fi + if [ -f "${cfg_dir}/tarbitratord.service" ]; then cp ${cfg_dir}/tarbitratord.service ${install_dir}/cfg || : fi + if [ -f "${cfg_dir}/nginxd.service" ]; then cp ${cfg_dir}/nginxd.service ${install_dir}/cfg || : fi diff --git a/packaging/tools/makepkg_jh.sh b/packaging/tools/makepkg_jh.sh deleted file mode 100755 index fdc7ba5c79f66bdc5d9567999c644c2a3b4ad1f1..0000000000000000000000000000000000000000 --- a/packaging/tools/makepkg_jh.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/bin/bash -# -# Generate tar.gz package for all os system - -set -e -#set -x - -curr_dir=$(pwd) -compile_dir=$1 -version=$2 -build_time=$3 -cpuType=$4 -osType=$5 -verMode=$6 -verType=$7 -pagMode=$8 -versionComp=$9 - -script_dir="$(dirname $(readlink -f $0))" -top_dir="$(readlink -f ${script_dir}/../..)" - -# create compressed install file. -build_dir="${compile_dir}/build" -code_dir="${top_dir}/src" -release_dir="${top_dir}/release" - -# package_name='linux' -if [ "$verMode" == "cluster" ]; then - install_dir="${release_dir}/jh_iot-enterprise-server-${version}" -else - install_dir="${release_dir}/jh_iot-server-${version}" -fi - -lib_files="${build_dir}/lib/libtaos.so.${version}" -header_files="${code_dir}/inc/taos.h ${code_dir}/inc/taoserror.h" -if [ "$verMode" == "cluster" ]; then - cfg_dir="${top_dir}/../enterprise/packaging/cfg" -else - cfg_dir="${top_dir}/packaging/cfg" -fi -install_files="${script_dir}/install_jh.sh" -nginx_dir="${code_dir}/../../enterprise/src/plugins/web" - -# make directories. -mkdir -p ${install_dir} -mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc -mkdir -p ${install_dir}/cfg && cp ${cfg_dir}/taos.cfg ${install_dir}/cfg/taos.cfg -mkdir -p ${install_dir}/bin - -# bin -if [ "$pagMode" == "lite" ]; then - strip ${build_dir}/bin/taosd - strip ${build_dir}/bin/taos -else - cp ${build_dir}/bin/taosdemo ${install_dir}/bin/jhdemo - cp ${build_dir}/bin/taosdump ${install_dir}/bin/jh_taosdump - cp ${build_dir}/bin/tarbitrator ${install_dir}/bin - cp ${script_dir}/set_core.sh ${install_dir}/bin - cp ${script_dir}/run_taosd.sh ${install_dir}/bin - cp ${script_dir}/get_client.sh ${install_dir}/bin - cp ${script_dir}/startPre.sh ${install_dir}/bin - cp ${script_dir}/taosd-dump-cfg.gdb ${install_dir}/bin -fi -cp ${build_dir}/bin/taos ${install_dir}/bin/jh_taos -cp ${build_dir}/bin/taosd ${install_dir}/bin/jh_taosd -cp ${script_dir}/remove_jh.sh ${install_dir}/bin -chmod a+x ${install_dir}/bin/* || : - -# cluster -if [ "$verMode" == "cluster" ]; then - sed 's/verMode=edge/verMode=cluster/g' ${install_dir}/bin/remove_jh.sh >> remove_jh_temp.sh - mv remove_jh_temp.sh ${install_dir}/bin/remove_jh.sh - - mkdir -p ${install_dir}/nginxd && cp -r ${nginx_dir}/* ${install_dir}/nginxd - cp ${nginx_dir}/png/taos.png ${install_dir}/nginxd/admin/images/taos.png - rm -rf ${install_dir}/nginxd/png - - # replace the OEM name - sed -i -e 's/www.taosdata.com/www.jhict.com/g' $(grep -r 'www.taosdata.com' ${install_dir}/nginxd | sed -r "s/(.*\.html):\s*(.*)/\1/g") - sed -i -e 's/2017/2021/g' $(grep -r '2017' ${install_dir}/nginxd | sed -r "s/(.*\.html):\s*(.*)/\1/g") - sed -i -e 's/TAOS Data/Jinheng Technology/g' $(grep -r 'TAOS Data' ${install_dir}/nginxd | sed -r "s/(.*\.html):\s*(.*)/\1/g") - sed -i -e 's/taosd/jh_taosd/g' `grep -r 'taosd' ${install_dir}/nginxd | grep -E '*\.js\s*.*' | sed -r -e 's/(.*\.js):\s*(.*)/\1/g' | sort | uniq` - sed -i -e 's/