# /* # * << postremove >> # * All Rights Reserved. Copyright (C) 2002, 2008, Hitachi, Ltd. # */ DSK_PATH="/dev/dsk" RDSK_PATH="/dev/rdsk" DMP_PATH="/dev/vx/dmp" RDMP_PATH="/dev/vx/rdmp" #PP_NAME="Hitachi Dynamic Link Manager" HBSA_DIR=/opt/HDVM/HBaseAgent HBSA_RTN=0 HBSA_CNT=30 INS_STATUS="uninstallation" #----------------------------------------------------- # Remove "config", "log" and "help" directories # under "/opt/DynamicLinkManager". #----------------------------------------------------- echo "## Removing pathnames" if [ -d $BASEDIR/opt/DynamicLinkManager ] then echo "/opt/DynamicLinkManager/*" rm -fr $BASEDIR/opt/DynamicLinkManager fi if [ -d $BASEDIR/var/opt/DynamicLinkManager ] then echo "/var/opt/DynamicLinkManager/*" rm -fr $BASEDIR/var/opt/DynamicLinkManager fi # DRVSOL05900020 START #----------------------------------------------------- # Edit and Remove : /etc/devlinktab #----------------------------------------------------- sed ' { /dlmfdrv/d /dlmadrv/d } ' $BASEDIR/etc/devlink.tab > $BASEDIR/etc/HDLMdevlink.tab_$$ 2> /dev/null SED_STATUS=$? if [ $SED_STATUS -eq 0 ] then diff $BASEDIR/etc/devlink.tab $BASEDIR/etc/HDLMdevlink.tab_$$ > /dev/null 2>&1 if [ $? -eq 1 ] then cp -p $BASEDIR/etc/devlink.tab $BASEDIR/etc/devlink.tab.sav__$$ > /dev/null 2>&1 if [ $? -eq 0 ] then cp $BASEDIR/etc/HDLMdevlink.tab_$$ $BASEDIR/etc/devlink.tab > /dev/null 2>&1 if [ $? -ne 0 ] then mv -f $BASEDIR/etc/devlink.tab.sav__$$ $BASEDIR/etc/devlink.tab > /dev/null 2>&1 else echo "Modifying /etc/devlink.tab" fi fi rm -f $BASEDIR/etc/devlink.tab.sav__$$ > /dev/null 2>&1 fi fi rm -f $BASEDIR/etc/HDLMdevlink.tab_$$ > /dev/null 2>&1 #----------------------------------------------------- # Edit and Remove : /etc/system #----------------------------------------------------- # DRVSOL05900022 START sed ' { /^* HDLM start (do not remove)/d /^forceload:[ ]*drv\/dlm[anf]drv/d /^* HDLM end (do not remove)/d } ' $BASEDIR/etc/system > $BASEDIR/etc/HDLMsystem_$$ 2> /dev/null # DRVSOL05900022 END SED_STATUS=$? if [ $SED_STATUS -eq 0 ] then diff $BASEDIR/etc/system $BASEDIR/etc/HDLMsystem_$$ > /dev/null 2>&1 if [ $? -eq 1 ] then cp -p $BASEDIR/etc/system $BASEDIR/etc/system.sav__$$ > /dev/null 2>&1 if [ $? -eq 0 ] then cp $BASEDIR/etc/HDLMsystem_$$ $BASEDIR/etc/system > /dev/null 2>&1 if [ $? -ne 0 ] then mv -f $BASEDIR/etc/system.sav__$$ $BASEDIR/etc/system > /dev/null 2>&1 else echo "Modifying /etc/system" fi fi rm -f $BASEDIR/etc/system.sav__$$ > /dev/null 2>&1 fi fi rm -f $BASEDIR/etc/HDLMsystem_$$ > /dev/null 2>&1 # DRVSOL05900020 END #----------------------------------------------------- # Remove rc scripts #----------------------------------------------------- if [ -f $BASEDIR/etc/rc2.d/S20DLMManager ] then echo "/etc/rc2.d/S20DLMManager" rm -f $BASEDIR/etc/rc2.d/S20DLMManager fi if [ -f $BASEDIR/etc/rc0.d/K02DLMManager ] #DRVSOL05040020 then #DRVSOL05040020 echo "/etc/rc0.d/K02DLMManager" #DRVSOL05040020 rm -f $BASEDIR/etc/rc0.d/K02DLMManager #DRVSOL05040020 fi #DRVSOL05040020 if [ -f $BASEDIR/etc/init.d/dlmmanager ] #DRVSOL05040020 then #DRVSOL05040020 echo "/etc/init.d/dlmmanager " #DRVSOL05040020 rm -f $BASEDIR/etc/init.d/dlmmanager #DRVSOL05040020 fi #DRVSOL05040020 if [ -f $BASEDIR/etc/rc2.d/S20DLMInitpath ] then echo "/etc/rc2.d/S20DLMInitpath" rm -f $BASEDIR/etc/rc2.d/S20DLMInitpath fi if [ -f $BASEDIR/etc/rcS.d/S55hdlmload ] then echo "/etc/rcS.d/S55hdlmload" rm -f $BASEDIR/etc/rcS.d/S55hdlmload fi if [ -f $BASEDIR/etc/rcS.d/S61hdlmload ] then echo "/etc/rcS.d/S61hdlmload" rm -f $BASEDIR/etc/rcS.d/S61hdlmload fi if [ -f $BASEDIR/etc/rc2.d/S76hdlmonlinepath ] then echo "/etc/rc2.d/S76hdlmonlinepath" rm -f $BASEDIR/etc/rc2.d/S76hdlmonlinepath fi #----------------------------------------------------- DRVSOL05610009 # Delete service instances of SMF DRVSOL05610009 #----------------------------------------------------- DRVSOL05610009 SOLVER=`uname -r` # DRVSOL05610009 # DRVSOL05610009 if [ "${SOLVER}" = "5.10" ] # DRVSOL05610009 then # DRVSOL05610009 HDLMLOAD_SVC="system/device/hdlmload@system-device-hdlmload:default.log" # DRVSOL05800019 HDLMMANAGER_SVC="system/hdlm-manager@system-hdlm-manager:default.log" # DRVSOL05800019 HDLMINITPATH_SVC="system/hdlm-initpath@system-hdlm-initpath:default.log" # DRVSOL05800019 HDLMONLINEPATH_SVC="system/hdlm-onlinepath@system-hdlm-onlinepath:default.log" # DRVSOL05800019 HDLMALL_SVC="${HDLMLOAD_SVC} ${HDLMMANAGER_SVC} ${HDLMINITPATH_SVC} ${HDLMONLINEPATH_SVC}" # DRVSOL05800019 for HDLM_SVC in `echo ${HDLMALL_SVC}` # DRVSOL05800019 do # DRVSOL05800019 HDLM_FMRI=`echo ${HDLM_SVC} | awk -F"@" '{print $1}'` # DRVSOL05800019 HDLM_SVCLOG=`echo ${HDLM_SVC} | awk -F"@" '{print $2}'` # DRVSOL05800019 svcs ${HDLM_FMRI} > /dev/null 2>&1 # DRVSOL05610009 if [ $? -eq 0 ] # DRVSOL05610009 then # DRVSOL05610009 # svcadm disable ${HDLM_FMRI} # DRVSOL05610052 svccfg delete -f ${HDLM_FMRI} # DRVSOL05610047 rm -f $BASEDIR/etc/svc/volatile/$HDLM_SVCLOG > /dev/null 2>&1 # DRVSOL05610056 rm -f $BASEDIR/var/svc/log/$HDLM_SVCLOG > /dev/null 2>&1 # DRVSOL05610056 rm -f $BASEDIR/var/svc/log/${HDLM_SVCLOG}.[0-9] > /dev/null 2>&1 # DRVSOL05800045 fi # DRVSOL05610009 done # DRVSOL05800019 # remove logadm.conf entry # DRVSOL05800046 if [ -w $BASEDIR/etc/logadm.conf ] # DRVSOL05800046 then # DRVSOL05800046 sed ' { /\/var\/svc\/log\/system-device-hdlmload:default.log/d /\/var\/svc\/log\/system-hdlm-manager:default.log/d /\/var\/svc\/log\/system-hdlm-initpath:default.log/d /\/var\/svc\/log\/system-hdlm-onlinepath:default.log/d } ' $BASEDIR/etc/logadm.conf > $BASEDIR/etc/HDLMlogadm.conf_$$ 2> /dev/null SED_STATUS=$? # DRVSOL05800046 if [ $SED_STATUS -eq 0 ] # DRVSOL05800046 then # DRVSOL05800046 cp -p $BASEDIR/etc/logadm.conf $BASEDIR/etc/logadm.conf.sav__$$ > /dev/null 2>&1 # DRVSOL05800046 if [ $? -eq 0 ] # DRVSOL05800046 then # DRVSOL05800046 cp $BASEDIR/etc/HDLMlogadm.conf_$$ $BASEDIR/etc/logadm.conf > /dev/null 2>&1 # DRVSOL05800046 if [ $? -ne 0 ] # DRVSOL05800046 then # DRVSOL05800046 mv -f $BASEDIR/etc/logadm.conf.sav__$$ $BASEDIR/etc/logadm.conf # DRVSOL05800046 fi # DRVSOL05800046 fi # DRVSOL05800046 rm -f $BASEDIR/etc/logadm.conf.sav__$$ > /dev/null 2>&1 # DRVSOL05800046 fi # DRVSOL05800046 rm -f $BASEDIR/etc/HDLMlogadm.conf_$$ > /dev/null 2>&1 # DRVSOL05800046 fi # DRVSOL05800046 fi # DRVSOL05610009 #----------------------------------------------------- # Remove dlmfdrv.unconf #----------------------------------------------------- if [ -f $BASEDIR/opt/DynamicLinkManager/config/dlmfdrv.unconf ] then echo "/opt/DynamicLinkManager/config/dlmfdrv.unconf" rm -f $BASEDIR/opt/DynamicLinkManager/config/dlmfdrv.unconf fi #----------------------------------------------------- # Remove backuped configuration file #----------------------------------------------------- if [ -f $BASEDIR/kernel/drv/dlmfdrv.conf.bak ] then echo "/kernel/drv/dlmfdrv.conf.bak" rm -f $BASEDIR/kernel/drv/dlmfdrv.conf.bak fi if [ -f $BASEDIR/kernel/drv/dlmndrv.conf.bak ] then echo "/kernel/drv/dlmndrv.conf.bak" rm -f $BASEDIR/kernel/drv/dlmndrv.conf.bak fi if [ -f $BASEDIR/opt/DynamicLinkManager/config/dlmfdrv.unconf.bak ] then echo "/opt/DynamicLinkManager/config/dlmfdrv.unconf.bak" rm -f $BASEDIR/opt/DynamicLinkManager/config/dlmfdrv.unconf.bak fi # DRVSOL0580SA0004 START #----------------------------------------------------- # Remove backuped configuration file (*.*_oldbackup) #----------------------------------------------------- if [ -f $BASEDIR/kernel/drv/dlmfdrv.conf_oldbackup ] then echo "/kernel/drv/dlmfdrv.conf_oldbackup" rm -f $BASEDIR/kernel/drv/dlmfdrv.conf_oldbackup fi if [ -f $BASEDIR/kernel/drv/dlmfdrv.conf.bak_oldbackup ] then echo "/kernel/drv/dlmfdrv.conf.bak_oldbackup" rm -f $BASEDIR/kernel/drv/dlmfdrv.conf.bak_oldbackup fi if [ -f $BASEDIR/opt/DynamicLinkManager/config/dlmfdrv.unconf_oldbackup ] then echo "/opt/DynamicLinkManager/config/dlmfdrv.unconf_oldbackup" rm -f $BASEDIR/opt/DynamicLinkManager/config/dlmfdrv.unconf_oldbackup fi if [ -f $BASEDIR/opt/DynamicLinkManager/config/dlmfdrv.unconf.bak_oldbackup ] then echo "/opt/DynamicLinkManager/config/dlmfdrv.unconf.bak_oldbackup" rm -f $BASEDIR/opt/DynamicLinkManager/config/dlmfdrv.unconf.bak_oldbackup fi # DRVSOL0580SA0004 END # ------------------------------------------------- # Remove link file of alart device and admin filter device # ------------------------------------------------- if [ -d $BASEDIR/dev/dlm ] then echo "/dev/dlm/*" rm -rf /dev/dlm fi # ------------------------------------------------- # Remove link files on "/dev/[r]dsk directory # which correspond to HDLM physical device file # ------------------------------------------------- # Link file on the "/dev/[r]dsk" directories don't removed # during uninstallation of HDLM. # ------------------------------------------------- # Remove link files for VxVM on "/dev/vx/[r]dsk directory # which correspond to HDLM physical device file # ------------------------------------------------- if [ -d ${DMP_PATH} ] then cd ${DMP_PATH} for LINKFILE in `ls` do if [ -h ${LINKFILE} ] then NUM_LINKS=`ls -l ${LINKFILE} | grep 'dlmfdrv@' | wc -l` if [ ${NUM_LINKS} -gt 0 ] then rm -f ${LINKFILE} # print link name when it represents device of slice 0. echo ${LINKFILE} |egrep 's0$' > /dev/null if [ $? -eq 0 ] then LU_NAME=`echo ${LINKFILE} | cut -f1 -d's'` echo "${DMP_PATH}/${LU_NAME}s[0-7]" fi fi fi done fi if [ -d ${RDMP_PATH} ] then cd ${RDMP_PATH} for LINKFILE in `ls` do if [ -h ${LINKFILE} ] then NUM_LINKS=`ls -l ${LINKFILE} | grep 'dlmfdrv@' | wc -l` if [ ${NUM_LINKS} -gt 0 ] then rm -f ${LINKFILE} # print link name when it represents device of slice 0. echo ${LINKFILE} |egrep 's0$' > /dev/null if [ $? -eq 0 ] then LU_NAME=`echo ${LINKFILE} | cut -f1 -d's'` echo "${RDMP_PATH}/${LU_NAME}s[0-7]" fi fi fi done fi # ------------------------------------------------- # Cancel PP_NAME # ------------------------------------------------- if [ -x /opt/hitachi/HNTRLib2/etc/hntr2cancel ]; then /opt/hitachi/HNTRLib2/etc/hntr2cancel "Hitachi Dynamic Link Manager" if [ $? = 255 ] then echo "KAPL09019-E An attempt to cancel the registration of the bundle PP name of Hitachi Network Objectplaza Trace Library 2 failed." #DRVSOL06100021 echo "Uninstall Hitachi Network Objectplaza Trace Library 2 by referring to HDLM User's Guide section \"Uninstalling Hitachi Network Objectplaza Trace Library (HNTRLib2)\"." #DRVSOL06100021 echo "" exit 1 fi fi # ------------------------------------------------- # Remove HNTRLib2 # ------------------------------------------------- if [ -x /opt/hitachi/HNTRLib2/etc/hntr2get ]; then /opt/hitachi/HNTRLib2/etc/hntr2get hntr2getres=$? if [ ${hntr2getres} = 0 ] then /opt/hitachi/HNTRLib2/etc/hntr2setup 9 > /dev/null 2> /dev/null hntr2setup=$? if [ ${hntr2setup} = 255 ] then echo "" echo "KAPL09020-E" echo "An attempt to uninstall Hitachi Network Objectplaza Trace Library 2 failed." echo "" exit 1 elif [ ${hntr2setup} = 1 ] then echo "" echo "KAPL09026-I" echo "Hitachi Network Objectpraza Trace Library 2 wasn't uninstalled" echo "because it was being used for other products." echo "" # exit 0 #DRVSOL06100035 fi elif [ ${hntr2getres} = 255 ] then echo "" echo "KAPL09020-E" echo "An attempt to uninstall Hitachi Network Objectplaza Trace Library 2 failed." echo "" exit 1 elif [ ${hntr2getres} -ge 1 -a ${hntr2getres} -le 127 ] then echo "" echo "KAPL09026-I" echo "Hitachi Network Objectpraza Trace Library 2 wasn't uninstalled" echo "because it was being used for other products." echo "" # exit 0 #DRVSOL06100035 fi fi #----------------------------------------------------- # DRVSOL05800007 start # Remove HBSA #----------------------------------------------------- # DRVSOL05900005 #HBsA uninstall HBSA_CNT=`expr $HBSA_CNT + 1` # HBSA_CNT=31 if [ -x $HBSA_DIR/agent/bin/.hbsa_uninstall.sh ]; then # DRVSOL06000024 $HBSA_DIR/agent/bin/.hbsa_uninstall.sh > /dev/null 2> /dev/null HBSA_RTN=$? if [ $HBSA_RTN -ge 1 -a $HBSA_RTN -le 15 ]; then echo "" echo "KAPL09142-E HDLM $INS_STATUS cannot be performed." echo "Wait a while, and then perform $INS_STATUS again. Error Code = $HBSA_CNT, $HBSA_RTN" echo "" exit 1 fi fi # DRVSOL06000024 # HBsA start # DRVSOL05800028 start HBSA_CNT=`expr $HBSA_CNT + 1` # HBSA_CNT=32 if [ -x $HBSA_DIR/bin/hbsasrv ]; then $HBSA_DIR/bin/hbsasrv start > /dev/null 2> /dev/null # HBSA_RTN=$? # if [ $HBSA_RTN -ge 1 -a $HBSA_RTN -le 15 ]; then # echo "" # echo "KAPL09142-E HDLM $INS_STATUS cannot be performed." # DRVSOL05800040 # echo "Wait a while, and then perform $INS_STATUS again. Error Code = $HBSA_CNT, $HBSA_RTN" # DRVSOL05800040 # echo "" # exit 1 # fi fi # DRVSOL05900005 # DRVSOL05800028 end # DRVSOL05800007 end exit 0