summarylogtreecommitdiffstats
path: root/easyconnect-sdu.install
diff options
context:
space:
mode:
Diffstat (limited to 'easyconnect-sdu.install')
-rw-r--r--easyconnect-sdu.install189
1 files changed, 189 insertions, 0 deletions
diff --git a/easyconnect-sdu.install b/easyconnect-sdu.install
new file mode 100644
index 000000000000..8542ef59c671
--- /dev/null
+++ b/easyconnect-sdu.install
@@ -0,0 +1,189 @@
+pre_install() {
+ #打包的时候替换
+ PAK_ARCH="amd64"
+ #错误输出位置
+ ERR_OUT=/tmp/EasyConnectSDU.install.error
+
+ #清空之前可能存在的错误日志信息
+ if [ -f $ERR_OUT ]
+ then
+ echo > $ERR_OUT
+ fi
+ uname -a | grep x86_64 > /dev/null
+ if [ $? -eq 0 ]
+ then
+ if [ $PAK_ARCH = "i386" ]
+ then
+ echo "deb pkg is 32bit, os is 64bit, can't install..."
+ echo "deb pkg is 32bit, os is 64bit, can't install..." >>$ERR_OUT
+ exit -1
+ fi
+ else
+ if [ $PAK_ARCH = "amd64" ]
+ then
+ echo "deb pkg is 64bit, os is 32bit, can't install..."
+ echo "deb pkg is 64bit, os is 32bit, can't install..." >>$ERR_OUT
+ exit -1
+ fi
+ fi
+
+}
+
+post_install() {
+
+ #######################################################################
+ #宏定义
+ EasyConnectDir=/usr/share/sangfor/EasyConnect
+ ResourcesDir=${EasyConnectDir}/resources
+
+ ECAGENT_IMPORT_CA=${ResourcesDir}"/usr/bin/ECAgent --install-import-cert"
+ #######################################################################
+
+ ###################
+ #添加系统服务
+ ###################
+ system_add_service()
+ {
+ systemctl enable EasyMonitor
+ systemctl start EasyMonitor
+ }
+ add_service()
+ {
+ #导入证书
+ ${ECAGENT_IMPORT_CA} > /dev/null 2>&1
+
+ system_add_service
+ }
+ #更改文件权限
+ change_authority(){
+
+ #文件权限处理
+ chmod +x ${EasyConnectDir}/EasyConnect
+ #保证logs文件夹存在
+ mkdir -p ${ResourcesDir}/logs
+ chmod 755 ${ResourcesDir}/logs
+ ###CSClient创建的域套接字的句柄在这个地方,要加写权限,可以考录换个目录
+ chmod 755 ${ResourcesDir}/conf -R
+ chmod +x ${ResourcesDir}/shell/*
+
+ #更改所有者
+ chown root:root ${ResourcesDir}/bin/ECAgent
+ chown root:root ${ResourcesDir}/bin/svpnservice
+ chown root:root ${ResourcesDir}/bin/CSClient
+ #添加s权限
+ chmod +s ${ResourcesDir}/bin/ECAgent
+ chmod +s ${ResourcesDir}/bin/svpnservice
+ chmod +s ${ResourcesDir}/bin/CSClient
+ }
+ #手动启动EasyMonitor,这里处理可能有不妥之处,需要修改
+ #${ResourcesDir}/bin/EasyMonitor
+
+ change_authority
+ add_service
+ exit 0
+}
+
+pre_upgrade() {
+ pre_install
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+
+ #EasyMonitor位置
+ EASYMONITOR="/usr/share/sangfor/EasyConnect/resources/bin/EasyMonitor"
+
+
+ ###################
+ #删除系统服务
+ ###################
+ system_del_service()
+ {
+ systemctl stop EasyMonitor
+ systemctl disable EasyMonitor
+ }
+
+ del_service()
+ {
+ system_del_service
+ }
+
+ #杀死可能存在的EC进程
+ kill_programe()
+ {
+
+ #停止所有相关进程
+ pidof EasyMonitor
+ if [ $? -eq 0 ];then
+ killall EasyMonitor
+ fi
+ pidof EasyMonitor
+ if [ $? -eq 0 ];then
+ killall -9 EasyMonitor
+ fi
+
+ pidof ECAgent
+ if [ $? -eq 0 ];then
+ killall ECAgent
+ fi
+ pidof ECAgent
+ if [ $? -eq 0 ];then
+ killall -9 ECAgent
+ fi
+
+ pidof EasyConnect
+ if [ $? -eq 0 ];then
+ killall EasyConnect
+ fi
+ pidof EasyConnect
+ if [ $? -eq 0 ];then
+ killall -9 EasyConnect
+ fi
+
+ pidof CSClient
+ if [ $? -eq 0 ];then
+ killall CSClient
+ fi
+ pidof CSClient
+ if [ $? -eq 0 ];then
+ killall -9 CSClient
+ fi
+
+ pidof svpnservice
+ if [ $? -eq 0 ];then
+ killall svpnservice
+ fi
+ pidof svpnservice
+ if [ $? -eq 0 ];then
+ killall -9 svpnservice
+ fi
+
+
+ }
+
+ #恢复之前修改的所有相关的配置信息
+ recover_ec()
+ {
+ #调用EasyMonitor
+ ${EASYMONITOR} -a -r > /dev/null 2>&1
+ }
+
+
+ #停止服务
+ del_service
+ #杀死相关进程
+ kill_programe
+ #恢复配置
+ recover_ec
+
+ echo "rm pkg before..."
+ exit 0
+}
+
+post_remove() {
+ rm -rf /usr/share/sangfor/EasyConnect
+ exit 0
+}