From 0021ca0b572ecbe840905d020f19db8241295acd Mon Sep 17 00:00:00 2001 From: huangfeng Date: Fri, 1 Nov 2024 14:32:09 +0800 Subject: [PATCH] =?UTF-8?q?build:=20ubuntu22=E5=AE=89=E8=A3=85=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../libaio1_0.3.112-13build1_amd64.deb | Bin 7176 -> 0 bytes ncac/ubuntu22/setup.sh | 357 ++++++++++++++++++ 2 files changed, 357 insertions(+) delete mode 100644 ncac/package/ubuntu22/libaio1_0.3.112-13build1_amd64.deb create mode 100644 ncac/ubuntu22/setup.sh diff --git a/ncac/package/ubuntu22/libaio1_0.3.112-13build1_amd64.deb b/ncac/package/ubuntu22/libaio1_0.3.112-13build1_amd64.deb deleted file mode 100644 index fc286890f764053f62056707da312447330a45d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7176 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" + echo "" + dpkg -i package/libmecab2_0.996-14build9_amd64.deb + dpkg -i package/libtinfo5_6.3-2ubuntu0.1_amd64.deb + + dpkg -i package/mysql-common_5.7.42-1ubuntu18.04_amd64.deb + dpkg -i package/mysql-community-client_5.7.42-1ubuntu18.04_amd64.deb + dpkg -i package/mysql-client_5.7.42-1ubuntu18.04_amd64.deb + debconf-set-selections <<< "mysql-community-server mysql-community-server/root-pass password ${DB_PASS}" + debconf-set-selections <<< "mysql-community-server mysql-community-server/re-root-pass password ${DB_PASS}" + dpkg -i package/mysql-community-server_5.7.42-1ubuntu18.04_amd64.deb + dpkg -i package/mysql-server_5.7.42-1ubuntu18.04_amd64.deb + sleep 1 + echo "" + + echo " 停止Mysql ..." + echo "" + systemctl stop mysql + sleep 1 + sed -i 's/123456/'${DB_PASS}'/' package/init.sql + sed -i 's/cacdb/'${DB_INS}'/g' package/cacdb.sql + + echo " 初始化数据库 ..." + echo "" + mv /var/lib/mysql ${DB_DIR} + chown -R mysql:mysql ${DB_DIR} + sed -i 's/^[^#]*bind-address*/#&/g' /etc/mysql/mysql.conf.d/mysqld.cnf + sed -i 's#datadir.*#datadir='${DB_DIR}'#' /etc/mysql/mysql.conf.d/mysqld.cnf + sed -i 's#/var/lib/mysql/#'${DB_DIR}/'#' /etc/apparmor.d/usr.sbin.mysqld + service apparmor reload + systemctl start mysql + sleep 1 + export MYSQL_PWD=${DB_PASS} + mysql -u root < package/init.sql + mysql -u root < package/cacdb.sql + sleep 1 + echo " 重启数据库 ..." + echo "" + systemctl restart mysql +} + +#################### 安装OpenJDK ################################################ +installJDK(){ + echo "************[prepare to install OpenJDK]准备开始装OpenJDK >>>>>>>>>>>>>" + echo "" + JDK_HOME=${BASE_DIR}/jdk + if [ ! -d ${JDK_HOME} ]; then + tar -zxf package/jdk_x64_linux_8u392b08.tar.gz -C ${BASE_DIR} + ln -s ${BASE_DIR}/jdk8u392-b08 ${BASE_DIR}/jdk + echo ${JDK_HOME}" installed." + + if [ `grep -c JAVA_HOME=${JDK_HOME} /etc/profile` -eq '0' ]; then + echo 'export JAVA_HOME='${JDK_HOME} >> /etc/profile + echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile + source /etc/profile + fi + else + echo ${JDK_HOME}" found, 跳过JDK." + fi + JAVA_PATH=${JDK_HOME}/bin/java + echo "" + sleep 1 +} + +#################### 安装Nginx ################################################ +installNginx(){ + echo "************[prepare to install Nginx]准备开始装Nginx >>>>>>>>>>>>>" + echo "" + NGX_HOME=${BASE_DIR}/nginx + if [ ! -d ${NGX_HOME} ]; then + tar -zxf package/nginx.tar.gz -C ${BASE_DIR} + echo ${NGX_HOME}" installed." + sed -i 's#/etc/nginx/conf.d#'${BASE_DIR}'/conf#g' ${NGX_HOME}/conf/nginx.conf + + echo ' echo "Starting nginx"' > ${BIN_DIR}/startNginx.sh + echo ${NGX_HOME}'/sbin/nginx -p '${NGX_HOME}' -c '${NGX_HOME}'/conf/nginx.conf' >> ${BIN_DIR}/startNginx.sh + echo ' echo "Stopping nginx"' > ${BIN_DIR}/stopNginx.sh + echo ${NGX_HOME}'/sbin/nginx -s stop -p '${NGX_HOME} >> ${BIN_DIR}/stopNginx.sh + chmod +x ${BIN_DIR}/startNginx.sh + chmod +x ${BIN_DIR}/stopNginx.sh + else + echo ${NGX_HOME}" found, 跳过Nginx." + fi + echo "" + sleep 1 +} + +#################### 安装Redis ################################################ +installRedis(){ + echo "************[prepare to install Redis]准备开始安装Redis >>>>>>>>>>>>>" + echo "" + REDIS_HOME=${BASE_DIR}/redis + if [ ! -d ${REDIS_HOME} ]; then + tar -zxf package/redis-5.0.14-x86_64.tar.gz -C ${BASE_DIR} + echo ${REDIS_HOME}" installed." + + sed -i 's/daemonize no/daemonize yes/' ${REDIS_HOME}/conf/redis.conf + sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' ${REDIS_HOME}/conf/redis.conf + sed -i 's/# requirepass foobared/requirepass '${REDIS_PASS}'/' ${REDIS_HOME}/conf/redis.conf + + echo "cd "${REDIS_HOME} > ${BIN_DIR}/startRedis.sh + echo ${REDIS_HOME}/bin/redis-server ${REDIS_HOME}/conf/redis.conf >> ${BIN_DIR}/startRedis.sh + echo 'if [ -n "$(ps -ef | grep redis-server | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' > ${BIN_DIR}/stopRedis.sh + echo " rm -f ${BASE_DIR}/RUNNING.lock" >> ${BIN_DIR}/stopRedis.sh + echo ' kill $(ps -ef | grep redis-server | grep -v grep | awk '"'"'{print $2}'"'"')' >> ${BIN_DIR}/stopRedis.sh + echo ' echo "redis-server is stopping"' >> ${BIN_DIR}/stopRedis.sh + echo 'else' >> ${BIN_DIR}/stopRedis.sh + echo ' echo "redis-server is not running"' >> ${BIN_DIR}/stopRedis.sh + echo 'fi' >> ${BIN_DIR}/stopRedis.sh + chmod +x ${BIN_DIR}/startRedis.sh + chmod +x ${BIN_DIR}/stopRedis.sh + else + echo ${REDIS_HOME}" found, 跳过Redis." + fi + echo "" + sleep 1 +} + +#################### 安装New CAC ################################################ +installNewCAC(){ + echo "************[installing New CAC]正在安装New CAC >>>>>>>>>>>>>" + echo "" + APP_NAME=cac-backend-1.0 + rm -rf ${CAC_DIR}/* + cp package/${APP_NAME}.jar ${CAC_DIR}/ + unzip -q package/static.zip -d ${CAC_DIR}/ + cp package/cac.conf ${BASE_DIR}/conf/ + sed -i 's#/home/xydl/ncac#'${CAC_DIR}'#g' ${BASE_DIR}/conf/cac.conf + echo ${CAC_DIR}" installed." + unzip -qj package/${APP_NAME}.jar BOOT-INF/classes/application-prod.yml -d ${CAC_DIR}/config + sleep 1 + sed -i 's/iec104/'${DB_INS}'/' ${CAC_DIR}/config/application-prod.yml + sed -i 's/127.0.0.1:3306/'${DB_IP}':'${DB_PORT}'/' ${CAC_DIR}/config/application-prod.yml + sed -i 's/username: iec/username: '${DB_USER}'/' ${CAC_DIR}/config/application-prod.yml + sed -i 's/password: Iec@1043/password: '${DB_PASS}'/' ${CAC_DIR}/config/application-prod.yml + sed -i 's#/home/xydl/ncac#'${CAC_DIR}'#' ${CAC_DIR}/config/application-prod.yml + + echo '#!/bin/bash' > ${BIN_DIR}/startCac.sh + echo 'if [ -n "$(ps -ef | grep '${APP_NAME}' | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' >> ${BIN_DIR}/startCac.sh + echo ' echo "'${APP_NAME}' is running"' >> ${BIN_DIR}/startCac.sh + echo 'else' >> ${BIN_DIR}/startCac.sh + echo " cd "${CAC_DIR} >> ${BIN_DIR}/startCac.sh + echo ' echo "Starting '${APP_NAME}'"' >> ${BIN_DIR}/startCac.sh + echo " nohup ${JAVA_PATH} -jar ${APP_NAME}.jar --spring.profiles.active=prod >/dev/null 2>&1 &" >> ${BIN_DIR}/startCac.sh + echo " rm -f ${CAC_DIR}/RUNNING.lock" >> ${BIN_DIR}/startCac.sh + echo 'fi' >> ${BIN_DIR}/startCac.sh + + echo '#!/bin/bash' > ${BIN_DIR}/stopCac.sh + echo 'if [ -n "$(ps -ef | grep '${APP_NAME}' | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' >> ${BIN_DIR}/stopCac.sh + echo " rm -f ${CAC_DIR}/RUNNING.lock" >> ${BIN_DIR}/stopCac.sh + echo ' kill $(ps -ef | grep '${APP_NAME}' | grep -v grep | awk '"'"'{print $2}'"'"')' >> ${BIN_DIR}/stopCac.sh + echo ' echo "Stopping '${APP_NAME}'"' >> ${BIN_DIR}/stopCac.sh + echo 'else' >> ${BIN_DIR}/stopCac.sh + echo ' echo "'${APP_NAME}' is not running"' >> ${BIN_DIR}/stopCac.sh + echo 'fi' >> ${BIN_DIR}/stopCac.sh + chmod +x ${BIN_DIR}/startCac.sh + chmod +x ${BIN_DIR}/stopCac.sh + echo "" + if [ `grep -c ${BIN_DIR} /etc/profile` -eq '0' ]; then + echo 'export PATH=$PATH:'${BIN_DIR} >> /etc/profile + source /etc/profile + fi + sleep 1 +} + +#################### 安装61850 ################################################ +install61850(){ + echo "************[installing 61850]正在安装61850 >>>>>>>>>>>>>" + echo "" + QTDIR=/usr/local/Trolltech/Qt-4.8.6 + if [ ! -d ${QTDIR} ]; then + tar -zxf package/Trolltech.tar.gz -C /usr/local + echo ${QTDIR}" installed." + else + echo ${QTDIR}" found, 跳过QT." + fi + echo "" + sleep 1 + + GUI_DIR=${BASE_DIR}/61850_GUI + rm -rf ${GUI_DIR} + tar -zxf package/61850_GUI.tar.gz -C ${BASE_DIR} + cp package/stop61850.sh ${BIN_DIR}/ + cp package/check61850.sh ${BIN_DIR}/ + echo ${GUI_DIR}" installed." + echo "" + sleep 1 + if [ `grep -c QTDIR=${QTDIR} /etc/profile` -eq '0' ]; then + echo 'export QTDIR='${QTDIR} >> /etc/profile + echo 'export QT_HOME='${QTDIR} >> /etc/profile + echo 'export PATH=$PATH:'${QTDIR}'/bin:'${GUI_DIR} >> /etc/profile + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'${QTDIR}'/lib:'${QTDIR}'/plugins/sqldrivers:'${GUI_DIR} >> /etc/profile + source /etc/profile + fi + + sed -i 's/hostname=127.0.0.1/hostname='${DB_IP}'/' ${GUI_DIR}/syscfg.ini + sed -i 's/port=3306/port='${DB_PORT}'/' ${GUI_DIR}/syscfg.ini + sed -i 's/dbname=cacdb/dbname='${DB_INS}'/' ${GUI_DIR}/syscfg.ini + sed -i 's/usrname=root/usrname='${DB_USER}'/' ${GUI_DIR}/syscfg.ini + sed -i 's/psw=123456/psw='${DB_PASS}'/' ${GUI_DIR}/syscfg.ini + sed -i 's#/home/xydl#'${BASE_DIR}'#g' ${BIN_DIR}/check61850.sh + sed -i 's#/home/xydl#'${BASE_DIR}'#g' ${BIN_DIR}/stop61850.sh + + APP_NAME=61850Gui_Release_zhenan + echo '#!/bin/bash' > ${BIN_DIR}/start61850.sh + echo 'export QTDIR='${QTDIR} >> ${BIN_DIR}/start61850.sh + echo 'export QT_HOME='${QTDIR} >> ${BIN_DIR}/start61850.sh + echo 'export PATH=$PATH:'${QTDIR}'/bin:'${GUI_DIR} >> ${BIN_DIR}/start61850.sh + echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'${QTDIR}'/lib:'${QTDIR}'/plugins/sqldrivers:'${GUI_DIR} >> ${BIN_DIR}/start61850.sh + echo 'export DISPLAY=:0' >> ${BIN_DIR}/start61850.sh + echo 'if [ -n "$(ps -ef | grep '${APP_NAME}' | grep -v grep | awk '"'"'{print $2}'"'"')" ]; then' >> ${BIN_DIR}/start61850.sh + echo ' echo "'${APP_NAME}' is running"' >> ${BIN_DIR}/start61850.sh + echo 'else' >> ${BIN_DIR}/start61850.sh + echo " cd "${GUI_DIR} >> ${BIN_DIR}/start61850.sh + echo ' echo "Starting '${APP_NAME}'"' >> ${BIN_DIR}/start61850.sh + echo " nohup ./${APP_NAME} >/dev/null 2>&1 &" >> ${BIN_DIR}/start61850.sh + echo " rm -f ${GUI_DIR}/RUNNING.lock" >> ${BIN_DIR}/start61850.sh + echo 'fi' >> ${BIN_DIR}/start61850.sh + + echo '#!/bin/bash' > ${BIN_DIR}/restart61850.sh + echo 'cd '${BIN_DIR} >> ${BIN_DIR}/restart61850.sh + echo "./stop61850.sh" >> ${BIN_DIR}/restart61850.sh + echo "./start61850.sh" >> ${BIN_DIR}/restart61850.sh + + chmod +x ${BIN_DIR}/start61850.sh + chmod +x ${BIN_DIR}/stop61850.sh + chmod +x ${BIN_DIR}/restart61850.sh + chmod +x ${BIN_DIR}/check61850.sh +} + + +#################### 加入开机启动 ################################################ +setAutoStartCac(){ + if [ `grep -c ${BIN_DIR}/startCac.sh /etc/rc.local` -eq '0' ]; then + echo '#NewCAC' >> /etc/rc.local + echo ${BIN_DIR}/startCac.sh >> /etc/rc.local + fi + echo "CAC已加入开机启动." + echo "" +} +setAutoStart61850(){ + job="* * * * * ${BIN_DIR}/check61850.sh > /dev/null 2>&1 " + echo "$job" > cron.cron + job2="15 1 * * * ${BIN_DIR}/restart61850.sh " + echo "$job2" >> cron.cron + crontab cron.cron + echo "61850巡检任务已加入crontab." + echo "" + rm -f cron.cron +} +setAutoStartRedis(){ + if [ `grep -c ${BIN_DIR}/startRedis.sh /etc/rc.local` -eq '0' ]; then + echo '#Redis' >> /etc/rc.local + echo ${BIN_DIR}/startRedis.sh >> /etc/rc.local + echo "Redis已加入开机启动." + echo "" + fi +} +setAutoStartNginx(){ + if [ `grep -c ${BIN_DIR}/startNginx.sh /etc/rc.local` -eq '0' ]; then + echo '#Nginx' >> /etc/rc.local + echo ${BIN_DIR}/startNginx.sh >> /etc/rc.local + echo "Nginx已加入开机启动." + echo "" + fi +} + +updateFirewall(){ + echo "更新防火墙规则." + echo "" + ufw allow 80/tcp + ufw allow 443/tcp + ufw allow 3306/tcp + ufw allow 102/tcp +} + + + +sed -i 's/\r//g' setup.ini +source setup.ini + +if [ $CAC_INS == 1 ]; then + if [ $JDK_INS == 0 ]; then + JAVA_PATH=$(which java) + if [ -z $JAVA_PATH ]; then + JDK_INS=1 + fi + fi +fi + +BASE_DIR=${BASE_DIR%*/} +BIN_DIR=${BASE_DIR}/bin +CAC_DIR=${BASE_DIR}/ncac + +### 创建默认的目录 +mkdir -p ${BIN_DIR} +mkdir -p ${CAC_DIR} +mkdir -p ${BASE_DIR}/conf +if [ ! -e "/etc/rc.local" ]; then + cp package/rc.local /etc/ +fi +chmod +x /etc/rc.local +if [ `grep -c '[Install]' /lib/systemd/system/rc-local.service` -eq '0' ]; then + echo '' >> /lib/systemd/system/rc-local.service + echo '[Install]' >> /lib/systemd/system/rc-local.service + echo 'WantedBy=multi-user.target' >> /lib/systemd/system/rc-local.service + systemctl daemon-reload +fi + +if [ $MYSQL_INS == 1 ]; then + installDatabase +fi + +if [ $JDK_INS == 1 ]; then + installJDK +fi + +if [ $REDIS_INS == 1 ]; then + installRedis + setAutoStartRedis +fi + +if [ $CAC_INS == 1 ]; then + installNewCAC + if [ $AUTO_START == 1 ]; then + setAutoStartCac + fi +fi + +if [ $NGINX_INS == 1 ]; then + installNginx + setAutoStartNginx +fi + +updateFirewall + +echo "************[install finished.]安装完成. >>>>>>>>>>>>>" +echo "" +sleep 1 +echo "tips: 记得运行 source /etc/profile 使配置生效,之后可以使用${BIN_DIR}目录下的下列脚本" +cd ${BIN_DIR} +ls +echo "" \ No newline at end of file