#!/bin/bash accept=$1 port=$2 XMX=${3} silentInstall=$accept Check=`/opt/egvmagent/bin/xvt setup_vmagent` export Check if [ $Check = "FALSE" ] then echo "The eG VM Agent must be setup by the eG user. Exiting ..." exit fi if [ -z "$XMX" ] then XMX="-Xmx512m" fi if [ -z "$silentInstall" ] then echo "Configuring the eG VM Agent ..." echo " " echo "*************************************************************************" echo " The licensing terms for the eG software are mentioned in the file " echo " /opt/egvmagent/license_agreement. PLEASE READ THIS FILE BEFORE " echo " PROCEEDING FURTHER. " echo "*************************************************************************" echo " " echo "Please indicate if you accept the eG licensing terms y/n [n]: " read accept if test -z "$accept" ; then exit fi fi if test "$accept" != "y" ; then exit fi PATH=$PATH:/usr/bin export PATH if [ -z "$silentInstall" ] then clear fi #TMPDIR check this enviroment variable value if test -z "$TMPDIR" ; then TMPDIR="/tmp" fi EG_HOME=/opt/egvmagent export EG_HOME if [ -z "$silentInstall" ] then clear fi EG_CLASSPATH=$EG_HOME/lib/egvmagent.jar:$EG_HOME/lib/eg_util.jar export EG_CLASSPATH CLASSPATH=$EG_CLASSPATH export CLASSPATH if [ -z "$silentInstall" ] then echo "Setup of the eG VM Agent communication path" echo "******************************************" echo "Enter the port number of the eG VM Agent [60001]: " read port if test -z "$port" ; then port="60001" fi fi java_home="/opt/egvmagent/jre/" export java_home javaHome=$java_home export javaHome JAVA_HOME=$javaHome export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH export PATH JAVA_LIB=$javaHome/lib export JAVA_LIB PATH=/opt/egvmagent/bin:$JAVA_HOME/bin:/usr/bin:/bin:$PATH:/etc export PATH isJRE16=`/opt/egvmagent/jre/bin/java -version 2>&1 | grep "1.6" | wc -l` isJRE17=`/opt/egvmagent/jre/bin/java -version 2>&1 | grep "1.7" | wc -l` if [ $isJRE17 -eq 0 ] then isJRE17=`/opt/egvmagent/jre/bin/java -version 2>&1 | grep "1.8" | wc -l` fi isJRE10=`/opt/egvmagent/jre/bin/java -version 2>&1 | grep "10." | wc -l` isJRE12=`/opt/egvmagent/jre/bin/java -version 2>&1 | grep "12." | wc -l` export isJRE16 export isJRE17 export isJRE10 export isJRE12 javaCmd=" " if [ "$isJRE16" -ge "1" ] then javaCmd=" -XX:ErrorFile=/dev/null -XX:HeapDumpPath=/dev/null " fi if [ "$isJRE17" -ge "1" ] then javaCmd=" -XX:ErrorFile=/dev/null -XX:HeapDumpPath=/dev/null -XX:-CreateMinidumpOnCrash " fi if [ "$isJRE12" -ge "1" ] then javaCmd=" -Djavax.xml.soap.SAAJMetaFactory=com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl -XX:ErrorFile=/dev/null -XX:HeapDumpPath=/dev/null -XX:-CreateCoredumpOnCrash " elif [ "$isJRE10" -ge "1" ] then javaCmd=" --add-modules=java.xml.ws -Djavax.xml.soap.SAAJMetaFactory=com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl -XX:ErrorFile=/dev/null -XX:HeapDumpPath=/dev/null -XX:-CreateCoredumpOnCrash " fi EG_TEMP1=/tmp/eg_mon1 EG_TEMP2=/tmp/eg_mon2 AGENT_MON=$EG_HOME/bin/egvmagentmon export EG_TEMP1 EG_TEMP2 AGENT_MON cat $AGENT_MON | sed '/^#!\/bin\/sh/d' > $EG_TEMP1 cat $EG_TEMP1 | sed '/^JAVA_HOME=/d' > $EG_TEMP2 cat $EG_TEMP2 | sed '/^JAVA_LIB=/d' > $EG_TEMP1 cat $EG_TEMP1 | sed '/^export JAVA_HOME JAVA_LIB/d' > $EG_TEMP2 echo "#!/bin/sh" > $AGENT_MON echo "JAVA_HOME=$JAVA_HOME" >> $AGENT_MON echo "JAVA_LIB=$JAVA_LIB" >> $AGENT_MON echo "export JAVA_HOME JAVA_LIB" >> $AGENT_MON cat $EG_TEMP2 >> $AGENT_MON #rm -f $EG_TEMP1 $EG_TEMP2 echo "#!/bin/bash" > $EG_HOME/bin/start_vmagent echo "Check=\`/opt/egvmagent/bin/xvt start_vmagent\`" >> $EG_HOME/bin/start_vmagent echo "export Check" >> $EG_HOME/bin/start_vmagent echo "if [ \$Check = \"FALSE\" ]" >> $EG_HOME/bin/start_vmagent echo "then" >> $EG_HOME/bin/start_vmagent echo "echo \"The eG VM Agent must be started by the eG user. Exiting ...\"" >> $EG_HOME/bin/start_vmagent echo "exit" >> $EG_HOME/bin/start_vmagent echo "fi" >> $EG_HOME/bin/start_vmagent echo "" >> $EG_HOME/bin/start_vmagent echo "JAVA_HOME=$JAVA_HOME" >> $EG_HOME/bin/start_vmagent echo "export JAVA_HOME" >> $EG_HOME/bin/start_vmagent echo "JAVA_LIB=$JAVA_LIB" >> $EG_HOME/bin/start_vmagent echo "export JAVA_LIB" >> $EG_HOME/bin/start_vmagent echo " " >> $EG_HOME/bin/start_vmagent echo "ps1=" >> $EG_HOME/bin/start_vmagent echo "export ps1" >> $EG_HOME/bin/start_vmagent echo "PS1=" >> $EG_HOME/bin/start_vmagent echo "export PS1" >> $EG_HOME/bin/start_vmagent echo " " >> $EG_HOME/bin/start_vmagent echo "CLASSPATH=" >> $EG_HOME/bin/start_vmagent echo "export CLASSPATH" >> $EG_HOME/bin/start_vmagent echo "LD_LIBRARY_PATH=$EG_HOME/lib:$LDP\$LD_LIBRARY_PATH" >> $EG_HOME/bin/start_vmagent echo "export LD_LIBRARY_PATH" >> $EG_HOME/bin/start_vmagent echo "ulimit -c 0" >> $EG_HOME/bin/start_vmagent echo "EG_HOME=/opt/egvmagent" >> $EG_HOME/bin/start_vmagent echo "export EG_HOME" >> $EG_HOME/bin/start_vmagent echo "if [ ! -z \"\$JAVA_HOME\" ] " >> $EG_HOME/bin/start_vmagent echo "then" >> $EG_HOME/bin/start_vmagent echo "CLASSPATH=\$CLASSPATH:\$JAVA_LIB/tools.jar:\$JAVA_LIB/dt.jar:\$JAVA_LIB/rt.jar" >> $EG_HOME/bin/start_vmagent echo "export CLASSPATH" >> $EG_HOME/bin/start_vmagent echo "fi" >> $EG_HOME/bin/start_vmagent echo "LANG=en_US" >> $EG_HOME/bin/start_vmagent echo "export LANG" >> $EG_HOME/bin/start_vmagent echo "jar_list=\`ls \$EG_HOME/lib | grep \".jar\" | awk '{print \$1}'\`" >> $EG_HOME/bin/start_vmagent echo "if [ \"\$jar_list\" ]" >> $EG_HOME/bin/start_vmagent echo "then" >> $EG_HOME/bin/start_vmagent echo " for jar in \$jar_list" >> $EG_HOME/bin/start_vmagent echo " do" >> $EG_HOME/bin/start_vmagent echo " CLASSPATH=\$CLASSPATH:\$EG_HOME/lib/\$jar" >> $EG_HOME/bin/start_vmagent echo " export CLASSPATH" >> $EG_HOME/bin/start_vmagent echo " done" >> $EG_HOME/bin/start_vmagent echo "fi" >> $EG_HOME/bin/start_vmagent echo "zip_list=\`ls \$EG_HOME/lib | grep \".zip\" | awk '{print \$1}'\`" >> $EG_HOME/bin/start_vmagent echo "if [ \"\$zip_list\" ]" >> $EG_HOME/bin/start_vmagent echo "then" >> $EG_HOME/bin/start_vmagent echo " for zip in \$zip_list" >> $EG_HOME/bin/start_vmagent echo " do" >> $EG_HOME/bin/start_vmagent echo " CLASSPATH=\$CLASSPATH:\$EG_HOME/lib/\$zip" >> $EG_HOME/bin/start_vmagent echo " export CLASSPATH" >> $EG_HOME/bin/start_vmagent echo " done" >> $EG_HOME/bin/start_vmagent echo "fi" >> $EG_HOME/bin/start_vmagent echo "CLASSPATH=\$EG_HOME/lib/egvmagent.jar:\$EG_HOME/lib/eg_util.jar:\$CLASSPATH" >> $EG_HOME/bin/start_vmagent echo "export CLASSPATH" >> $EG_HOME/bin/start_vmagent echo "PATH=.:\$JAVA_HOME/bin:\$EG_HOME/bin:/sbin:/usr/bin:/usr/sbin:/bin:\$PATH:/usr/local/bin:/bin" >> $EG_HOME/bin/start_vmagent echo "export PATH" >> $EG_HOME/bin/start_vmagent echo "portNo=$port" >> $EG_HOME/bin/start_vmagent echo "export portNo" >> $EG_HOME/bin/start_vmagent echo "XMX=$XMX" >> $EG_HOME/bin/start_vmagent echo "export XMX" >> $EG_HOME/bin/start_vmagent echo "/opt/egvmagent/bin/stop_vmagent 0" >> $EG_HOME/bin/start_vmagent echo "unset JAVA_TOOL_OPTIONS" >> $EG_HOME/bin/start_vmagent echo "unset _JAVA_OPTIONS" >> $EG_HOME/bin/start_vmagent echo "unset IBM_JAVA_OPTIONS" >> $EG_HOME/bin/start_vmagent tru=`uname -a | grep "^OSF1" | wc -l` if [ $tru -eq 0 ] then echo "nohup /opt/egvmagent/jre/bin/java -Xrs -Deg.name=EgInsideViewServer $javaCmd \$XMX -Dsun.net.inetaddr.ttl=900 EgInsideViewServer -HomeDir \$EG_HOME -ServerPort \$portNo > /dev/null 2>/dev/null & " >> $EG_HOME/bin/start_vmagent else echo "/opt/egvmagent/jre/bin/java -fast32 -Xrs -Deg.name=EgInsideViewServer $javaCmd \$XMX -Dsun.net.inetaddr.ttl=900 EgInsideViewServer -HomeDir \$EG_HOME -ServerPort \$portNo > /dev/null 2>/dev/null & " >> $EG_HOME/bin/start_vmagent fi echo "sleep 5" >> $EG_HOME/bin/start_vmagent echo "ver=\"\`java com.eg.EgInstallInfo\`\"" >> $EG_HOME/bin/start_vmagent echo "export ver" >> $EG_HOME/bin/start_vmagent echo "val=\`ps -e -o pid,args | grep egvmagent/jre | grep -v grep | wc -l\`" >> $EG_HOME/bin/start_vmagent echo "if [ \$val -gt 0 ] " >> $EG_HOME/bin/start_vmagent echo "then " >> $EG_HOME/bin/start_vmagent echo "echo \"***************************************************************\"" >> $EG_HOME/bin/start_vmagent echo "echo \"The eG VM Agent \$ver has been started ...\"" >> $EG_HOME/bin/start_vmagent echo "echo \"Please check the file: \"/opt/egvmagent/logs/error_log\"\"" >> $EG_HOME/bin/start_vmagent echo "echo \"for any errors while executing the VM agent.\"" >> $EG_HOME/bin/start_vmagent echo "echo \"***************************************************************\"">> $EG_HOME/bin/start_vmagent echo "else" >> $EG_HOME/bin/start_vmagent echo "val=\`ps -e -o pid,args | grep \"java -Xrs\" | grep -v grep | wc -l\`" >> $EG_HOME/bin/start_vmagent echo "if [ \$val -gt 0 ] " >> $EG_HOME/bin/start_vmagent echo "then " >> $EG_HOME/bin/start_vmagent echo "echo \"***************************************************************\"" >> $EG_HOME/bin/start_vmagent echo "echo \"The eG VM Agent \$ver has been started ...\"" >> $EG_HOME/bin/start_vmagent echo "echo \"Please check the file: \"/opt/egvmagent/logs/error_log\"\"" >> $EG_HOME/bin/start_vmagent echo "echo \"for any errors while executing the VM agent.\"" >> $EG_HOME/bin/start_vmagent echo "echo \"***************************************************************\"">> $EG_HOME/bin/start_vmagent echo "else" >> $EG_HOME/bin/start_vmagent echo "val=\`ps -e -o pid,args | grep \"java -fast32\" | grep -v grep | wc -l\`" >> $EG_HOME/bin/start_vmagent echo "if [ \$val -gt 0 ] " >> $EG_HOME/bin/start_vmagent echo "then " >> $EG_HOME/bin/start_vmagent echo "echo \"***************************************************************\"" >> $EG_HOME/bin/start_vmagent echo "echo \"The eG VM Agent \$ver has been started ...\"" >> $EG_HOME/bin/start_vmagent echo "echo \"Please check the file: \"/opt/egvmagent/logs/error_log\"\"" >> $EG_HOME/bin/start_vmagent echo "echo \"for any errors while executing the VM agent.\"" >> $EG_HOME/bin/start_vmagent echo "echo \"***************************************************************\"">> $EG_HOME/bin/start_vmagent echo "else" >> $EG_HOME/bin/start_vmagent echo "echo \"***********************************************************************\"" >> $EG_HOME/bin/start_vmagent echo "echo \"The eG VM Agent \$ver failed to start ...\"" >> $EG_HOME/bin/start_vmagent echo "echo \"Please check the file: /opt/egvmagent/logs/error_log for details.\"" >> $EG_HOME/bin/start_vmagent echo "echo \"***********************************************************************\"" >> $EG_HOME/bin/start_vmagent echo "fi" >> $EG_HOME/bin/start_vmagent echo "fi" >> $EG_HOME/bin/start_vmagent echo "fi" >> $EG_HOME/bin/start_vmagent echo "nohup /opt/egvmagent/bin/egvmagentmon start > /dev/null 2>&1 &" >> $EG_HOME/bin/start_vmagent chmod +x $EG_HOME/bin/start_vmagent CLASSPATH=$EG_CLASSPATH # To change permissions for the following scripts to enable only the eG user to # execute them chmod 700 /opt/egvmagent/bin/start_vmagent /opt/egvmagent/bin/stop_vmagent if [ -z "$silentInstall" ] then clear echo "****************************************************************************" echo " " echo " The eG VM Agent has been configured successfully." echo " Please use the commands /opt/egvmagent/bin/start_vmagent and" echo " /opt/egvmagent/bin/stop_vmagent to start and stop the VM agent." echo " " echo " To provide feedback and report errors, please contact " echo " support@eginnovations.com." echo "*************************************************************************" echo " " fi