IBM Support

Uninstalling an unwanted ITM module such as 32 bit ax shared libraries or gskit

Technical Blog Post


Abstract

Uninstalling an unwanted ITM module such as 32 bit ax shared libraries or gskit

Body

image

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.

Tutorials Point

Subscribe and follow us for all the latest information directly on your social feeds:

image

image

image

  

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


image

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"","label":""},"Component":"","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSTFXA","label":"Tivoli Monitoring"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

UID

ibm11083303