Technical Blog Post
Abstract
Uninstalling an unwanted ITM module such as 32 bit ax shared libraries or gskit
Body
Uninstalling an unwanted ITM module such as 32 bit ax shared libraries or gskit
As discussed in previous blog about the gskit libraries, components can get out of step when there are a number of upgrade in your ITM environment.
These only rarely cause issues (with upgrade and such)
see blog:
https://www.ibm.com/support/pages/node/1083249?lang=en
(Unix 6 .3.x-TIV-ITM-GSK-8.0.50.88-IJ04522 upgrade failure)
However there may be times when you want to uninstall some components if they are no longer going to be used.
If and only if you know they will not be needed and you want to clean up the environment, they can be uninstalled using the unistall script.
All the details below are for the example of an AIX machine.
The uninstall.sh script can uninstall an agent on a specific platform and all of the dependent framework components if no other agent is using them for the specific platform being removed. However uninstall.sh cannot remove only a framework component for a specific platform.
The ax component is separate from the gs (GSKit) component.
The ax component on AIX can potentially have 4 platforms installed which are aix523, aix533, aix526, aix536.
The gs component on AIX can potentially only have two platforms installed, one 32 bit and one 64 bit, which are aix523 and aix526.
Both the ax aix523 and aix533 component platforms require the gs aix523 component platform.
Both the ax aix526 and aix536 component platforms require the gs aix526 component platform.
Set the following so that the copy and paste commands below can be used:
CH=<Fully qualified path to CANDLEHOME directory>
Commands like the following will remove unneeded platforms of the ax and gs components ensuring that no other installed components have them listed as prerequisites.
haveax523=$(ls $CH/registry/axaix523.ver 2> /dev/null)
needax523=$(grep preReqALL $CH/registry/*.ver | grep 'axaix523')
if [ -n "${haveax523}" ] && [ -z "${needax523}" ]; then
rm -rf $CH/tmaitm6/aix523 $CH/registry/axaix523.ver
fi
haveax533=$(ls $CH/registry/axaix533.ver 2> /dev/null)
needax533=$(grep preReqALL $CH/registry/*.ver | grep 'axaix533')
if [ -n "${haveax533}" ] && [ -z "${needax533}" ]; then
rm -rf $CH/tmaitm6/aix533 $CH/registry/axaix533.ver
fi
haveax526=$(ls $CH/registry/axaix526.ver 2> /dev/null)
needax526=$(grep preReqALL $CH/registry/*.ver | grep 'axaix526')
if [ -n "${haveax526}" ] && [ -z "${needax526}" ]; then
rm -rf $CH/tmaitm6/aix526 $CH/registry/axaix526.ver
fi
haveax536=$(ls $CH/registry/axaix536.ver 2> /dev/null)needax536=$(grep preReqALL $CH/registry/*.ver | grep 'axaix536')
if [ -n "${haveax536}" ] && [ -z "${needax536}" ]; then
rm -rf $CH/tmaitm6/aix536 $CH/registry/axaix536.ver
fi
havegs523=$(ls $CH/registry/gsaix523.ver 2> /dev/null)
needgs523=$(ls $CH/registry/axaix5?3.ver 2> /dev/null)
if [ -n "${havegs523}" ] && [ -z "${needgs523}" ]; then
rm -rf $CH/aix523/gs $CH/registry/gsaix523.ver
fi
havegs526=$(ls $CH/registry/gsaix526.ver 2> /dev/null)
needgs526=$(ls $CH/registry/axaix5?6.ver 2> /dev/null)
if [ -n "${havegs526}" ] && [ -z "${needgs526}" ]; then
rm -rf $CH/aix526/gs $CH/registry/gsaix526.ver
fi
*********************
Commands like the following will remove unneeded platforms of the ax and ui components ensuring that no other installed components have them listed as prerequisites
These sets of commands deal with ui; uiaix instead of axaix.
Set the following so that the copy and paste commands below can be used:
CH=<Fully qualified path to CANDLEHOME directory>
haveui523=$(ls $CH/registry/uiaix523.ver 2> /dev/null)
needui523=$(grep preReqALL $CH/registry/*.ver | grep 'uiaix523')
if [ -n "${haveui523}" ] && [ -z "${needui523}" ]; then
rm -rf $CH/tmaitm6/aix523 $CH/registry/uiaix523.ver
fi
haveui533=$(ls $CH/registry/uiaix533.ver 2> /dev/null)
needui533=$(grep preReqALL $CH/registry/*.ver | grep 'uiaix533')
if [ -n "${haveui533}" ] && [ -z "${needui533}" ]; then
rm -rf $CH/tmaitm6/aix533 $CH/registry/uiaix533.ver
fi
haveui526=$(ls $CH/registry/uiaix526.ver 2> /dev/null)
needui526=$(grep preReqALL $CH/registry/*.ver | grep 'uiaix526')
if [ -n "${haveui526}" ] && [ -z "${needui526}" ]; then
rm -rf $CH/tmaitm6/aix526 $CH/registry/uiaix526.ver
fi
haveui536=$(ls $CH/registry/uiaix536.ver 2> /dev/null)
needui536=$(grep preReqALL $CH/registry/*.ver | grep 'uiaix536')
if [ -n "${haveui536}" ] && [ -z "${needui536}" ]; then
rm -rf $CH/tmaitm6/aix536 $CH/registry/uiaix536.ver
fi
Before doing any of the above work, make sure you have a good backup of the system, and if in any doubt talk to Support before doing the work.
Subscribe and follow us for all the latest information directly on your social feeds:
Check out all our other posts and updates: | |
Academy Blogs: | https://goo.gl/U7cYYY |
Academy Videos: | https://goo.gl/TLfMoF |
Academy Google+: | https://goo.gl/HnTs0w |
Academy Twitter : | https://goo.gl/HnTs0w |
UID
ibm11083303