Saturday, 18 October 2014

Installing IBM Tivoli Directory Server 6.3 on Red Hat Enterprise Linux 6.5


Mount the ISO

mount /dev/sr0 /media

mount: block device /dev/sr0 is write-protected, mounting read-only

Install ITDS

/media/ibm_im_64bit/tools/imcl -input installITDS63.rsp -acceptLicense

ERROR: Error during "install" phase:

  ERROR:   GLPINS005E The IBM Security Directory Server licenses cannot be installed.


with: -

 <message>Cannot run program "/opt/ibm/ldap/V6.3.1/tmp/license/idsLicense": java.io.IOException: error=2, No such file or directory</message>

in the IIM log ( /var/ibm/InstallationManager/logs/20141018_1816.xml ).

Read the Technote


...
Cause

The shebang line of the idsLicense script requires ksh
...

Install the missing ksh RPM

yum install ksh

Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ksh.x86_64 0:20120801-10.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================
 Package               Arch                     Version                            Repository                Size
==================================================================================================================
Installing:
 ksh                   x86_64                   20120801-10.el6                    server                   756 k

Transaction Summary
==================================================================================================================
Install       1 Package(s)

Total download size: 756 k
Installed size: 1.7 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : ksh-20120801-10.el6.x86_64                                                                     1/1 
  Verifying  : ksh-20120801-10.el6.x86_64                                                                     1/1 

Installed:
  ksh.x86_64 0:20120801-10.el6                                                                                    

Complete!


Repeat the ITDS Installation

/media/ibm_im_64bit/tools/imcl -input installITDS63.rsp -acceptLicense

ERROR: Error during "install" phase:

  ERROR:   GLPINS009E An error occurred while uninstalling DB2 package.

  ERROR:   GLPINS008E An error occurred while installing GSKIT package.

Diagnose Further

view /var/ibm/InstallationManager/logs/20141018_1821.xml 

....
Output:  Aborting the current installation ...
  Run installation with the option "-f sysreq" parameter to force the installation.

Error:WARNING:
   The 32 bit library file libstdc++.so.6 is not found on the system.
   32-bit applications may be affected.
WARNING:
   The required library file libstdc++.so.5 is not found on the system.
WARNING:
DBT3534W  The db2prereqcheck utility determined that ASLR is set to ON and that this could cause issues with some tools.
WARNING:
   The 32-bit library file libpam.so is not found on the system.
   Check the following web site for the up-to-date system requirements
   of IBM DB2 9.7
   http://www.ibm.com/software/data/db2/udb/sysreqs.html
   http://www.software.ibm.com/data/db2/linux/validate  </message>
...

Install missing RPMs

yum install libstdc++.so.6
yum install libstdc++.so.5

Repeat the ITDS Installation

/media/ibm_im_64bit/tools/imcl -input installITDS63.rsp -acceptLicense

ERROR: Error during "install" phase:

  ERROR:   GLPINS009E An error occurred while uninstalling DB2 package.

  ERROR:   GLPINS008E An error occurred while installing GSKIT package.


Further Diagnosis

view /var/ibm/InstallationManager/logs/20141018_1824.xml

...
Output:  Aborting the current installation ...
  Run installation with the option "-f sysreq" parameter to force the installation.

Error:WARNING:
   The required library file libstdc++.so.5 is not found on the system.
WARNING:
DBT3534W  The db2prereqcheck utility determined that ASLR is set to ON and that this could cause issues with some tools.
WARNING:
   The 32-bit library file libpam.so is not found on the system.
   Check the following web site for the up-to-date system requirements
   of IBM DB2 9.7
   http://www.ibm.com/software/data/db2/udb/sysreqs.html
   http://www.software.ibm.com/data/db2/linux/validate  </message>
....

Install the 32-bit library that includes libstdc++.so.5

yum install compat-libstdc++-33

Validate that DB2 is now mostly happy

/media/ibm_db2/db2prereqcheck 

WARNING:
DBT3534W  The db2prereqcheck utility determined that ASLR is set to ON and that this could cause issues with some tools.
WARNING: 
   The 32-bit library file libpam.so is not found on the system. 


This is a known issue with older versions of DB2, as per this Technote: -


The "circumvention" is to do this: -

cd /lib
ln -s libpam.so.0 libpam.so

so we now get this: -

/media/ibm_db2/db2prereqcheck 

WARNING:
DBT3534W  The db2prereqcheck utility determined that ASLR is set to ON and that this could cause issues with some tools.

Repeat the ITDS Installation

/media/ibm_im_64bit/tools/imcl -input installITDS63.rsp -acceptLicense

ERROR: Error during "install" phase:

  ERROR:   GLPINS008E An error occurred while installing GSKIT package.

So, whilst DB2 is OK, we've got to look at GSKIT.

Debug

view /var/ibm/InstallationManager/logs/20141018_1906.xml

...
Error:  package gskcrypt32-8.0-14.26.i386 is already installed
        package gskssl32-8.0-14.26.i386 is already installed</message>
...
 <message>com.ibm.security.directoryserver.installer.components.InstallGSKIT : Error occured while executing command: /bin/rpm -Uhv /media/ibm_gskit/gskcrypt32-8*.rpm /media/ibm_gskit/gskssl32-8*.rpm</message>
...

Validate what GSK components are installed

rpm -qa | grep -i gsk

gskcrypt64-8.0-14.26.x86_64
gskssl32-8.0-14.26.i386
gskssl64-8.0-14.26.x86_64
gskcrypt32-8.0-14.26.i386


Uninstall GSK

rpm -e `rpm -qa | grep -i gsk`

Repeat the ITDS Installation

/media/ibm_im_64bit/tools/imcl -input installITDS63.rsp -acceptLicense

Installed com.ibm.cic.agent_1.7.0.20130828_2012 to the /opt/IBM/InstallationManager/eclipse directory.
Installed com.ibm.security.directoryserver.v631_6.3.1.0 to the /opt/ibm/ldap/V6.3.1 directory.

Pour a G&T

Huzzah :-)

Response File - installlITDS63.rsp

<?xml version="1.0" encoding="UTF-8"?>
<agent-input>
<server>
<repository location='/media/ibm_im_64bit/'/>
<repository location='/media/ibm_sds'/>
</server>

<profile id='IBM Installation Manager' installLocation='/opt/IBM/InstallationManager/eclipse' kind='self'>
<data key='eclipseLocation' value='/opt/IBM/InstallationManager/eclipse'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.arch' value='x86_64'/>
<data key='cic.selector.nl' value='de,ru,ko,el,lt,en,it,pt_BR,fr,hu,es,zh,cs,ar,zh_TW,zh_HK,ja,sl,pl,da,tr'/>
</profile>

<profile id='IBM Security Directory Server' installLocation='/opt/ibm/ldap/V6.3.1'>
<data key='eclipseLocation' value='/opt/ibm/ldap/V6.3.1'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86_64'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.nl' value='en'/>
<data key='user.db2.user.password,com.ibm.security.directoryserver.v631' value=''/>
<data key='user.db2.username,com.ibm.security.directoryserver.v631' value=''/>
<data key='user.db2.user.domain,com.ibm.security.directoryserver.v631' value=''/>
<data key='user.use.existing.db2,com.ibm.security.directoryserver.v631' value='false'/>
<data key='user.db2.executable.path,com.ibm.security.directoryserver.v631' value='/media/ibm_db2'/>
<data key='user.use.existing.db2.installpath,com.ibm.security.directoryserver.v631' value=''/>
<data key='user.renter.db2.user.password,com.ibm.security.directoryserver.v631' value=''/>
<data key='user.use.existing.gskit,com.ibm.security.directoryserver.v631' value='false'/>
<data key='user.gskit.executable.path,com.ibm.security.directoryserver.v631' value='/media/ibm_gskit'/>
<data key='user.jdk.executable.path,com.ibm.security.directoryserver.v631' value='/media/ibm_jdk/ibm-java-16sr14-linux-64.tar'/>
</profile>
<install modify='false'>
<offering id='com.ibm.cic.agent' version='1.7.0.20130828_2012' profile='IBM Installation Manager' features='agent_core,agent_jre' installFixes='none'/>
<offering id='com.ibm.security.directoryserver.v631' version='6.3.1.0' profile='IBM Security Directory Server' features='main.feature.db2,main.feature.gskit,main.feature.jdk,main.feature.javaclient,main.feature.server,main.feature.cclient' installFixes='none'/>
</install>
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='/opt/IBM/IBMIMShared'/>
<preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
<preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
<preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
<preference name='offering.service.repositories.areUsed' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
<preference name='http.ntlm.auth.kind' value='NTLM'/>
<preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
<preference name='PassportAdvantageIsEnabled' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
<preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
<preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>

6 comments:

WillMurphy said...

Thank you for this. You helped an IBM apprentice out when there's very little documentation on this

Dave Hay said...

Will, no problems, glad to help, cheers, Dave Hay

Unknown said...

Thanks for this post and your blog, Dave, helped us a lot!!
(other 2 ISIM/TIM newbies)

Dave Hay said...

Hi Susana

Great, glad to be of assistance :-)

Have a great weekend, Dave

Unknown said...

Hi Dave,

Thank you, you helped me a lot with this blog

Dave Hay said...

William
More than happy to be of assistance.
Cheers, Dave

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...