Before using this information and the product it supports, read the information in “Notices” on page 151.
This edition applies to Version 1.1.1.10 of IBM Prerequisite Scanner and to all subsequent releases and modifications
until otherwise indicated in new editions.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Page 5
Contents
Figures ...............v
Tables ...............vii
Chapter 1. Prerequisite Scanner
overview ..............1
Prerequisite Scanner architecture........1
Prerequisite properties ..........1
Product codes............12
Prerequisite Scanner configuration files ....13
Prerequisite Scanner collectors .......20
Prerequisite Scanner evaluators .......22
Output formats ............23
Scanning process............31
New in this release ............33
Chapter 2. Installing Prerequisite
Scanner ..............37
Prerequisites ..............37
Installing the compressed file ........38
Uninstalling Prerequisite Scanner .......38
Chapter 3. Extending Prerequisite
Scanner ..............39
Before you run Prerequisite Scanner ......39
Required checks and extension tasks for
Windows systems ...........39
Required checks and extension tasks for UNIX
systems...............40
Adding product codes ...........41
Creating custom configuration files ......41
Adding prerequisite properties ........43
Editing prerequisite properties ........45
Creating custom collectors for Windows systems . . 46
Creating custom VBScript collectors common to
all configuration files ..........46
Creating custom VBScript collectors specific to a
product and product version.......48
Creating custom collectors for UNIX systems . . . 50
Editing the package test script for UNIX systems . . 51
Creating custom evaluators for Windows systems53
Creating custom evaluators for UNIX systems . . . 57
Chapter 4. Running Prerequisite
Scanner ..............59
prereq_checker .............59
Running Prerequisite Scanner from the command
line .................64
Common directory locations .........66
Chapter 5. Troubleshooting
Prerequisite Scanner........67
Troubleshooting on Windows systems.....67
Troubleshooting on UNIX systems .......69
Execution problems............71
Return codes ..............72
Appendix A. Product codes reference75
Appendix B. Configuration files
reference..............79
Appendix C. Prerequisite properties
reference..............83
Common data properties ..........84
Autonomic Deployment Engine data properties . . 88
IBM®Prerequisite Scanner is a scanning tool that performs identification, checking,
and verification of prerequisites for specified software before the actual
deployment takes place. It scans for hardware and software prerequisites based on
the values set for prerequisite properties. The Scanner displays the results of the
scan in the command-line interface and also saves the results to text files. It also
writes informational, trace, and debugging messages to log files.
Prerequisite Scanner initially checks the operating system of the machine and
verifies whether it is the correct version for the specified software. If it is a
supported operating system, the Scanner continues the prerequisite scan and
generates the results; otherwise, it exits. If any of the individual checks for
prerequisites fail, the overall scan fails.
You can run the Prerequisite Scanner after an installation or at any time to confirm
your current environment. The Prerequisite Scanner does not require that you run
the installation program of the software for which you want to check prerequisites.
You can extend the Prerequisite Scanner to scan for prerequisites that are not part
of the core set of prerequisite checks supplied with the Scanner.
Prerequisite Scanner invokes the following types of scripts depending upon your
platform:
v Windows: VBScript and batch
v UNIX: shell
Note: You cannot run the UNIX scripts on Windows systems even if you have
installed a UNIX-like environment on the Windows machines, for example,
Cygwin.
Prerequisite Scanner architecture
IBM Prerequisite Scanner comprises the following main components: a script to
run in a command-line interface, a set of properties for the prerequisite checks,
prerequisite property configuration files, prerequisite collectors, and prerequisite
evaluators. The results of running the Prerequisite Scanner are available in various
output formats.
Prerequisite properties
Prerequisite properties are the expected values for different software and hardware
prerequisites, required by the products or solutions to be installed. Examples of
prerequisite properties include the total disk space available on the machine, the
set of ports that are not in use on a machine, and the current set of installed
applications.
Because the values for these prerequisite properties can change with different
products, the properties and their values are represented as name value pairs, with
optional qualifiers. They are contained in the prerequisite properties configuration
files. There is only one prerequisite property on each line.
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required by
some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite properties as
outlined in Table 4 on page 6.
v qualifier_name is an optional attribute for the prerequisite property. IBM
Prerequisite Scanner uses it to qualify the prerequisite property or type of check
to perform on the prerequisite property.
Note: You can have multiple qualifiers, each separated by a comma. The set of
qualifiers must be enclosed by [] square brackets.
v qualifier_value is the value for the optional attribute. Each qualifier and its value
must be delimited by a : colon.
v property_value is the value for the prerequisite property and it can be a string or
integer.
A prerequisite property can have one or many values depending upon the data
type and qualifier as follows:
v A single integer, for example, 8080 to represent the value of a port number.
v A range or group of integers represented by using special characters as outlined
in Table 1.
Table 1. Special characters to represent types of ranges
Special characterDescription
*Identifies a placeholder for multiple values. For example, ports.*
can represent a superset of ports for both a database product,
ports.DB and IBM WebSphere
+Identifies that the actual version must at least match the value for
expected version. For example, os.versionNumber=5.0+, means that
the version must be 5.0 or later.
-Identifies that the actual version must at most match the value for
expected version. For example, os.versionNumber=5.0-, means that
the version must be 5.0 or earlier.
.*Identifies that the actual version can match any wildcard value for
the expected version. For example, os.versionNumber=5.*, means
that the version can be 5.0, 5.0.1 or 5.5.
®
Application Server, ports.WAS.
Restriction: On Windows systems, the * wildcard is only supported if used
within a regular expression in the OS Version prerequisite property.
v A string that can represent any of the following values for prerequisite types:
– A numeric value with a unit, for example, 8GB or 10MB
– An application, operating system, architecture, or package, for example, IBM
Lotus Symphony, RedHat Enterprise Linux 5.4, 32-bit,orftp
Note: A string might also comprise multiple values separated by a comma,
for example, a list of applications.
2Prerequisite Scanner: User's Guide
Page 13
– Either or values represented by one of the following combinations, such as,
Checks whether ports 60000-60005 are available for
the database server, port 8080 is available for the
WebSphere Application Server, and port 21 for FTP,
where:
v prefix_identifier is network, for general prerequisite
properties
v property_name is availablePorts
v suffix_identifier are DB for available database ports,
WAS for the available WebSphere Application
Server port, and FTP for the available FTP port
v property_value is 60000-60005, 8080,or21
Checks whether the home directory has drwxr-xr-x
permissions, where:
v prefix_identifier is os, for operating system
prerequisite properties
v property_name is dir
v suffix_identifier is home for the directory to check
v qualifier_name are dir and type that qualify the
prerequisite property and type of check
v qualifier_value are home and permission, the values
for the qualifiers
v property_value is 755+, that is, the octal digit
representation of the access permissions for the
home directory
You can add or edit predefined prerequisite properties for each product for which
you want to run the Prerequisite Scanner. You can also create custom prerequisite
properties and use Prerequisite Scanner collectors and evaluators as required to
scan for and compare the prerequisite properties.
Chapter 1. Prerequisite Scanner overview3
Page 14
Related concepts:
“Predefined qualifiers for prerequisite properties” on page 8
IBM Prerequisite Scanner provides a set of basic qualifiers for some prerequisite
properties in a predefined category. Qualifiers represent attributes of the
prerequisite property that Prerequisite Scanner uses to qualify the prerequisite
property or type of check to perform on that prerequisite property.
Predefined categories of prerequisite properties
IBM Prerequisite Scanner provides a set of basic prerequisite properties for
different categories of data: common, installed software, operating system, user,
connectivity, Internet Explorer, database server, environment variables, and
network including platform-specific properties for Windows and UNIX.
<prefix_identifier> is an identifier for a predefined category of prerequisite
properties.
Table 3 outlines the predefined categories of hardware and software prerequisites.
Table 3. Basic prerequisite properties categories
Data categoryDescription
CommonThis category checks common prerequisites such as processor speed,
RAM, disk, and temporary space. This example is the prerequisite
property for checking the operating system:
OS Version=RedHat Enterprise Linux 5.4
Installed
software
UserThis category checks user prerequisites such as whether the logged on
Operating
system
ConnectivityThis category checks connectivity prerequisites such as whether Telnet is
NetworkThis category checks network prerequisites that can be common across all
Windows
network
This category checks installed software prerequisites such as the programs
registered in the Windows registry and whether cygwin and gskit are
installed. This example is the prerequisite property for scanning the
operating system registry for installed programs with locations:
installedSoftware=list_of_installed_programs
user had administrative rights or is the root user. This example is the
prerequisite property for checking whether the logged on user is a
member of the Administrator group:
user.isAdmin=True
This category checks operating system prerequisites such as version,
architecture, total memory, available memory, and total physical memory.
This example is the prerequisite property for checking whether the remote
registry service is running:
os.isServiceRunning.remoteRegistry=True
running and to which IP addresses and ports the Scanner can connect.
platforms such as whether there are ports available. This example is the
prerequisite property for checking whether the 8080 port is available for
IBM WebSphere Application Server:
network.availablePorts.was=8080
This category checks Windows network prerequisites such as whether
NetBIOS and DHCP are enabled on the machine, and pinging properties.
This example is the prerequisite property for checking whether at least
one adapter with a valid IP address has NetBIOS enabled as a protocol:
UNIX networkThis category checks UNIX network prerequisites such as whether
NetBIOS and DHCP are enabled on the machine, and pinging properties.
This example is the prerequisite property for checking whether the local
host responds to the ping protocol:
network.pingLocalhost=True
Internet
Explorer
This category checks Microsoft Internet Explorer prerequisites such as the
version. This example is the prerequisite property for checking whether
the Internet Explorer version is 7.0:
internetExplorer.version=7.0
Database server,
®
DB2
This category checks DB2 prerequisites such as the version. This example
is the prerequisite property for whether the DB2 version is at least 9.5:
DB2 Version=9.5.*
Database server,
Oracle
This category checks Oracle prerequisites such as the version. This
example is the prerequisite property for checking whether Oracle client
version is at least 9.2.0.8:
oracle.Client=9.2.0.8+
Environment
variables
This category checks environment variable prerequisites such as whether
the environment variable has been set. This example is the prerequisite
property for checking whether the class path contains the Derby JAR file:
env.classpath.derbyJAR=False
Autonomic
Deployment
Engine
This category checks Autonomic Deployment Engine prerequisites such as
whether the Autonomic Deployment Engine is installed or the installation
unit for Tivoli
®
Integrated Portal. This example is the prerequisite
property for checking whether the installation unit for Tivoli Integrated
Portal Version 2.1.1.0 or 2.1.1.1 is installed on a Windows system:
This category checks MS SQL prerequisites such as the version. This
example is the prerequisite property for checking whether MS SQL Server
version is SQL Server 2008 R2 Developer Edition:
mssql.Server=10.50.1600.1
Required prefix
identifier
network
internetExplorer
DB2
Oracle
env
de
mssql
Predefined subtypes for prerequisite properties
IBM Prerequisite Scanner provides a set of basic subtypes for some prerequisite
properties in a predefined category. Subtypes further categorize a prerequisite
property such as categorization by application, utility, or service subtype.
Chapter 1. Prerequisite Scanner overview5
Page 16
For example, you can have a prerequisite property for available network ports. You
can further categorize that prerequisite property to check available ports for a
database server, application server, or protocol.
<suffix_identifier> is an optional identifier for a subtype in the prerequisite property
name.
Table 4 outlines the predefined subtypes for different categories of prerequisite
properties including the <suffix_identifier>.
for checking that the
supported version of the
package_name package is
installed on the machine.
dir_nameUNIXUse this naming convention
for checking the available
disk space for the specified
dir_name file system. The
value for the prerequisite
property uses predefined
qualifiers.
Valid values for the
subtype
String to represent
package_name, for example,
in bold:
v bash shell
v expect for the TCL
extension package
v libgcc for GCC low-level
runtime package
v openssh for the Open
Source secure shell
v openssl for the Open
Source toolkit for
SSL/TLS
v perl for the Perl scripting
package
v rpm for the RPM or RPM
Build packages
v telnet for the Telnet
package
v wget for the GNU file
retrieval package
String to represent dir_name,
for example:
v usr
v home
v tmp
v var
Predefined qualifiers for prerequisite properties
IBM Prerequisite Scanner provides a set of basic qualifiers for some prerequisite
properties in a predefined category. Qualifiers represent attributes of the
prerequisite property that Prerequisite Scanner uses to qualify the prerequisite
property or type of check to perform on that prerequisite property.
For example, you can have a prerequisite property for a file system. You can
qualify which check to perform for that prerequisite property based on its file
system name and access permissions attributes. You can also qualify which type of
units to use when checking the available disk space based on the file system path
and unit attributes.
Qualifiers support customization to meet the needs of your environment and
prevent the Scanner having to make implicit assumptions about the attributes of
multidimensional prerequisites such as the default path and access permissions.
You can change the values for the predefined qualifiers, but you cannot add new
qualifiers to the existing set of predefined qualifiers for a predefined prerequisite
property.
v qualifier_name is an optional attribute for the prerequisite property that IBM
Prerequisite Scanner uses to qualify the prerequisite property or type of check to
perform on the prerequisite property.
v qualifier_value is the value for the optional attribute.
The value for the qualifier can also be a name value pair to support multiple
valid values depending upon user type. For example, different paths for the
home directory depending up whether it is a root or non-root user.
v property_value is the value for the prerequisite property and it can be a string or
integer.
Each qualifier and its value must be delimited by a : colon. You can have multiple
qualifiers, each separated by a comma. The set of qualifiers must be enclosed by []
square brackets.
Table 5 outlines the predefined qualifiers for different categories of prerequisite
properties. Some prerequisite properties also use predefined subtypes to further
categorize a prerequisite property.
Important: You cannot use the predefined qualifiers with other predefined
prerequisite properties.
Table 5. Predefined qualifiers
Prerequisite propertyPlatform DescriptionValid qualifiers and values
Operating system category with predefined subtype
os.dir.dir_nameUNIXChecks the dir_name file system based
on the following qualification attributes:
v dir attribute, to determine which file
system to check
v type attribute, to determine which
attribute of the file system to check,
for example, the <octal_digits> octal
digit representation for the access
permissions to that file system
<dir_name> can represent for example:
v tmp
v home
String with the following qualifier
format:
[dir:dir_name,
type:permission]
octal_digits+
For example, to check whether the
home directory has drwxr-xr-x
permissions:
os.dir.home=[dir:/home,
type:permission]755+
Chapter 1. Prerequisite Scanner overview9
Page 20
Table 5. Predefined qualifiers (continued)
Prerequisite propertyPlatform DescriptionValid qualifiers and values
os.space.
dir_name
UNIXChecks the available disk space for the
specified dir_name file system based on
one or more of the following
qualification attributes:
v dir attribute, to determine which
path to the file system to check
v unit attribute, to determine which
units for disk space to use
The value for dir attribute is dependant
on the logged on user; thus, the value
is a name value pair to represent the
user type, that is, root or non-root, and
the associated path.
dir_name can represent for example:
v usr
v home
v tmp
v var
String with the following qualifier
format for the file system of a root
user:
Valid types of limits to check, where
limit_name represents the type of limit
are as follows:
v ALL, checks all limits
v corefilesizelimit
v datasegmentlimit
v filedescriptorlimit
v filesizelimit
v hardlimit
v processlimit
v maxmemorysizelimit
v maxprocesseslimit
v stacksizelimit
v threadlimit
Chapter 1. Prerequisite Scanner overview11
Page 22
Table 5. Predefined qualifiers (continued)
Prerequisite propertyPlatform DescriptionValid qualifiers and values
DiskWindows The amount of free disk space, with the
IBM Prerequisite Scanner uses multicharacter codes in file names and parameter
names to identify products and components and determine which type of
configuration file to use.
product_code
It is the variable to represent a product code on either Windows or UNIX
systems. Product codes identify the product, an individual platform such
as Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of
the operating system that is supported by that product. They are stored in
the codename.cfg file. Any product that supports multiple platforms has
multiple product codes, with each one identifying a product, platform, and
version of the operating system as required.
For example, the COD, COK and COX product codes identify some of the
supported operating systems and versions for IBM Tivoli Provisioning
Manager:
COD=Tivoli Provisioning Manager for AIX 6.1
COK=Tivoli Provisioning Manager for HP-UX
COX=Tivoli Provisioning Manager for Windows 2008
When you run the Prerequisite Scanner, you pass the product code and
optionally the product version as input parameters. The Scanner
automatically detects the operating system of the machine. It then checks
the operating system against the operating system listed for that product
code in the codename.cfg file.
If the operating system of the machine is supported, the Scanner then uses
the input parameters to find the configuration file in the
ips_root/Windows|UNIX_Linux directory. The file name contains the same
product code and product version as the input parameters. If you do not
pass the optional product version parameter, the Scanner uses the latest
version of the configuration file that it finds in this directory. Prerequisite
Scanner then begins the scan.
Important: If the platform is not supported, Prerequisite Scanner exits and
displays a message to state that the platform is not supported.
12Prerequisite Scanner: User's Guide
Page 23
Prerequisite Scanner configuration files
The IBM Prerequisite Scanner configuration files for individual platforms contain
the prerequisite properties and their expected values for each platform that is
supported by the product. Prerequisite Scanner provides a predefined set of
configuration files that you can edit. You must create configuration files for new
products and platforms to be supported.
When the operating system of the machine is supported, Prerequisite Scanner
checks the prerequisite properties in the configuration files. It can also check in
only the sections associated with that operating system.
Configuration files have a .cfg file extension. You store them in the ips_root/<OS>
directory, where <OS> is the name of the operating system type, for example,
Windows or UNIX_Linux.
Configuration files must adhere to the following rules:
v File extension must be .cfg
v Naming convention for the file name:
product_code[_<version>].cfg
where:
– product_code
It is the variable to represent a product code on either Windows or UNIX
systems. Product codes identify the product, an individual platform such as
Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the
operating system that is supported by that product. They are stored in the
codename.cfg file. Any product that supports multiple platforms has multiple
product codes, with each one identifying a product, platform, and version of
the operating system as required.
– <version> is the 8-digit code to represent the version, release, modification,
and level, with two digits for each part of the code; for example, 7.3.21 is
07032100.
v Group prerequisite properties under sections that must follow a naming
convention for the section titles.
v Standard format for each prerequisite property is a name value pair with
optional qualifiers, and only one property on each line:
This example checks for prerequisite properties but does not differentiate between
different prerequisite properties for the required operating system versions.
os.space.var=[dir:root=/var/ibm/common/acsi,unit:MB]1.0
os.space.usr=[dir:root=/usr/ibm/common/acsi,unit:MB]200
os.space.home=[dir:non_root=USERHOME/.acsi_HOST,unit:MB]200
os.space.tmp=30MB
env.classpath.derbyJAR=False
network.pingSelf=True
network.pingLocalhost=True
network.availablePorts.Derby=4130
OS Version=RedHat Enterprise Linux 4.*,RedHat Enterprise Linux 5.*
os.package.compat-libstdc++-33=compat_libstdc++_33
os.package.libgcc=libgcc-3.4.3-9
Chapter 1. Prerequisite Scanner overview13
Page 24
Related concepts:
“Sections in configuration files”
Prerequisite properties can be grouped under a set of sections in configuration
files, with each section representing a data type category. Sections are optional in
configuration files.
Sections in configuration files
Prerequisite properties can be grouped under a set of sections in configuration
files, with each section representing a data type category. Sections are optional in
configuration files.
The naming convention for the section title is:
[category_name:category_value]
where:
v category_name is the multicharacter code that represents the data type category
v category_value is the multicharacter code that represents an allowed value for the
category
Note: The values can use the special characters as outlined in Table 1 on page 2.
Each category name and its value must be delimited by a : colon and enclosed by
[] square brackets.
You can have multiple data type categories by combining section titles, thereby
restricting prerequisite properties to that set of specified categories only.
For example, to specify prerequisite properties that apply to a machine running
32-bit, SUSE Linux Enterprise Server version 11, Itanium operating system:
For all platforms, you can use the | logical OR symbol to use either or data type
categories. For example, to have any of the environment variables set to True, the
combination of section titles is:
Important: The position of the | logical OR symbol is different between Windows
and UNIX systems. For UNIX systems, the set of section titles are enclosed by one
set of [] square brackets only with each section title separated by the symbol. For
Windows systems, the symbol delimits each complete section title with associated
[] square brackets.
For Windows systems only, you can use the ! logical NOT symbol to exclude a
data type category. For example, to exclude Windows Server 2003 R2 variant, the
combination of section titles is:
[OSType:Windows Server 2003][!OSType:Windows Server 2003 R2]
Table 6 on page 15 outlines the supported data type categories and associated
allowed values.
14Prerequisite Scanner: User's Guide
Page 25
Table 6. Supported data type categories and values
Data type category DescriptionAllowed values
OSTypeThe operating system
type
v UNIX
Indicates that all properties in this category are common to all
UNIX platforms, including, AIX, HP-UX, Linux, and Solaris, for
example:
[OSType:UNIX]
v AIX
Indicates that all properties in this category are common to all
AIX operating system variants, for example:
[OSType:AIX]
v HP-UX
Indicates that all properties in this category are common to all
HP-UX operating system variants, for example:
[OSType:HP-UX]
v LINUX
Indicates that all properties in this category are common to all
Linux operating system variants, for example:
[OSType:LINUX]
v RedHat
Indicates that all properties in this category are common to all
RedHat Linux operating system variants, for example:
[OSType:RedHat]
v RedHatEnterpriseLinuxServer
Indicates that all properties in this category are common to all
RedHat Enterprise Linux Server operating system variants, for
example:
[OSType:RedHatEnterpriseLinuxServer]
v SUSE
Indicates that all properties in this category are common to all
SUSE Linux operating system variants, for example:
[OSType:SUSE]
v SUSELinuxEnterpriseServer
Indicates that all properties in this category are common to all
SUSE Linux Enterprise Server operating system variants, for
example:
[OSType:SUSELinuxEnterpriseServer]
v Solaris
Indicates that all properties in this category are common to all
Solaris operating system variants, for example:
[OSType:Solaris]
Chapter 1. Prerequisite Scanner overview15
Page 26
Table 6. Supported data type categories and values (continued)
Data type category DescriptionAllowed values
v Windows
Indicates that all properties in this category are common to all
Windows operating systems, for example:
[OSType:Windows]
v Windows 2000 Workstation (Version 5.0.*)
Indicates that all properties in this category are common to all
Windows 2000 operating system variants, for example:
[OSType:Windows 2000]
v Windows XP Workstation (Version 5.1.*)
Indicates that all properties in this category are common to all
Windows XP Professional 32-bit operating system variants, for
example:
[OSType:Windows XP]
v Windows XP Workstation (Version 5.2.*)
Indicates that all properties in this category are common to all
Windows XP Professional 64-bit operating system variants, for
example:
[OSType:Windows XP]
v Windows Vista Workstation (Version 6.0.*)
Indicates that all properties in this category are common to all
Windows Vista operating system variants, for example:
[OSType:Windows Vista]
v Windows 7 Workstation (Version 6.1.*)
Indicates that all properties in this category are common to all
Windows 7 operating system variants, for example:
[OSType:Windows 7]
v Windows 2000 Server (Version 5.0.*)
Indicates that all properties in this category are common to all
Windows 2000 Server operating system variants, for example:
[OSType:Windows 2000]
v Windows Server 2003 (Version 5.2.*)
Indicates that all properties in this category are common to
Windows Server 2003 operating system variants, for example:
[OSType:Windows Server 2003]
v Windows Server 2003 R2 (Version 5.2.* and other type of OS
description is R2)
Indicates that all properties in this category are common to the
Windows Server 2003 R2 operating system variant only, for
example:
[OSType:Windows Server 2003 R2]
16Prerequisite Scanner: User's Guide
Page 27
Table 6. Supported data type categories and values (continued)
Data type category DescriptionAllowed values
v Windows Server 2008 (Version 6.0.*)
Indicates that all properties in this category are common to
Windows Server 2008 operating system variants, for example:
[OSType:Windows Server 2008]
v Windows Server 2008 R2 (Version 6.1.*)
Indicates that all properties in this category are common to the
Windows Server 2008 R2 operating system variant only, for
example:
[OSType:Windows Server 2008 R2]
v <OS_Name_Version>
Indicates that all properties in this category are common to that
version of the operating system, for example:
[OSType:RedHatEnterpriseLinuxServer4.2]
Note: The special wildcard character, *, is allowed to specify
multiple versions.
OSArchThe architecture for the
operating system
v 32-bit, for example:
[OSArch:32-bit]
v 64-bit, for example:
[OSArch:64-bit]
CPUThe generic processor
family name
CPUArchThe architecture for the
processor
Itanium, for example:
[CPU:Itanium]
Architecture for 64-bit PowerPC
processors, that is:
v ppc4
v POWER4
v POWER5
v POWER6
v POWER7
For example:
[CPUArch:ppc4]
@<EnvVar_Name>The environment variable
for a product
Adheres to the rules of that product, for example:
[@TPAE_DB_SERVER:True]
®
and Power Architecture
Example of a configuration file for Windows that uses sections
This example uses sections to categorize prerequisite properties for any Windows
machine and then machines running specific versions of Windows.
#Properties for all Windows operating systems, that is, Windows XP and above
[OSType:Windows]
os.versionNumber=5.1+
network.pingSelf=True
network.pingLocalhost=True
network.availablePorts.Derby=4130
env.CIT.homeExists=True
env.classpath.derbyJAR=False
# Disk space properties
commonPath=10MB
installPath=200MB
Chapter 1. Prerequisite Scanner overview17
Page 28
tempPath=30MB
[OSType:Windows Vista]
os.servicePack=2+
When you run Prerequisite Scanner, it scans and checks for different prerequisite
properties depending upon the operating system and version that is installed on
the machine.
For example, Table 7 outlines the different sections containing the prerequisite
properties that are checked based on the example.
Table 7. Scanned sections of a configuration file for Windows
Platform or operating systemSections with prerequisite properties
Machine with Windows XP and above[OSType:Windows]
Machine with Windows Vista only[OSType:Windows]
[OSType:Windows Vista]
Example of a configuration file for UNIX that uses sections
This example contains prerequisite properties for all platforms, individual
platforms, and versions of operating systems for a specific product.
# Properties common to all UNIX platforms
[OSType:UNIX]
os.space.var=[dir:root=/var/ibm/common/acsi,unit:MB]1.0
os.space.usr=[dir:root=/usr/ibm/common/acsi,unit:MB]200
os.space.home=[dir:non_root=USERHOME/.acsi_HOST,unit:MB]200
os.space.tmp=30MB
env.classpath.derbyJAR=False
network.pingSelf=True
# Properties common to all Linux platforms
[OSType:LINUX]
os.shell.default=bash
os.SELinux=[source:Command]Disabled
os.package.rpm=rpm
# Properties common to Linux platforms with the ppc64 CPU architecture
[OSType:LINUX][CPUArch:ppc64]
os.package.vacpp.rte=vacpp.rte-9.0.0-5+
# Properties common to all RedHat OS
[OSType:RedHat]
env.classpath.derbyJAR=False
# Properties common to all versions of Red Hat Enterprise
# Linux Server OS
[OSType: RedHatEnterpriseLinuxServer]
network.pingLocalhost=True
# Properties common to all Red Hat Enterprise Linux Server
# OS Version 6.x(6.1,6.2...)
[OSType: RedHatEnterpriseLinuxServer6.*]
os.package.compat-libstdc++-33=compat_libstdc++_33-3.2.3-68
# Properties common to all Red Hat Enterprise Linux Server
# Version 4.x(6.1,6.2...) OS and for Itanium family CPU
[OSType:RedHatEnterpriseLinuxServer4.*][CPU:Itanium]
os.package.ia32el=ia32el-1.1-20
18Prerequisite Scanner: User's Guide
Page 29
# Properties common to all Red Hat Enterprise Linux Server
# Version 4.x(6.1,6.2...) OS and for a 64-bit OS architecture
[OSType:RedHatEnterpriseLinuxServer4.*][OSArch:64-bit]
os.package.libgcc=libgcc-3.4.3-9
# Properties specific to RedHatEnterpriseLinuxServer5.2 OS
[OSType:RedHatEnterpriseLinuxServer5.2]
network.availablePorts.Derby=4130
# Properties specific to a 64 bit SUSE Linux Enterprise Server 11 OS
[OSType:SUSELinuxEnterpriseServer11][OSArch:64-bit]
os.package.libstdc++33-32bit=libstdc++33_32bit-3.3.3-11.9
# Properties specific to a 64 bit SUSE Linux Enterprise Server 11 OS
# and if the environment variable TPAE_DB_Server is set to ’True’
[OSType:SUSELinuxEnterpriseServer11][@TPAE_DB_Server:True]
os.package.libstdc++31-32bit=libstdc++31_32bit
# Properties specific to a 64 bit SUSE Linux Enterprise Server 11 OS
# and if the environment variables TPAE_DB_Server and TPAE_DIR_Server
# are set to ’True’
[OSType:SUSELinuxEnterpriseServer11][@TPAE_DB_Server:True]
[@TPAE_DIR_Server:True]
os.package.libstdc++34-32bit=libstdc++34_32bit
# Properties common to all AIX platforms
os.ulimit=[type:filesizelimit]unlimited
os.ulimit=[type:filedescriptorlimit]8192+,unlimited
os.FreePagingSpace=4GB+
# Properties specific to AIX 5.3.0.0 and
# if the environment variables TPAE_DB_FEATURE or TPAE_DIR_FEATURE
# are set to ’True’
[OSType:AIX5.3.0.0][@TPAE_DB_FEATURE:True|@TPAE_DIR_FEATURE:True]
os.lib.xlC.aix50.rte=xlC.aix50.rte.9.0.0.8+
When you run Prerequisite Scanner, it scans and checks for different prerequisite
properties depending upon the operating system and version that is installed on
the machine.
For example, Table 7 on page 18 outlines the different sections containing the
prerequisite properties that are checked based on the example.
Table 8. Scanned sections of a configuration file for UNIX
Operating systems and versionsSections with prerequisite properties
Machine with 64-bit SUSE Linux
Enterprise Server 11
Machine with Red Hat Enterprise Linux
Server 6.3
Machine with SUSE Linux Enterprise
Server 11 and the environment variable
@TPAE_DB_Server set to true
Machine with AIX 5.3.0.0 and the
environment variables @TPAE_DB_FEATURE
or @TPAE_DIR_FEATURE set to True
[OSType:UNIX]
[OSType:LINUX]
[OSType:LINUX][CPUArch:ppc64]
[OSType:SUSE Linux Enterprise Server 11]
[OSArch:64-bit]
IBM Prerequisite Scanner collectors collect actual data about the current
environment based on the prerequisite properties set for the products to be
installed. The collectors obtain the data through native code. Data can be common
data, such as processor speed and RAM, installed software data, operating system
data, user data, network, and connectivity data. Collectors are also extensible, so
you can create custom collectors to obtain actual values for custom prerequisite
properties.
Prerequisite Scanner uses collectors in the following languages depending upon
your platform:
v Windows: VBScript with .vbs extension
v UNIX: Shell with .sh or no extension
Note: You cannot run the UNIX scripts on Windows systems even if you have
installed UNIX-like environments on the Windows machines, for example, Cygwin.
Collectors for Windows systems
VBScript collectors for Windows systems are run in the Windows Script Host
environment. They use the Component Object Model to access elements of the
Windows environment, for example, FileSystemObject and TextStream.
Prerequisite Scanner runs the VBScript collectors to obtain the actual values for
prerequisite properties for the Windows environment. Each collector can obtain
data for one or many prerequisite properties.
For each prerequisite property in a VBScript collector, the collector writes the name
of the prerequisite property and its actual value as standard output. Prerequisite
Scanner writes this standard output to a temporary text file, that is,
localhost_hw.txt.
You can create custom common VBScript collectors to collect data for prerequisite
properties that apply to any product and product version. You can also create
custom product-specific ones to collect data that apply to a specific product and
product version.
When you run the Prerequisite Scanner, it runs the collectors in the following
order: predefined VBScript collectors; the custom common VBScript collectors in
the ips_root/lib directory; and the custom product-specific VBScript collectors by
searching for the product_code[_<version>].vbs file in the ips_root/Windows directory.
For example, the env.tcrhome.vbs file is a custom collector that checks the home
directory environment variable for Tivoli Common Reporting. It is stored in the
ips_root/lib directory.
VBScript collectors must adhere to the following rules:
v Naming convention for the custom common VBScript collector file
It contains a prerequisite property to be made available to any product and
product version, that is, all configuration files:
prefix_identifier.]property_name.vbs
where:
20Prerequisite Scanner: User's Guide
Page 31
– prefix_identifier is the prefix identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories, for example, env.
– property_name is the prerequisite property name, for example, tcrhome.
Store this type of VBScript collector in the ips_root/lib directory.
v Naming convention for the custom product-specific VBScript collector file
It contains properties to be made available to a specific product and product
versions, that is, one configuration file:
product_code[_<version>].vbs
where:
– product_code
It is the variable to represent a product code on either Windows or UNIX
systems. Product codes identify the product, an individual platform such as
Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the
operating system that is supported by that product. They are stored in the
codename.cfg file. Any product that supports multiple platforms has multiple
product codes, with each one identifying a product, platform, and version of
the operating system as required.
– <version> is the 8-digit code to represent the version, release, modification,
and level, with two digits for each part of the code; for example, 7.3.21 is
07032100.
Store this type of VBScript collector in the ips_root/Windows directory.
v Standard output for each prerequisite property is as follows:
WScript.Echo "property_name=" & <var_for_value>
– property_name that represents the prerequisite property as written in the
configuration file, for example, env.tcrhome.
– var_for_value, that is, the VBScript variable for the actual value that the
collector obtains for the prerequisite property.
For example, the following standard output writes the prerequisite property for
the Tivoli Common Reporting home environment variable and its actual value:
WScript.Echo "env.tcrhome=" & tcr_home
Collectors for UNIX systems
Collectors for UNIX systems are run in the relevant Shell host environment for
either AIX, HP-UX, Linux, or Solaris. They use the commands and options specific
to that platform to access elements of the host environment.
Each UNIX collector obtains data for a prerequisite property or a prerequisite
property with predefined subtypes. The collector writes the result of the check for
the prerequisite property as standard output. Prerequisite Scanner writes this
standard output to a temporary text file.
You can create custom UNIX collectors to collect data for custom prerequisite
properties. Each collector, predefined or custom, is called in the
ips_root/UNIX_Linux/packageTest.sh file.
When you run the Prerequisite Scanner, it runs the collectors in the following
order: predefined collectors with _plug in the file name in the ips_root/lib
directory; predefined collectors in the ips_root/UNIX_Linux directory; and the
custom UNIX collectors in the ips_root/UNIX_Linux directory.
Chapter 1. Prerequisite Scanner overview21
Page 32
For example, the installedSoftware.TCR.version file is a custom collector that
obtains the version of Tivoli Common Reporting that is installed on the machine. It
is stored in the ips_root/UNIX_Linux directory.
UNIX collectors must adhere to the following rules:
v Naming convention for the custom UNIX collector file with no file extension:
[prefix_identifier.]property_name
where:
– prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories, for example, installedSoftware.
– property_name is the name of the prerequisite property, for example,
TCR.version.
Store the collector in the ips_root/UNIX_Linux directory. Ensure that it does not
have a file extension.
v Standard output for a prerequisite property that returns the actual value for the
prerequisite property if it is an integer or string; for example, the software
version or the amount of available disk space for a mounted file system.
Alternatively, it can return "Unavailable" if it does not.
echo "True"|"False" ’If the scan checks for the existence of the prerequisite
echo $res ’If the scan checks returns the value, for example, product version,
echo "Unavailable" ’If the scan returns no value for the prerequisite property
echo "Available" ’If the scan returns a valid check for the prerequisite property
’property
’of the prerequisite property
v Code to call and run the collector in the ips_root/UNIX_Linux/packageTest.sh
script.
res=`echo $line | grep installedSoftware.TCR.version`
if [ $res ]; then
ExpValue=`echo $res | cut -d "=" -f2`
IBM Prerequisite Scanner evaluators are scripts that compare the actual data from
the collectors and the expected data for the same properties that are in the
configuration files. Evaluations can be: platform-specific; based on simple
operators, such as, less than, equal to, or greater than; and based on whether a
property is installed, present, or enabled. They can also verify whether ports are in
use or available and connectivity status of the machine. You can create or edit
evaluators.
Prerequisite Scanner uses evaluators in the following languages depending upon
your platform:
v Windows: VBScript with .vbs extension
22Prerequisite Scanner: User's Guide
Page 33
v UNIX: shell with .sh extension
Note: You cannot run the UNIX scripts on Windows systems even if you have
installed a UNIX-like environment on the Windows machines, for example,
Cygwin.
You store evaluators in ips_root/OS, where OS is the name of the operating system,
for example, Windows or UNIX_Linux.
Evaluator files must adhere to the following rules:
– prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories.
– property_name is the name of the prerequisite property.
– suffix_identifier is an optional identifier for a subtype of prerequisite properties
as outlined in Table 4 on page 6.
v Optionally pass two input parameters to the script for complex evaluations:
– expected_value, that is, the expected value for the prerequisite property that is
set in the configuration file.
– actual_value, that is, the actual value that the collector discovers for the
prerequisite property on the machine.
v Standard output is as follows:
– "PASS" when the expected value for the prerequisite property is equal to or
greater than the actual value for the prerequisite property.
– "FAIL" when the expected value for the prerequisite property does not equal
the actual value for the prerequisite property.
Output formats
IBM Prerequisite Scanner produces output for the following screen and
human-readable file formats: output to the command-line interface, debugging and
trace log files, and a simple text file for the results.
Prerequisite Scanner saves the scan results and log files to the ips_output_dir
directory. You can set this directory by using the outputDir input parameter when
you run the Scanner. If you do not set this parameter, the default output location is
ips_root.
Note: Prerequisite Scanner creates temporary files during its execution, but these
files are deleted before the Scanner completes its execution. These temporary files
are located in the ips_output_dir/temp subdirectory. The Scanner also deletes the
ips_output_dir/temp subdirectory, unless the subdirectory contains the debug and
trace files that are generated on UNIX systems only.
You can also use the parameter to specify a location, if you choose to run
Prerequisite Scanner from a CD, DVD, or a read-only network drive.
Important: If the output directory does not exist, Prerequisite Scanner creates the
directory. You must have write permissions to create or write to the output
directory in which Prerequisite Scanner saves the files.
Chapter 1. Prerequisite Scanner overview23
Page 34
Command-line interface output
When you run the Prerequisite Scanner script and set the optional detail
parameter, Prerequisite Scanner displays detailed results of the scan in the
command-line interface. The detailed results contain:
v The version of Prerequisite Scanner
v The version of the operating system on which the Scanner was run
v The name of the products or components for which the prerequisites checks
were run
v For each prerequisite property: the name of the prerequisite property checked,
the PASS or FAIL result, the actual value, and expected value
v For all components: the name of the general prerequisite property checked, the
PASS or FAIL result, the actual value, and the expected value
v The overall PASS or FAIL result, with any failure of an individual check
resulting in the failure of the overall scan
24Prerequisite Scanner: User's Guide
Page 35
Figure 1. Output to the command-line interface on Windows systems
If you do not set the detail parameter, the Scanner displays only the PASS or FAIL
result on the screen.
Chapter 1. Prerequisite Scanner overview25
Page 36
Figure 2. Output to the command-line interface on UNIX systems
Prerequisite Scanner generates returns codes dependent on the results of the scan
and whether it must exit because of errors. These return codes are written to the
log files. For example, if the Prerequisite Scanner fails to run the scan because
cannot read the configuration file, it generates return code of 2.
Collating memory and disk space prerequisite properties
You can run Prerequisite Scanner to simultaneously check for the prerequisites of
one or many products or components, when you specify multiple product codes as
input parameters. Prerequisite Scanner collates the results of memory and disk
space prerequisite checks in the following collated sections of the output, if the
associated prerequisite properties have been specified in the configuration files:
v On UNIX systems, in the TOTAL ALL SPECIFIED COMPONENTS section
v On Windows systems, in the ALL COMPONENTS section
The general prerequisite properties are as follows:
v Total amount of physical memory that is currently available in the target
environment, that is:
Memory
v Disk space of the file systems for the following prerequisite properties:
Note: If opt, usr, and var have not been defined as file systems on the target
computer, Prerequisite Scanner does not display the expected values and returned
results for these prerequisite properties in the collated section.
Prerequisite Scanner displays N/A (non applicable) in the collated section, if any of
the memory or disk space prerequisite properties do not exist in the configuration
files.
Debugging log file output on Windows systems
Prerequisite Scanner outputs processing information, warning and error messages,
and the scan results in the ips_output_dir/precheck.log file. When you run the
26Prerequisite Scanner: User's Guide
Page 37
Prerequisite Scanner script and set the optional debug parameter, Prerequisite
Scanner outputs additional debugging messages in this file.
Figure 3. precheck.log file
Trace and debugging log file output on UNIX systems
When you run the Prerequisite Scanner script and set the optional debug parameter,
Prerequisite Scanner outputs detailed processing information, warning and error
messages, and the scan results in the ips_output_dir/temp/prs.debug file.
Chapter 1. Prerequisite Scanner overview27
Page 38
Figure 4. prs.debug file on UNIX systems
When you run the Prerequisite Scanner script and set the optional trace parameter,
Prerequisite Scanner outputs trace information in the ips_output_dirtemp/prs.trc
file.
28Prerequisite Scanner: User's Guide
Page 39
Figure 5. prs.trc file on UNIX systems
Text file output
Prerequisite Scanner outputs detailed scan results in the ips_output_dir/result.txt
file. It saves the results to the text file regardless of whether you set the detail
parameter.
Chapter 1. Prerequisite Scanner overview29
Page 40
Figure 6. result.txt file on Windows systems
30Prerequisite Scanner: User's Guide
Page 41
Figure 7. result.txt file on UNIX systems
Related concepts:
Prerequisite Scanner generates returns codes dependent on the results of the scan
and whether it must exit because of errors. These return codes are written to the
log files.
You can use the execution problems checklist to troubleshoot errors you might
encounter when you runPrerequisite Scanner.
Scanning process
When you run IBM Prerequisite Scanner, it performs a set of tasks in each stage of
the scanning process. The user opens a command-line interface and runs the
Prerequisite Scanner script with the set of input parameters including a product
code.
Chapter 1. Prerequisite Scanner overview31
Page 42
Figure 8. Prerequisite Scanner architecture and scanning process
The scanning process in Figure 8 is summarized as follows:
1. Prerequisite Scanner verifies the format of the input parameters that are passed
to the Scanner.
2. The Scanner determines whether the product code that is passed as one of the
input parameters is a valid product code in the codename.cfg file.
3. The Scanner automatically detects the operating system of the machine.
4. The Scanner verifies whether the actual operating system of the machine is a
supported operating system. It uses one of the following methods:
v Product code file
The Scanner checks the actual operating system against the expected
supported operating system listed for the product code in the codename.cfg
file.
v Section title in the configuration file
32Prerequisite Scanner: User's Guide
Page 43
The Scanner checks the actual operating system against the expected
supported operating system in the section titles in the configuration file,
whose file name contains the same product code and the product version as
the input parameters. If the optional product version parameter was not
passed, the Scanner uses the latest version of the configuration file that it
finds in the ips_root/Windows|UNIX_Linux directory.
If the platform is not supported, Prerequisite Scanner exits and displays a
message to state that the platform is not supported.
5. The Scanner collects the actual prerequisite properties for the prerequisite
checks by using the Prerequisite Scanner collectors.
6. If the actual operating system is supported, the Scanner checks the prerequisite
properties in the configuration file that is associated with the product code and
product version.
The Scanner checks the actual operating system against the expected supported
operating system in the section titles in the configuration file, whose file name
contains the same product code and the product version as the input
parameters. If the optional product version parameter was not passed, the
Scanner uses the latest version of the configuration file that it finds in the
ips_root/Windows|UNIX_Linux directory.
7. The Scanner reads the prerequisite properties from the configuration file and
analyzes the actual and expected values of the prerequisite properties for the
prerequisite checks. It uses the Prerequisite Scanner evaluators where necessary.
8. The Scanner outputs the results of the scan to the command-line interface,
results text file, and the human-readable log files.
9. The Scanner cleans up and removes temporary files and directories.
New in this release
IBM Prerequisite Scanner Version 1.1.1.10 provides new prerequisite properties and
enhancements. It also contains fixes for defects.
New features in this modification
New configuration files in this modification
Table 9. New configuration files
Product or component
IBM Tivoli zEnterprise
Agent
IBM Tivoli Netcool
Manager
IBM Tivoli Composite Application
Manager Agent for WebSphere MQ
File Transfer Edition
New prerequisite properties in this modification
Enhancements in this modification
None
Table 9 outlines the new configuration files and product codes shipped
with Prerequisite Scanner Version 1.1.1.10.
Product
codeConfiguration file
™
Monitoring
®
Performance
KZEips_root/Windows|UNIX_Linux/KZE_06020300.cfg
GYMips_root/UNIX_Linux/GYM_01030200.cfg
KM6ips_root/Windows/KM6_07010000.cfg
None
Ability to specify the location of the output files.
Chapter 1. Prerequisite Scanner overview33
Page 44
outputDir is a new input parameter for the Prerequisite Scanner script in
Prerequisite Scanner Version 1.1.1.10. You can use it to specify the directory
that will contain the scan results and log files when you run the Scanner,
as specified by ips_output_dir . If you do not set this parameter, the default
output location is ips_root.
You can also use the parameter to specify a location, if you choose to run
Prerequisite Scanner from a CD, DVD, or a read-only network drive. See
“prereq_checker” on page 59.
Important: If the output directory does not exist, Prerequisite Scanner
creates the directory. You must have write permissions to create or write to
the output directory in which Prerequisite Scanner saves the files.
Table 10 outlines the product script files that have been updated to use the
outputDir parameter. The Windows batch files set the output directory to
%TEMP%\prs, and the UNIX script files set the output directory to /tmp/prs.
Table 10. Modified product script files
ProductScript names
Tivoli Asset Discovery for DistributedTAD.bat|TAD.sh
Tivoli License Compliance ManagerLCM.bat|LCM.sh
Tivoli Common ReportingTCR.bat|TCR.sh
Ability to determine success or failure of a scan based on return codes.
Prerequisite Scanner generates returns codes dependent on the results of
the scan and whether it must exit because of errors. See “Return codes” on
page 72.
Deprecated features in this modification
None
Defects fixed with this modification
Table 11 outlines the defects fixed in this modification.
Table 11. Defects fixed in this release
Defect
numberDescription
22583On Windows platforms only: When running Prerequisite Scanner to
simultaneously check for the prerequisites of one or many products or
components, it incorrectly outputs FAIL Not Found for the actual results of some
prerequisite properties.
This defect has been resolved by modifying the Windows collectors’ subroutine.
24387Resolved incorrect format documented for os.space.dir_name prerequisite
property. The change applies to the newly derived os.space.dir_name_non_root
and os.space.dir_name_root prerequisite properties. See “Operating system data
properties” on page 93.
34Prerequisite Scanner: User's Guide
Page 45
Table 11. Defects fixed in this release (continued)
Defect
numberDescription
24497Checking the os.space.dir_name prerequisite property for both root and
non-root users in the same configuration file does not return a valid result.
This defect has been resolved by creating variants of this property to support
checks for both root and non-root users in the same configuration file as follows:
v os.space.dir_name_nonroot to check the available disk space for the dir_name
file system of the non-root user
v os.space.dir_name_root to check the available disk space for the dir_name file
system of the root user
See “Operating system data properties” on page 93.
24793On UNIX platforms only: Prerequisite Scanner incorrectly displays 0MBin the
Expected Result value for os.space.dir_name or Memory prerequisite properties
in the TOTAL ALL SPECIFIED COMPONENTS section of the output, even if these
prerequisite properties do not exist in the configuration file.
This defect has been resolved by Prerequisite Scanner displayingN/A (non
applicable) in the TOTAL ALL SPECIFIED COMPONENTS section, if the prerequisite
property does not exist in the configuration file. See Output formats.
24794On Windows platforms only: Prerequisite Scanner incorrectly displays 0MBin
the Expected Result value for os.space.dir_name or Memory prerequisite
properties in the ALL COMPONENTS section of the output, even if these prerequisite
properties do not exist in the configuration file.
24730,
25024,
25219,
and
25229
24761,
25233
This defect has been resolved by Prerequisite Scanner displayingN/A (non
applicable) in the ALL COMPONENTS section, if the prerequisite property does not
exist in the configuration file. See Output formats.
Checking various prerequisite properties as a root or non-root user on UNIX
platforms did not return valid results, because Prerequisite Scanner was not able
to access commands that should be available to the tool on the target system.
This set of defects refer to requirements for the target system, which have been
documented as tool prerequisites. See Prerequisites.
Checking the os.package.SUNWgnome prerequisite properties did not return valid
results on Solaris platforms.
This defect has been resolved by modifying the os.package UNIX collector. The
IBM Tivoli Provisioning Manager configuration file was also updated to support
this fix.
Chapter 1. Prerequisite Scanner overview35
Page 46
36Prerequisite Scanner: User's Guide
Page 47
Chapter 2. Installing Prerequisite Scanner
There is no installation program for IBM Prerequisite Scanner. When you extract
the contents of the compressed file, the core files are in the root directory, with the
following subdirectories: /lib for the collectors and common scripts; /Windows for
the evaluators and configuration files on Windows; /UNIX_Linux for the evaluators
and configuration files on UNIX platforms; and /licenses for the license files.
Prerequisites
IBM Prerequisite Scanner can run on Windows systems, Windows XP or above,
32-bit, or 64-bit. It can also run on variants of AIX, HP-UX, Linux, and Solaris
operating systems.
Ensure that you have the following utilities installed or available in the target
environments:
Target systemPrerequisites
WindowsThe Telnet client is enabled, so that the
connectivity checks in the predefined
Connectivity collector can function correctly.
UNIX
v Bash is installed, so that the Prerequisite
Scanner UNIX collectors can function
correctly.
v For non-root users, the location of the
mount, swapinfo , and psrinfo commands
must be set in the PATH environment
variable, so that the commands are
available to Prerequisite Scanner. The
commands are in the /usr/sbin directory;
for example, set the PATH environment
variable as follows:
export PATH=$PATH:/usr/sbin/
v Ensure the correct access permissions are
assigned to the lscfg command, including
any specific permissions that are set by
the access-right flags such as setuid bit.
The correct access permissions mean that
Prerequisite Scanner can run the
command and retrieve system
information. The command is in the
/usr/sbin directory; for example to set the
setuid bit for lscfg,runchmod command
as follows:
chmod 4777 /usr/sbin/lscfg
Prerequisite Scanner supports all hardware and operating systems of the specified
product or IBM solution for which you are running Prerequisite Scanner.
You can extract the contents of the compressed file for IBM Prerequisite Scanner.
You must have write permissions to the root directory in which you extract the
contents of the compressed file.
Procedure
1. Open your web browser and enter the URL to IBM Fix Central. Ensure that
you sign into IBM.com or IBM Support Portal.
2. From the Product Group list, select Tivoli.
3. From the Product list, select IBM Prerequisite Scanner.
4. From the Installed Version list, select the version that you want to download.
5. From the Platform list, select the platform on which you want to install
Prerequisite Scanner.
6. Click Continue. The Identify Fixes page opens.
7. Use the default option, Browse for fixes, and click Continue.
8. On the Select fixes page, select the package, and click Continue.
9. On the Download option page, select the download option, and click
Download now.
10. Extract the contents of the compressed files to your preferred location as
specified by ips_root.
What to do next
Ensure that you check your product’s installation documentation or Technotes for
any additional steps that must be performed before running Prerequisite Scanner.
For example, you might need to set the environment variable that indicates to
Prerequisite Scanner which components or features are being installed on the target
computer and consequently, which prerequisites to check.
Uninstalling Prerequisite Scanner
Remove IBM Prerequisite Scanner if you want to install a newer version, move it
to another environment, or it is a version that you no longer need.
Procedure
1. Open the ips_root directory.
2. Delete the directory and its contents.
38Prerequisite Scanner: User's Guide
Page 49
Chapter 3. Extending Prerequisite Scanner
IBM Prerequisite Scanner provides a basic set of collectors, evaluators, and
configurations that you can use to run the tool and scan for prerequisites. If the
basic set of files, the prerequisite properties and values, and the prerequisite checks
do not meet your requirements, you can extend Prerequisite Scanner.
Before you run Prerequisite Scanner
Before running IBM Prerequisite Scanner, determine whether the predefined
prerequisite properties, their expected values, and configuration files meet your
requirements for prerequisite scanning. If any of them do not meet your needs,
you can perform a set of prerequisite tasks to configure or extend Prerequisite
Scanner. The set of prerequisite checks and tasks is dependent upon the platform
and the number of prerequisite checks.
Required checks and extension tasks for Windows systems
You should perform a set of checks and tasks before you run the IBM Prerequisite
Scanner. These checks determine whether you can edit and use existing
configuration files or you must extend Prerequisite Scanner.
Table 12 provides a list of checks and tasks to perform.
Table 12. Checks and tasks before using a configuration file for Windows systems
CheckTask
hCheck whether the product, its supported operating
systems, and versions of the operating system are
listed in the codename.cfg file.
hCheck whether a configuration file exists for the
product code associated with the product version.
hOpen the configuration file and check whether it
contains the correct prerequisite properties.
hCheck whether the prerequisite properties have the
expected values.
v If yes, perform the next check.
v If no, add a product code for the product,
individual operating system and the optional
operating system version to the file. For more
information, see “Adding product codes” on page
41.
v If yes, perform the next check.
v If no, create a configuration file to contain the
prerequisite properties for that operating system
and version of the operating system. For more
information, see “Creating custom configuration
files” on page 41.
v If yes, perform the next check.
v If no, add prerequisite properties. For more
information, see “Adding prerequisite properties”
on page 43.
v If yes, run the Prerequisite Scanner. For more
information, see Chapter 4, “Running Prerequisite
Scanner,” on page 59.
v If no, edit the prerequisite properties. For more
information, see “Editing prerequisite properties”
on page 45.
Table 12. Checks and tasks before using a configuration file for Windows systems (continued)
CheckTask
hFor any new prerequisite properties, check whether
predefined collectors can collect the actual values for
the prerequisite properties.
hFor any new or edited prerequisite properties, check
whether predefined evaluators can compare the
expected and actual values for the prerequisite
property.
hEnsure all files have been saved in the correct
directories:
v Configuration files, any custom product-specific
collectors and associated batch files, and any
custom evaluator files in the ips_root/Windows
directory
v Custom common collectors in the ips_root/lib
directory
v If yes, perform the next check.
v If no, create custom collectors. For more
information, see “Creating custom collectors for
Windows systems” on page 46.
v If yes, perform the next check.
v If no, create custom evaluators. For more
information, see “Creating custom evaluators for
Windows systems” on page 53.
Run the Prerequisite Scanner. For more information,
see Chapter 4, “Running Prerequisite Scanner,” on
page 59.
Required checks and extension tasks for UNIX systems
You should perform a set of prerequisite checks and tasks before you run the IBM
Prerequisite Scanner. These checks determine whether you can edit and use
existing configuration files or you must extend Prerequisite Scanner.
Table 13 provides a list of required checks and tasks to perform.
Table 13. Checks and tasks before using a configuration file for UNIX systems
CheckTask
hCheck whether the product is listed in the
codename.cfg file.
hCheck whether a configuration file exists for the
product code associated with the product.
hOpen the configuration file and check whether it
contains the correct prerequisite properties.
hCheck whether the prerequisite properties have the
expected values.
v If yes, perform the next check.
v If no, add a product code to the codename.cfg file.
For more information, see “Adding product codes”
on page 41.
v If yes, perform the next check.
v If no, create a configuration file to contain the
prerequisite properties for all supported platforms
of the product. For more information, see
“Creating custom configuration files” on page 41.
v If yes, perform the next check.
v If no, add prerequisite properties. For more
information, see “Adding prerequisite properties”
on page 43.
v If yes, run the Prerequisite Scanner. For more
information, see Chapter 4, “Running Prerequisite
Scanner,” on page 59.
v If no, edit the prerequisite properties. For more
information, see “Editing prerequisite properties”
on page 45.
40Prerequisite Scanner: User's Guide
Page 51
Table 13. Checks and tasks before using a configuration file for UNIX systems (continued)
CheckTask
hFor any new prerequisite properties, check whether
predefined collectors can collect the actual values for
the prerequisite properties.
hFor any new or edited prerequisite properties, check
whether evaluators can compare the expected and
actual values for the prerequisite property.
hFor any new or edited prerequisite properties, check
whether the code to call and run the collectors is in
the ips_root/UNIX_Linux/packageTest.sh script.
hEnsure all files have been saved in the correct
directories:
v Configuration files, any custom collectors files, and
any custom evaluator files in the
ips_root/UNIX_Linux directory
v If yes, perform the next check.
v If no, create custom collectors. For more
information, see “Creating custom collectors for
UNIX systems” on page 50.
v If yes, perform the next check.
v If no, create custom evaluators. For more
information, see “Creating custom evaluators for
UNIX systems” on page 57.
v If yes, perform the next check.
v If no, edit the master package test script. For more
information, see “Editing the package test script
for UNIX systems” on page 51.
Run the Prerequisite Scanner. For more information,
see Chapter 4, “Running Prerequisite Scanner,” on
page 59.
Adding product codes
IBM Prerequisite Scanner provides a set of predefined product version codes in the
codename.cfg file. You can add product codes if the file does not contain them for
the product version, its supported platforms, and versions of the operating
systems.
Procedure
1. Open the ips_root/codename.cfg file.
2. Check whether the file already contains name value pairs for the product
versions.
3. If product code does not exist, add one and ensure that you use the correct
format as follows:
product_code=code_value
Restriction: IBM Tivoli Monitoring and Tivoli Composite Application Manager
have predefined product codes that Prerequisite Scanner considers as reserved.
These codes must not be used as Prerequisite Scanner product codes unless
they refer to their associated IBM Tivoli Monitoring and Tivoli Composite
Application Manager agents. For more information about the product codes,
see the ITM 6.X Product Codes Technote.
For example, to add a product code for IBM Tivoli Monitoring for Energy
Management on all Windows platforms, add the following line to the file:
MEA=IBM Tivoli Monitoring for Energy Management
Creating custom configuration files
You can create custom configuration files from the sample configuration file if the
predefined configuration files do not meet your requirements for prerequisite
properties. Before you create the custom configuration file, ensure that you know
the prerequisite properties that you want to add and their expected values.
Chapter 3. Extending Prerequisite Scanner41
Page 52
About this task
Important: You must adhere to the naming conventions and formatting rules that
govern the creation and editing of a custom configuration file. If you do not,
Prerequisite Scanner cannot successfully run a scan by using this file.
Procedure
1. If necessary add product codes for the product to the codename.cfg file.
2. Create the configuration file by using a text editor in the ips_root/OS directory.
Ensure that you use the following naming convention for the file name:
product_code_version.cfg
where:
v product_code
It is the variable to represent a product code on either Windows or UNIX
systems. Product codes identify the product, an individual platform such as
Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the
operating system that is supported by that product. They are stored in the
codename.cfg file. Any product that supports multiple platforms has multiple
product codes, with each one identifying a product, platform, and version of
the operating system as required.
v version is the 8-digit code to represent the version, release, modification, and
level, with two digits for each part of the code; for example, 7.3.21 is
07032100.
3. Review the basic prerequisite properties outlined in Appendix C, “Prerequisite
properties reference,” on page 83 and determine which prerequisite properties
that you want to check.
4. Optional: Add a section and ensure that you use the following naming
convention for the section title:
v Single, predefined data-type category
[category_name:category_value]
For example, to create a section for prerequisite properties common to all
Windows platforms, add the following section title:
[OSType:Windows]
For example, to create a section for prerequisite properties common to all
RedHat Linux OS variants, add the following section title:
For example, to create a section for prerequisite properties for Windows
Server 2003 variants excluding Windows Server 2003 R2 variant, add the
following combination section title:
[OSType:Windows Server 2003][!OSType:Windows Server 2003 R2]
For example, create a section for prerequisite properties for SUSE Linux
Enterprise Server 11 OS and whether the environment variable
@TPAE_DB_SERVER is set to true. Add the following combination section title:
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite
properties as outlined in Table 4 on page 6.
v qualifier_name is an optional attribute for the prerequisite property. IBM
Prerequisite Scanner uses it to qualify the prerequisite property or type of
check to perform on the prerequisite property, as outlined in “Predefined
qualifiers for prerequisite properties” on page 8.
Note: You can have multiple qualifiers, each separated by a comma. The set
of qualifiers must be enclosed by [] square brackets.
v qualifier_value is the value for the optional attribute. Each qualifier and its
value must be delimited by a : colon.
v property_value is the value for the prerequisite property and it can be a string
or integer.
For example, the user predefined category of prerequisite properties has the
user prefix identifier. The prerequisite property for checking whether the
logged on user belongs to the Administrator user group is:
user.isAdmin=True
7. If a prerequisite property does not exist in the predefined categories, add the
name for the custom prerequisite property, its value, and optional qualifiers.
You must then create the following files to check for and compare the custom
prerequisite property as required: a custom collector to collect the actual value
for the prerequisite property and a custom evaluator if the standard compare
functions cannot compare the actual and expected values.
Adding prerequisite properties
You can add basic prerequisite properties from the predefined categories for
prerequisite properties to configuration files. Alternatively, you can add custom
prerequisite properties.
About this task
Important: You must adhere to the formatting rules that govern the addition and
editing of prerequisite properties to a configuration file. If you do not, Prerequisite
Scanner cannot successfully run a scan for that prerequisite property.
Chapter 3. Extending Prerequisite Scanner43
Page 54
Procedure
1. Open the configuration file.
2. Review the basic prerequisite properties outlined in Appendix C, “Prerequisite
properties reference,” on page 83 and determine which prerequisite properties
that you want to check.
3. For each prerequisite property that you want to add, enter a name value pair
with optional qualifiers as required.
For example, to add prerequisite properties from the common predefined
category, enter the property name and expected value only. Add the following
prerequisite properties to the file:
Disk=1GB
OS Version=regex{Windows 200[3-8]}
For example, the network predefined category of prerequisite properties has the
network prefix identifier and the prerequisite property name for checking
available ports is availablePorts . You can further categorize the available ports
by application subtypes, DB2 for DB2 database server, WAS for WebSphere
Application Server, FTP for FTP protocol. Add the following prerequisite
properties to the file:
For example, the operating system predefined category of prerequisite
properties has the os prefix identifier and the prerequisite property name for
checking available disk space for file systems is space. You can further
categorize the check by file system subtypes, usr and home. You can specify
values for the dir and unit qualifiers.
Add the following prerequisite properties to the file:
Important: You can use the predefined qualifiers only with specific predefined
prerequisite properties, as outlined in Table 5 on page 9.
4. If a prerequisite property does not exist in the predefined categories of
prerequisite properties, add the name value pair with optional qualifier for the
custom prerequisite property and value. Ensure that you use the following
format, with only prerequisite property on each line.
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite
properties as outlined in Table 4 on page 6.
v qualifier_name is an optional attribute for the prerequisite property. IBM
Prerequisite Scanner uses it to qualify the prerequisite property or type of
check to perform on the prerequisite property, as outlined in “Predefined
qualifiers for prerequisite properties” on page 8.
Note: You can have multiple qualifiers, each separated by a comma. The set
of qualifiers must be enclosed by [] square brackets.
44Prerequisite Scanner: User's Guide
Page 55
v qualifier_value is the value for the optional attribute. Each qualifier and its
value must be delimited by a : colon.
v property_value is the value for the prerequisite property and it can be a string
or integer.
For example, env.tcrhome is a custom prerequisite property that checks the
home directory environment variable for Tivoli Common Reporting, and the
expected value should be True:
env.tcrhome=True
env.path.jar is a custom prerequisite property that checks whether the JRE isset in the PATH environment variable, and the expected value should be False:
env.path.jar=False
Note: You must then create the following files to check for and compare the
custom prerequisite property as required: a custom collector to collect the
actual value for the prerequisite property and a custom evaluator only if the
standard compare functions cannot compare the actual and expected values.
Editing prerequisite properties
You can edit prerequisite properties, change the expected values for those
prerequisite properties, or change the associated values of the qualifiers.
Before you begin
Check whether the new value is a valid value that is supported by the prerequisite
property. For example, the Disk prerequisite property expects a numeric format
with either the MB or GB unit. If you want to check the available disk space in
terabytes (TB), you must extend the compare API to support TB comparisons. You
must also edit the Disk prerequisite property in the relevant configuration files.
Check the predefined qualifiers and valid values for the prerequisite property, as
outlined in “Predefined qualifiers for prerequisite properties” on page 8.
Procedure
1. Open the configuration file.
2. For each prerequisite property that you want to edit, enter the new expected
value or change the value for the qualifier. For example, a new system
administrator is the root user, so the value for the user.userID prerequisite
property must change. Change the value to the new name:
user.userID=smithj
For example, the type qualifier for the os.ulimit prerequisite property
currently has a value of filedescriptorlimit to check the limit for the file
descriptors. You might want to check another limit such as the stack size.
Change the following qualifier's value for the prerequisite property from:
Important: You can use the predefined qualifiers only with specific predefined
prerequisite properties, as outlined in Table 5 on page 9.
Chapter 3. Extending Prerequisite Scanner45
Page 56
Creating custom collectors for Windows systems
You can create custom connectors if the basic set collectors do not collect values for
the prerequisite properties required for the product to be installed. You can create
custom common VBScript collectors to collect data for prerequisite properties that
apply to any product and product version. Alternatively, you can create custom
product-specific ones to collect data that apply to a specific product and product
version. While each type of custom VBScript collector collects data by using the
same methods, the rules for creation, storage, and execution are slightly different.
Creating custom VBScript collectors common to all
configuration files
When you create custom common VBScript collectors, the file name must contain
the name of the prerequisite property and stored in the /lib subdirectory. The
collector contains code to obtain the actual value for a prerequisite property. It can
also use the common functions and sub routines to obtain the value if required.
Before you begin
Ensure that you review the set of predefined functions and sub routines in the
following appendixes before you create the collectors. Determine whether you can
use any of them to obtain the actual values:
v Appendix E, “Common functions for Windows systems,” on page 113
v Appendix G, “File utility sub routines for Windows systems,” on page 129
v Appendix F, “Logging utility sub routines for Windows systems,” on page 127
v Appendix H, “Other common functions and sub routines for Windows systems,”
on page 131
Determine whether the collector must check that the prerequisite property exists
and if it does, what other information must be gathered. Each check must return a
value, whether one exists or not. For example:
v Check whether an environment variable exists, such as the home directory of a
product, for example TCR_HOME for Tivoli Common Reporting.
v Check whether the environment variable contains a JAR file, binary, or path,
such as the path to the JRE in the PATH environment variable.
v Check the actual value of an environment variable, such as the home directory
of a product, for example TCR_HOME for Tivoli Common Reporting.
v Check whether a product is installed.
v Check what version of the product is installed.
Procedure
1. Create a VBScript file. Save the file in the ips_root/lib directory, with a variant
of the following file naming convention:
[prefix_identifier.]property_name.vbs
where:
vprefix_identifier is the prefix identifier for a predefined category of
prerequisite properties as outlined in Table 3 on page 4.
v property_name is the prerequisite property name and is used in the collector
name.
46Prerequisite Scanner: User's Guide
Page 57
For example, mssqlVersion.vbs contains the code to obtain the actual value for
the MS SQL server prerequisite property on the Windows machine.
2. Using a VBScript editor, add the code to obtain the value for the prerequisite
property. Use VBScript COM and functions to access elements of the Windows
environment and run in the Windows Script Host environment. Ensure the
check returns standard output as follows:
WScript.Echo "property_name=" & var_for_value
v property_name that represents the prerequisite property as written in the
configuration file, for example, env.tcrhome.
v var_for_value, that is, the VBScript variable for the actual value that the
collector obtains for the prerequisite property.
To check whether the TCR_HOME environment exists and return the actual value,
where the prerequisite property name is env.tcrhome:
set wshShell = WScript.CreateObject("WScript.Shell")
tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%")
WScript.Echo "env.tcrhome=" & tcr_home
To check whether the JRE is set in the PATH variable, where the prerequisite
property name is env.path.jre:
Set wshShell = WScript.CreateObject("WScript.Shell")
path = WshShell.ExpandEnvironmentStrings("%PATH%")
Set objRegEx = new RegExp
objRegEx.Pattern = "(^|([:;\\/]))(C:\Program Files\IBM\Java60\jre\bin)($|[:;])"
objRegEx.IgnoreCase = True
objRegEx.Global = True
Set matches = objRegEx.Execute(path)
WScript.Echo "env.path.jre=" & (matches.Count > 0)
To check the version of Tivoli Directory Integrator installed, where the
prerequisite property name is installedSoftware.TDI.version:
Set oReg = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" &
Set sftReg = new RegExp
sftReg.pattern = "Tivoli Directory Integrator"
sftReg.Global=False
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
Next
strComputer & "\root\default:StdRegProv")
searchkey = strKeyPath & "\" & subkey
oReg.GetStringValue HKEY_LOCAL_MACHINE, searchkey, regDisName, strName
oReg.GetStringValue HKEY_LOCAL_MACHINE, searchkey, regDisVer, strVersion
If Not IsNull(strName) Then
Set matches = sftReg.Execute(strName)
If matches.Count > 0 Then
3. Run the VBScript collector to ensure that there are no runtime errors and debug
as necessary.
4. Create a custom evaluator only if the standard compare functions cannot
compare the actual and expected values.
Chapter 3. Extending Prerequisite Scanner47
Page 58
Creating custom VBScript collectors specific to a product and
product version
When you create custom product-specific VBScript collectors, the file name must
be the same product code as the configuration file and stored in the/Windows
subdirectory. The collector can contain code to gather actual values for one or
many prerequisite properties. It can also use the common functions and sub
routines to gather those values if required.
Before you begin
Ensure that you review the set of functions and sub routines in the following
appendixes before you create the collectors. Determine whether you can use any of
them to obtain the actual values:
v Appendix E, “Common functions for Windows systems,” on page 113
v Appendix G, “File utility sub routines for Windows systems,” on page 129
v Appendix F, “Logging utility sub routines for Windows systems,” on page 127
v Appendix H, “Other common functions and sub routines for Windows systems,”
on page 131
Determine whether the collector must check that the prerequisite property exists
and if it does, what other information must be gathered. Each check must return a
value, whether one exists. For example:
v Check whether the directory exists.
v Check the available disk space for a directory.
v Check whether a product is installed.
v Check what version of the product is installed.
Procedure
1. Create a VBScript file. Save the file in the ips_root/Windows directory, with a
variant of the following file naming convention:
product_code[_version].vbs
where:
v product_code
It is the variable to represent a product code on either Windows or UNIX
systems. Product codes identify the product, an individual platform such as
Windows, AIX, HP-UX, Linux, and Solaris, and optionally the version of the
operating system that is supported by that product. They are stored in the
codename.cfg file. Any product that supports multiple platforms has multiple
product codes, with each one identifying a product, platform, and version of
the operating system as required.
v version is the 8-digit code to represent the version, release, modification, and
level, with two digits for each part of the code; for example, 7.3.21 is
07032100.
2. Using a VBScript editor, open the file and include the path to the
common_function.vbs if you must use common functions, as follows:
Include("..\lib\common_function.vbs")
3. If you must use the values of the PATH and -p flag passed from the Prerequisite
Scanner, then use Wscript.Arguments() where Wscript.Arguments(0) is the
value for PATH. Wscript.Arguments(1) is the -p flag and its values.
48Prerequisite Scanner: User's Guide
Page 59
4. Add the code to obtain the value for the prerequisite property by using
VBScript COM and functions to access elements of the Windows environment.
Run in the Windows Script Host environment. Ensure the check returns
standard output as follows:
WScript.Echo "property_name=" & var_for_value
v property_name that represents the prerequisite property as written in the
configuration file, for example, env.tcrhome.
v var_for_value, that is, the VBScript variable for the actual value that the
collector obtains for the prerequisite property.
To check the available disk space for the installation directory for a product.
For example, to check for Tivoli Monitoring for Energy Management Reporting
and Optimization by using the “getValue()” on page 132 sub routine, where the
prerequisite property is InstallDir:
Set wshShell = WScript.CreateObject("WScript.Shell")
’Check the disk space for the installation path that is passed as
7. Create a custom evaluator only if the standard compare functions cannot
compare the actual and expected values.
Chapter 3. Extending Prerequisite Scanner49
Page 60
Creating custom collectors for UNIX systems
You can create custom connectors if the basic set collectors do not collect values for
the prerequisite properties required for the product to be installed. When you
create custom collectors, the file name must be the same as the prerequisite
property though without the subtype in its name. The collector is stored in
the/UNIX_Linux subdirectory. The collector can contain code to obtain actual values
for one or many prerequisite properties. It can also use the common functions to
obtain those values if required.
Before you begin
Ensure that you review the set of functions in the following appendixes before you
create the collectors. Determine whether you can use any of them to obtain the
actual values:
v Appendix I, “Common functions for UNIX systems,” on page 135
v Appendix J, “Other functions for UNIX systems,” on page 141
v Appendix K, “Logging utility functions for UNIX systems,” on page 149
Determine whether the collector must check that the prerequisite property exists
and if it does, what other information must be gathered. Each check must return a
value, whether one exists. For example:
v Check whether a product is installed, for example, a package installed with
RPM.
v Check what version of the product is installed.
v Check whether the available disk space for a mounted file system
If you want to use subtypes, suffix_identifier, and further categorize a prerequisite
property by application, utility, or service subtype, you can create a common
collector. Pass the differentiator for the suffix_identifier subtype, that is,
differentiator_suffix_identifier to its collector. For example, os.package is the common
collector to check for the existence of packages. To check for the existence of
openssh, pass the name of the package when invoking the os.package collector in
the packageTest.sh script file, as follows:
./os.package openssh
Where openssh is the name of the package, that is, the suffix_identifier subtype and
the differentiator_suffix_identifier differentiator.
Procedure
1. Create a shell script file. Save the file in the ips_root/Unix_Linux directory, with
a variant of the following file naming convention but without a file extension:
[prefix_identifier.]property_name
where:
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories, for example, env.
v property_name is the name of the prerequisite property, for example, path.jre
2. Using an editor, open the file and include the path to the common_function.sh if
you must use common functions, as follows:
. ../lib/common_function.sh
50Prerequisite Scanner: User's Guide
Page 61
3. Add the code to obtain the value for the prerequisite property by using
commands and options specific to that platform to access elements of the host
environment. For example, the custom env.path.jar prerequisite property
needs to check whether the JRE is set in the PATH variable. The following code
runs the env command, searches the output for PATH variable, and then searches
its value for the JRE path.
echo "True"|"False" ’If the scan checks for the existence of the prerequisite
property
echo $res ’If the scan checks returns the value, for example, product version,
echo "Unavailable" ’If the scan returns no value for the prerequisite property
echo "Available" ’If the scan returns a valid check for the prerequisite property
’of the prerequisite property
In the example, based on the value of the $envJRE variable, the check either
returns True or False:
if [ $envJRE ]; then
echo "True"
else
echo "False"
fi
5. Run the custom collector to ensure that there are no runtime errors and debug
as necessary.
6. Edit the ips_root/UNIX_Linux/packageTest.sh script to call and run the custom
collector.
7. Create a custom evaluator only if the custom collector returns values other than
boolean values.
Editing the package test script for UNIX systems
You can update the packageTest.sh script file to call custom collectors on UNIX
systems.
Before you begin
Ensure that you know the names of the collectors associated with predefined
prerequisite properties, as outlined in Appendix D, “Predefined collectors for UNIX
systems,” on page 107. If the prerequisite property is further categorized by
application, utility, or service subtype, pass the differentiator for the suffix_identifier
subtype, that is, differentiator_suffix_identifier to its collector.
For example, os.package is the common collector to check for the existence of
packages. To check for the existence of openssh, pass the name of the package
when invoking the os.package collector in the packageTest.sh script file, as
follows:
./os.package openssh
Where openssh is the name of the package, that is, the suffix_identifier subtype and
differentiator_suffix_identifier differentiator.
Procedure
1. Using an editor, open the ips_root/UNIX_Linux/packageTest.sh script.
2. Add the code to read the custom prerequisite property from the configuration
file and parse its value.
Chapter 3. Extending Prerequisite Scanner51
Page 62
res=`echo $line | grep [prefix_identifier.]property_name[.suffix_identifier]`
if [ $res ]; then
ExpValue=`echo $res | cut -d "=" -f2`
For example, to read the custom env.path.jar prerequisite property and check
whether the JRE is set in the PATH variable:
res=`echo $line | grep env.path.jar`
if [ $res ]; then
ExpValue=`echo $res | cut -d "=" -f2`
Note: If the custom collector has subtypes, that is, [suffix_identifier] in the file
name and needs additional checks based on subtype, pass the
[differentiator_suffix_identifier] differentiator for the subtype to the custom
collector.
6. Repeat steps 2 to 5 for each custom prerequisite property.
Creating custom evaluators for Windows systems
You can create VBScript evaluators if the basic evaluators do not compare the
expected and actual values for the prerequisite properties by using the correct
evaluation criteria. When you create custom evaluators, the file name must end
with _compare and stored in the /Windows subdirectory. The custom evaluator can
use the common functions and sub routines to compare the values if required.
Before you begin
Ensure that you review the set of functions and sub routines in the following
appendixes before you create the evaluator. Determine whether you can use any of
them to compare the values:
v Appendix E, “Common functions for Windows systems,” on page 113
v Appendix G, “File utility sub routines for Windows systems,” on page 129
v Appendix F, “Logging utility sub routines for Windows systems,” on page 127
v Appendix H, “Other common functions and sub routines for Windows systems,”
on page 131
Note: The common function, “passOrFail()” on page 123, can compare the actual
and expected values for the following data types: a generic number; size in MBs or
GBs; processor speed in MHz or GHz; boolean value; or a string. Create only a
custom evaluator if the passOrFail function cannot be used.
Procedure
1. Create a VBScript file. Save the file in the ips_root/Windows directory, with a
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite
properties as outlined in Table 4 on page 6.
2. Add the code to compare the actual and expected values that are passed to the
evaluator as arguments by using VBScript COM and associated functions.
Ensure the comparison returns standard output as follows:
v "PASS" when the expected value for the prerequisite property is equal to or
greater than the actual value for the prerequisite property
v "FAIL" when the expected value for the prerequisite property does not equal
the actual value for the prerequisite property
3. Run the custom evaluator to ensure that there are no runtime errors and debug
as necessary.
Chapter 3. Extending Prerequisite Scanner53
Page 64
Example
This custom evaluator checks the actual and expected values for the version of
Tivoli Directory Integrator. It uses the common function, “versionCompare()” on
page 133.
Dim expectedVersion
’if (StrComp(Right(expect,1),"+")=0 or StrComp(Right(expect,1),"-")=0) Then
if (Right(expect,1)="+" or Right(expect,1)="-") Then
expectedVersion = Left(expect,len(expect)-1)
else
expectedVersion = expect
end if
Dim cmp
cmp = versionCompare(expectedVersion,real)
if (StrComp(Right(expect,1),"+")=0) Then
’ Version must be at least expected value
if (cmp=0 or cmp=-1) Then
tdiVersionCompare = "PASS"
else
tdiVersionCompare = "FAIL"
end if
elseif (StrComp(Right(expect,1),"-")=0) Then
elseif cmp=0 then
else
end if
end function
’ Generic function for comparing 2 version strings
’
’ Parameters
’ver1 The first version string
’ver2 The second version string
’
’ ver1 and ver2 are expected to be dot-separated version strings
’(e.g. 1.0.0.4, 2.3, 3.40.26.7800, 2.3.a)Version strings can have any
’ number of parts. When comparing versions with different numbers of
’ parts, missing parts of the shorter version string will be treated
’ as if there was a zero there. If any non-numeric characters are
’ included in a version part, those corresponding parts will be compared
’ asstrings and not parsed into numeric form
’
’ Returns
’1 version1 > version2
’ Version must be less than or equal to expected value
if (cmp=0 or cmp=1) Then
tdiVersionCompare = "PASS"
else
tdiVersionCompare = "FAIL"
end if
tdiVersionCompare = "PASS"
tdiVersionCompare = "FAIL"
54Prerequisite Scanner: User's Guide
Page 65
’-1 version1 < version2
’0 version1 = version2
’
’ Special cases:
’ RESULTversion 1version 2
’0emptyempty
’1validStringempty
’ -1emptyvalidString
’
’ NOTE: This function should eventually move to common_functions.vbs
Const UNASSIGNED = "*UNASSIGNED*"
Dim v1Default, v2Default
’ Handle special cases:
if (IsEmpty(ver1) and IsEmpty(ver2)) Then
versionCompare = 0
exit function
end if
if (IsEmpty(ver1) and not IsEmpty(ver2)) Then
versionCompare = -1
exit function
end if
if (not IsEmpty(ver1) and IsEmpty(ver2)) Then
versionCompare = 1
exit function
end if
Dim ver1Parts, ver2Parts
’ Versions are not empty. Break into parts and compare numbers
ver1Parts = Split(ver1,".")
ver2Parts = Split(ver2,".")
Dim v1Size, v2Size
v1Size = ubound(ver1Parts)
v2Size = ubound(ver2Parts)
’ If last version part is "*", treat all missing parts as "*"
’(so 2.* matches 2.1.3, for example)
if (v1Size > v2Size) Then
Redim Preserve ver2Parts(v1Size)
if (ver2Parts(v2Size)="*") Then
for i = v2Size to v1Size
ver2Parts(i) = "*"
next
end if
elseif (v2Size > v1Size) Then
Redim Preserve ver1Parts(v2Size)
if (ver1Parts(v1Size)="*") Then
for i = v1Size to v2Size
ver1Parts(i) = "*"
next
end if
end if
Dim i
i=0
Do While (i<=ubound(ver1Parts) or i<=ubound(ver2Parts))
Dim v1, v2, v1Str, v2Str
v1Str = UNASSIGNED
v2Str = UNASSIGNED
Chapter 3. Extending Prerequisite Scanner55
Page 66
if (i<=ubound(ver1Parts)) Then
on error resume next
v1 = Int(ver1Parts(i))
if not Err=0 Then
v1Str = ver1Parts(i)
if (i<=ubound(ver2Parts)) Then
v2Str = ver2Parts(i)
else
v2Str = "0"
end if
end if
else
v1=0
end if
if (i<=ubound(ver2Parts)) Then
on error resume next
v2 = Int(ver2Parts(i))
if not Err=0 Then
if (i<=ubound(ver1Parts)) Then
v1Str = ver1Parts(i)
else
v1Str = "0"
end if
v2Str = ver2Parts(i)
end if
else
v2=0
end if
if (not v1Str=UNASSIGNED or not v2Str=UNASSIGNED) Then
if (IsEmpty(v1Str)) Then
v1Str = "0"
end if
if (IsEmpty(v2Str)) Then
v2Str = "0"
End if
’WScript.echo "Comparing as strings: " & v1Str &":"& v2Str
’ Compare as Strings if either part could not be converted to a number
if (not v1Str="*" and not v2Str="*") Then
if (not v1Str=v2Str) Then
versionCompare = StrComp(v1Str,v2Str)
exit function
end if
end if
else
’WScript.echo "Comparing as numbers: " & v1 &":"& v2
if (v1 > v2) Then
versionCompare = 1
exit function
end if
if (v2 > v1) Then
versionCompare = -1
exit function
end if
end if
i=i+1
Loop
’ If we got here, versions must be equal
versionCompare = 0
end function
56Prerequisite Scanner: User's Guide
Page 67
Creating custom evaluators for UNIX systems
You can create custom evaluators if the custom collector does not return boolean
values, that is, True or False. When you create custom evaluators, the file name
must end with _compare and stored in the /UNIX_Linux subdirectory. The custom
evaluator can use the common functions to compare the values if required.
Before you begin
Ensure that you review the set of functions in the following appendixes before you
create the custom evaluators. Determine whether you can use any of them to
compare the actual and expected values:
v Appendix I, “Common functions for UNIX systems,” on page 135
v Appendix J, “Other functions for UNIX systems,” on page 141
v Appendix K, “Logging utility functions for UNIX systems,” on page 149
There are two script files that you can use as a starting point, that is, ._compare.sh
and _compare.sh in the /Unix_Linux subdirectory.
Important: Do not create custom evaluators if your custom collectors return True
or False. IBM Prerequisite Scanner uses predefined evaluators for any collector
that returns boolean values.
Procedure
1. Create a shell file. Save the file in the ips_root/UNIX_Linux directory, with a
v prefix_identifier is an identifier for a predefined category of prerequisite
properties as outlined in Table 3 on page 4. This prefix identifier is required
by some of the predefined categories.
v property_name is the name of the prerequisite property.
v suffix_identifier is an optional identifier for a subtype of prerequisite
properties as outlined in Table 4 on page 6.
2. Add the code to compare the actual and expected values that are passed to the
evaluator as arguments and associated functions. Ensure the comparison
returns standard output as follows:
v "PASS" when the expected value for the prerequisite property is equal to or
greater than the actual value for the prerequisite property
v "FAIL" when the expected value for the prerequisite property does not equal
the actual value for the prerequisite property
3. Run the custom evaluator to ensure that there are no runtime errors and debug
as necessary.
Chapter 3. Extending Prerequisite Scanner57
Page 68
58Prerequisite Scanner: User's Guide
Page 69
Chapter 4. Running Prerequisite Scanner
You can use a command-line interface to run the IBM Prerequisite Scanner. The
Prerequisite Scanner script, prereq_checker, takes a set of required and optional
parameters and a command flag for additional optional parameters.
Table 14 explains the special characters that are used in the syntax of the
Prerequisite Scanner script.
Table 14. Special characters legend for the Prerequisite Scanner script
Special characterDescription
<>Identifies a placeholder name.
[]Identifies an optional parameter. Parameters not enclosed in brackets
are required.
...Indicates that you can specify multiple values for a parameter.
|Indicates mutually exclusive parameters. Specify either the parameter
to the left of the separator or the parameter to the right of the
separator, but not both.
{}Encloses a set of mutually exclusive parameter separated by |.
prereq_checker
The prereq_checker script runs the IBM Prerequisite Scanner and checks for
prerequisites based on the set of parameters that you specify when you run the
script.
You must set at least one Product_Code parameter to identify the product or
component for which to run the prerequisite check and the associated
configuration file. Product_Code is the product code that you set in the
ips_root/codename.cfg file.
For example, KMS is the product code for the Tivoli Enterprise Monitoring Server in
the product.cfg file. To run the Scanner, enter the following script with the
product code:
./prereq_checker.sh KMS
If you set a Product_Code parameter that does not have a corresponding
configuration file, the Prerequisite Scanner ignores it without error. The log file
contains a message that no configuration file was found.
The Product_Version parameter for the associated Product_Code parameter
indicates the version of the product. It is the 8-digit code to represent the version,
release, modification, and level, with two digits for each part of the code; for
example, 7.3.21 is 07032100. Product_Version is an optional parameter. If you do
not set it, the Prerequisite Scanner checks the latest available version.
You can set one or many Product_Code parameters with the optional
Product_Version parameter, each separated by a comma.
Important: When you set more than one <Product_Code> parameter with the
optional <Product_Version> parameter, enclose the parameters in quotation marks.
If you do not, the Scanner fails.
This example checks prerequisites for the latest version of Tivoli Monitoring
Operating System Agent for Windows and Version 6.2.1 of Tivoli Monitoring Agent
for DB2.
prereq_checker.bat "KNT,KUD 06210000"
[detail]
This optional parameter indicates whether to display detailed results of the scan in
the command-line interface.
Important: Do not enclose this parameter in quotation marks.
When you set the detail parameter, the detailed results contain:
v The version of the Prerequisite Scanner
v The version of the operating system on which the Scanner was run
v The name of the products or components for which the prerequisites checks
were run
v For each prerequisite property: the name of the prerequisite property checked,
the PASS or FAIL result, the actual value, and expected value
60Prerequisite Scanner: User's Guide
Page 71
v For all components: the name of the general prerequisite property checked, the
PASS or FAIL result, the actual value, and expected value
v The overall PASS or FAIL result
Prerequisite Scanner also saves these results to the ips_output_dir/result.txt file. It
saves the results to the text file regardless of whether you set the detail parameter.
Chapter 4. Running Prerequisite Scanner61
Page 72
Figure 9. Running the script and setting the detail parameter on UNIX systems
If you do not set the detail parameter, the Scanner displays only the PASS or FAIL
result in the command-line interface.
62Prerequisite Scanner: User's Guide
Page 73
Figure 10. Running the script without setting the detail parameter on Windows systems
[outputDir="ips_output_dir"]
This optional parameter indicates that you want to set the output directory for the
scan results and log files for Prerequisite Scanner.
When you run the Prerequisite Scanner script and set the optional outputDir
parameter, Prerequisite Scanner outputs the results text and log files to the
directory specified by the parameter’s value. This value is known as ips_output_dir
throughout the documentation.
If you do not set this parameter, the default output location is ips_root.
You must use the parameter to specify a location, if you choose to run Prerequisite
Scanner from a CD, DVD, or read-only network drive. You must have write
permissions to write to ips_output_dir; otherwise, Prerequisite Scanner fails.
Important: If the output directory does not exist, Prerequisite Scanner creates the
directory. You must have write permissions to create or write to the output
directory in which Prerequisite Scanner saves the files.
[PATH="product_root"]
This optional parameter indicates the installation directories for the products.
Important: On Windows, do not set the path to a drive letter only, that is, C:.
Ensure that you set a valid path.
If you do not set the path parameter, the Scanner checks the default installation
directories for IBM Tivoli products:
v On UNIX systems: /opt/ibm/itm
v On Windows systems: C:\IBM\itm
[-p Product_Code.instance.parameter=value,...]
The optional -p flag indicates that the proceeding parameters must be passed to a
script file for additional prerequisite checking. <Product_Code> is the product code.
Only each set of instance.parameter=value is passed to the script. You can pass
multiple sets of parameters, separated by a comma.
The script to which the parameters are passed is determined by the following
options:
v With a Product_Code prefix, the parameters are passed to the script with the
associated Product_Code
v Without the Product_Code prefix, the parameters are passed to the common
This flag with parameters passes db2inst1.DB2_INST_OWNER=db2inst1 and
db2inst2.DB2_INST_OWNER=db2inst2 to the KUD.Product_Version.bat script file.
Example 2
-p SERVER=IP.PIPE://mymachine:1918
This flag with parameters passes SERVER=IP.PIPE://mymachine:1918 to the common
collector to check the ports.
Note: This script accepts the parameters in -p as tacmd createNode.
You can set the SERVER, PROTOCOL, PORT, BACKUP, and BSERVER parameters in
ips_root/lib/common_configuration. Prerequisite Scanner prioritizes the parameters
passed from the command-line interface above those parameters set in the
common_configuration file.
[debug]
This optional parameter indicates that you want to turn on debugging while
running the Prerequisite Scanner.
When you run the Prerequisite Scanner script and set the optional debug parameter,
Prerequisite Scanner outputs detailed processing information, warning and error
messages, and the scan results in the log file. It is the ips_output_dir/prs.debug file
on UNIX systems and the ips_output_dir/precheck.log file on Windows systems.
Important: Debugging the Scanner is turned off by default.
[trace]
(UNIX systems only) This optional parameter indicates that you want to turn on
trace logging while running the Prerequisite Scanner.
When you run the Prerequisite Scanner script and set the optional trace parameter,
Prerequisite Scanner outputs trace information in the ips_output_dir/prs.trc file.
Important: Trace logging for the Scanner is turned off by default.
Running Prerequisite Scanner from the command line
You can run IBM Prerequisite Scanner from the command-line interface and enter
the relevant input parameters for the script.
Before you begin
Ensure that you check your product’s installation documentation or Technotes for
any additional steps that must be performed before running Prerequisite Scanner.
For example, you might need to set the environment variable that indicates to
Prerequisite Scanner which components or features are being installed on the target
computer and consequently, which prerequisites to check.
64Prerequisite Scanner: User's Guide
Page 75
Procedure
1. Open the command-line interface and open the ips_root directory.
2. Run the Prerequisite Scanner script file, prereq_checker, as follows:
The following example runs Prerequisite Scanner for Tivoli zEnterprise
Monitoring Agent using product code KZE. It also sets the location of the results
and log files to ips_output_dir by using the optional outputDir parameter.
Important: You must use the outputDir parameter to specify a location, if you
choose to run Prerequisite Scanner from a CD, DVD, or read-only network
drive. You must have write permissions to write to ips_output_dir; otherwise,
Prerequisite Scanner fails.
The Scanner outputs the result.txt file and precheck.log files to the
following locations:
v On Windows systems: D:\temp\ips where TEMP is environment variable for
the temporary folder.
v On UNIX systems: /tmp/ips
Chapter 4. Running Prerequisite Scanner65
Page 76
Important: If the output directory does not exist, Prerequisite Scanner creates
the directory. You must have write permissions to create or write to the output
directory in which Prerequisite Scanner saves the files.
Common directory locations
There are path name variables for common directories.
IBM Prerequisite Scanner installation directory
ips_root describes the location where Prerequisite Scanner is installed. This
location can be specified during installation.
Prerequisite Scanner output directory
ips_output_dir describes the location where the scan results and log files for
Prerequisite Scanner are saved. This location can be specified by using the
outputDir input parameter when you run the Scanner. If you do not set this
parameter, the default output location is ips_root.
Note: Prerequisite Scanner creates temporary files during its execution, but these
files are deleted before the Scanner completes its execution. These temporary files
are located in the ips_output_dir/temp subdirectory. The Scanner also deletes the
ips_output_dir/temp subdirectory, unless the subdirectory contains the debug and
trace files that are generated on UNIX systems only.
66Prerequisite Scanner: User's Guide
Page 77
Chapter 5. Troubleshooting Prerequisite Scanner
You can troubleshoot issues in IBM Prerequisite Scanner by using log files and
logging functions when you create custom prerequisite checks.
Prerequisite Scanner generates returns codes dependent on the results of the scan
and whether it must exit because of errors. These return codes are written to the
log files. For example, if the Prerequisite Scanner fails to run the scan because
cannot read the configuration file, it generates return code of 2.
Troubleshooting on Windows systems
When you run IBM Prerequisite Scanner, it creates a log file by default. It contains
detailed information with each step and function that the Scanner performs in
sequence. The file also contains timestamps, including start and end times of each
function and step. You can debug and review the log file to determine where and
when the error occurred.
Prerequisite Scanner outputs processing information, warning and error messages,
and the scan results in the ips_output_dir/precheck.log file. When you run the
Prerequisite Scanner script and set the optional debug parameter, Prerequisite
Scanner outputs additional debugging messages in this file.
Figure 11 on page 68 shows an example of the log file when the optional debug
parameter is set and Figure 12 on page 69 shows the log file when the parameter is
not set.
Writing messages to log files is disabled by default on UNIX systems. You can
enable debugging or tracing functions by using the debug and trace input
parameters. The Scanner writes the debug and trace data to different log files and
uses timestamps to flag the start and end times of steps or functions. You can use
both files to correlate and troubleshoot a specific issue, function, or prerequisite
check.
Debugging log file
When you run the Prerequisite Scanner script and set the optional debug parameter,
Prerequisite Scanner outputs detailed processing information, warning and error
messages, and the scan results in the ips_output_dir/temp/prs.debug file. It contains
detailed information with each step and function that the Scanner performs in
sequence. The file also contains timestamps, including start and end times of each
function and step. The ips_output_dir/temp subdirectory also contains the interim
result1.txt and result2.txt files that provide the input to the final
ips_output_dir/result.txt file. You can use these interim files to determine issues
Chapter 5. Troubleshooting Prerequisite Scanner69
Page 80
with results for specific prerequisite checks.
Figure 13. prs.debug file on UNIX systems
Trace log file
When you run the Prerequisite Scanner script and set the optional trace parameter,
Prerequisite Scanner outputs trace information in the ips_output_dir/temp/prs.trc
file. It contains information with each function that the Scanner performs in
sequence. The file also contains timestamps, including start and end times of each
function.
70Prerequisite Scanner: User's Guide
Page 81
Figure 14. prs.trc file on UNIX systems
Execution problems
You can use the execution problems checklist to troubleshoot errors you might
encounter when you runPrerequisite Scanner.
Run the Prerequisite Scanner script with the optional debug andtrace input
parameters to assist in debugging the issues.
Table 15. Execution problems checklist
CheckItem
hWhen you set the optional outputDir parameter on the command line and the
hBefore you run Prerequisite Scanner, ensure that disk to which you want to run
hIf Prerequisite Scanner generates a return code of 2, a script usage or collector
output directory does not exist, Prerequisite Scanner creates the directory. You
must have write permissions to create or write to the output directory in which
Prerequisite Scanner saves the files. If you do not have write permissions, the
following error message is written to the command-line interface:
ERROR: Cannot create files in output directory ips_output_dir. Exit.
Prerequisite Scanner and save the results to the output directory is not full;
otherwise, the following error message is written to the command-line interface:
ERROR: Cannot create files in output directory ips_output_dir. Exit.
error might have occurred. Review the causes associated with this error code. If
a script usage error occurred, rerun Prerequisite Scanner by using the correct
syntax.
Chapter 5. Troubleshooting Prerequisite Scanner71
Page 82
Return codes
Related concepts:
Writing messages to log files is disabled by default on UNIX systems. You can
enable debugging or tracing functions by using the debug and trace input
parameters. The Scanner writes the debug and trace data to different log files and
uses timestamps to flag the start and end times of steps or functions. You can use
both files to correlate and troubleshoot a specific issue, function, or prerequisite
check.
Prerequisite Scanner generates returns codes dependent on the results of the scan
and whether it must exit because of errors. These return codes are written to the
log files.
The prereq_checker script runs the IBM Prerequisite Scanner and checks for
prerequisites based on the set of parameters that you specify when you run the
script.
Prerequisite Scanner generates returns codes dependent on the results of the scan
and whether it must exit because of errors. These return codes are written to the
log files.
Prerequisite Scanner generates return codes based on a set of defined outcomes as
follows:
Return codeDescription
0Returns 0 when Prerequisite Scanner runs
successfully and all scan results are PASS.
1Returns 1 when Prerequisite Scanner runs
successfully, but one or many prerequisite
checks return FAIL.
2Returns 2 when Prerequisite Scanner does
not run successfully, and must exit because
of an error categorized as follows:
v Script usage errors
v Collector errors
v Other errors
Script usage errors
Prerequisite Scanner can exit because of any of the following usage errors when
running the script:
v The Product_Code input parameter is not valid; for example, it was not found or
is not a supported format.
v The pattern for the Product_Code and Product_Version input parameters is not
valid; for example, more than just code and version are provided within
quotation marks, or the pattern is not enclosed by quotation marks.
v The Product_Version input parameters is not valid; for example, the product
version is not all numeric characters.
v No input parameters were entered in the command-line interface.
v The syntax was incorrect when entered in the command-line interface; for
example, a non-supported command-line argument was entered.
v No required Product_Code input parameter was entered.
72Prerequisite Scanner: User's Guide
Page 83
Collector errors
Prerequisite Scanner can exit because of any of the following collector errors:
v The collector’s temporary result file was not found in the ips_output_dir/temp
directory.
v The collector’s script file did not execute correctly.
Other errors
Prerequisite Scanner can exit, because the user does not have write permission to
the ips_output_dir output directory.
Related concepts:
IBM Prerequisite Scanner produces output for the following screen and
human-readable file formats: output to the command-line interface, debugging and
trace log files, and a simple text file for the results.
Chapter 5. Troubleshooting Prerequisite Scanner73
Page 84
74Prerequisite Scanner: User's Guide
Page 85
Appendix A. Product codes reference
The IBM Prerequisite Scanner uses a multicharacter code, product_code, to identify
the product, individual supported platform, and version of operating system. The
ips_root/codename.cfg file contains the name value pairs to represent the product
code for the product, its supported platform, and the version of the operating
system.
Table 16 outlines the current set of predefined product codes.
Restriction: IBM Tivoli Monitoring and Tivoli Composite Application Manager
have predefined product codes that Prerequisite Scanner considers as reserved.
These codes must not be used as Prerequisite Scanner product codes unless they
refer to their associated IBM Tivoli Monitoring and Tivoli Composite Application
Manager agents. For more information about the product codes, see the ITM 6.X
Product Codes Technote.
Table 16. Predefined product codes
Predefined
product
codePlatformProduct version, platform, operating system
ADEAllAutonomic Deployment Engine
BSMAllTivoli Business Service Manager
CDBAllTivoli Composite Application Manager (ITCAM) for
Applications: DB2
COAUNIXTivoli Provisioning Manager for UNIX
COBAIXTivoli Provisioning Manager for AIX
COCAIXTivoli Provisioning Manager for AIX V5.3.0.0 {64 bit}
CODAIXTivoli Provisioning Manager for AIX 6.1
COELinuxTivoli Provisioning Manager for Linux
COFLinuxTivoli Provisioning Manager for Red Hat Linux
COGLinuxTivoli Provisioning Manager Version 7.2 for Red Hat
Enterprise Linux 5 x86 64 bit
COHLinuxTivoli Provisioning Manager for Red Hat Enterprise
Linux 5 System z
COILinuxTivoli Provisioning Manager for SUSE 10
COJSolarisTivoli Provisioning Manager Version 7.2 for Solaris
COKHP-UXTivoli Provisioning Manager Version 7.2 for HP-UX
COLLinuxTivoli Provisioning Manager Version 7.2 for SUSE
COMLinuxTivoli Provisioning Manager Version 7.2 for SUSE 11
CONLinuxTivoli Provisioning Manager Version 7.2 for SUSE zSeries
COXWindowsTivoli Provisioning Manager Version 7.2 for Windows
COYWindowsTivoli Provisioning Manager Version 7.2 for Windows
Predefined
product
codePlatformProduct version, platform, operating system
COZWindowsTivoli Provisioning Manager Version 7.2 for Windows
DMOAllPrerequisite Scanner demo
GYMUNIXIBM Tivoli Netcool Performance Manager
KCJWindowsTivoli Enterprise Portal Client
UNIXTivoli Enterprise Portal Client for UNIX
KCQWindowsTivoli Enterprise Portal Server
UNIXTivoli Enterprise Portal Server for UNIX
KHDAllWarehouse Proxy Agent
KHEUNIXWarehouse Proxy Agent for UNIX
KISUNIXTivoli Composite Application Manager (ITCAM) for
Transactions: Internet Service Monitoring
KLZUNIXTivoli Monitoring Operating System Agent for Linux
KM6WindowsIBM Tivoli Composite Application Manager Agent for
WebSphere MQ File Transfer Edition
KMSWindowsTivoli Enterprise Monitoring Server
UNIXTivoli Enterprise Monitoring Server for UNIX
KNTWindowsTivoli Monitoring Operating System Agent for Windows
UNIXWindows OS monitoring Agent for UNIX
KORWindowsTivoli Monitoring Agent for Oracle
KSYWindowsSummarization and Pruning Agent
UNIXSummarization and Pruning Agent for UNIX
KUDWindowsTivoli Monitoring Agent for DB2
UNIXTivoli Monitoring Agent for DB2
KTOAllTivoli Composite Application Manager (ITCAM) for
Transactions: Transaction Reporter
KTUAllTivoli Composite Application Manager (ITCAM) for
Transactions: Transaction Collector
KT3AllTivoli Composite Application Manager (ITCAM) for
Transactions: Application Management Console
KT4AllTivoli Composite Application Manager (ITCAM) for
Transactions: Client Response Time
KT5AllTivoli Composite Application Manager (ITCAM) for
Transactions: Web Response Time
KT6AllTivoli Composite Application Manager (ITCAM) for
Transactions: Robotic Response Time
KZEAllTivoli zEnterprise Monitoring Agent
LCMWindowsTivoli License Compliance Manager
UNIXTivoli License Compliance Manager for UNIX
NCIAllTivoli Netcool/Impact
NOCAllTivoli Netcool/OMNIbus server components and
desktop component
76Prerequisite Scanner: User's Guide
Page 87
Table 16. Predefined product codes (continued)
Predefined
product
codePlatformProduct version, platform, operating system
NODAllTivoli Netcool/OMNIbus desktop component
NOSAllTivoli Netcool/OMNIbus server components
PAEAllTivoli Process Automation Engine
TADWindowsTivoli Asset Discovery for Distributed
UNIXTivoli Asset Discovery for Distributed for UNIX
TCRAllTivoli Common Reporting
TPMAllTivoli Provisioning Manager
Appendix A. Product codes reference77
Page 88
78Prerequisite Scanner: User's Guide
Page 89
Appendix B. Configuration files reference
The IBM Prerequisite Scanner provides a predefined set of configuration files that
you can edit. These files are in either ips_root/UNIX_Linux or ips_root/Windows.
The files have a.cfg extension.
Table 17 lists the currently supported predefined configuration files.
Table 17. Predefined configuration files
Configuration filePlatformProduct version, platform, operating system
ADE_01040000.cfgAllAutonomic Deployment Engine Version 1.4
BSM_04210000.cfgAllTivoli Business Service Manager Version 4.2.1
BSM_06100000.cfgAllTivoli Business Service Manager Version 6.1
CDB_06220000.cfgAllTivoli Composite Application Manager (ITCAM) for Applications: DB2
Version 6.2.2
COA_07200000.cfgUNIXTivoli Provisioning Manager Version 7.2 for UNIX
COB_07200000.cfgAIXTivoli Provisioning Manager Version 7.2 for AIX
COC_07200000.cfgAIXTivoli Provisioning Manager Version 7.2 for AIX V5.3.0.0 {64 bit}
COD_07200000.cfgAIXTivoli Provisioning Manager Version 7.2 for AIX 6.1
COE_07200000.cfgLinuxTivoli Provisioning Manager Version 7.2 for Linux
COF_07200000.cfgLinuxTivoli Provisioning Manager Version 7.2 for Red Hat Linux
COG_07200000.cfgLinuxTivoli Provisioning Manager Version 7.2 for Red Hat Enterprise Linux 5
x86 64 bit
COH_07200000.cfgLinuxTivoli Provisioning Manager Version 7.2 for Red Hat Enterprise Linux 5
System z 64 bit
COI_07200000.cfgLinuxTivoli Provisioning Manager Version 7.2 for SUSE 10
COJ_07200000.cfgSolarisTivoli Provisioning Manager Version 7.2 for Solaris
COK_07200000.cfgHP-UXTivoli Provisioning Manager Version 7.2 for HP-UX
COL_07200000.cfgLinuxTivoli Provisioning Manager Version 7.2 for SUSE zSeries 10
COM_07200000.cfgLinuxTivoli Provisioning Manager Version 7.2 for SUSE 11
CON_07200000.cfgLinuxTivoli Provisioning Manager Version 7.2 for SUSE zSeries 11
COX_07200000.cfgWindowsTivoli Provisioning Manager Version 7.2 for Windows 2008
COY_07200000.cfgWindowsTivoli Provisioning Manager Version 7.2 for Windows 2003
COZ_07200000.cfgWindowsTivoli Provisioning Manager Version 7.2 for Windows
DMO_00000000.cfgAllPrerequisite Scanner demo
DMO_01000000.cfgAllPrerequisite Scanner Version 1.0 demo
GYM_01030200.cfgUNIXIBM Tivoli Netcool Performance Manager Version 1.3.2
KCJ_06200000.cfgWindowsTivoli Enterprise Portal Client Version 6.2
KCJ_06210000.cfgUNIXTivoli Enterprise Portal Client Version 6.2.1
KCJ_06220000.cfgAllTivoli Enterprise Portal Client Version 6.2.2
KCQ_06200000.cfgWindowsTivoli Enterprise Portal Server Version 6.2
KCQ_06210000.cfgUNIXTivoli Enterprise Portal Server Version 6.2.2
KCQ_06220000.cfgAllTivoli Enterprise Portal Server Version 6.2.2
Configuration filePlatformProduct version, platform, operating system
KUD_06210000.cfgAllTivoli Monitoring Agent for DB2 Version 6.2.1
KUD_06220000.cfgAllTivoli Monitoring Agent for DB2 Version 6.2.2
KZE_06020300.cfgAllTivoli zEnterprise Monitoring Agent Version 6.2.3
LCM_01000000.cfgAllTivoli License Compliance Manager Version 1.0
LCM_02300000.cfgAllTivoli License Compliance Manager Version 2.3
NCI_06100000.cfgAllTivoli Netcool/Impact Version 6.1
NOC_07310000.cfgAllTivoli Netcool/OMNIbus server components and desktop component
Version 7.3.1
NOD_07310000.cfgAllTivoli Netcool/OMNIbus desktop component Version 7.3.1
NOS_07310000.cfgAllTivoli Netcool/OMNIbus server components Version 7.3.1
PAE_07500000.cfgAllTivoli Process Automation Engine
TAD_07200000.cfgAllTivoli Asset Discovery for Distributed Version 7.2
TAD_07220000.cfgAllTivoli Asset Discovery for Distributed Version 7.2.2
TCR_02010100.cfgAllTivoli Common Reporting
TPM_07210000.cfgAllTivoli Provisioning Manager Version 7.2.1
Appendix B. Configuration files reference81
Page 92
82Prerequisite Scanner: User's Guide
Page 93
Appendix C. Prerequisite properties reference
This reference outlines the basic prerequisite properties for each predefined
category of hardware and software prerequisites.
Table 18 outlines the predefined categories of hardware and software prerequisites.
Table 18. Predefined categories for prerequisite properties
Data
categoryDescription
CommonThe common data properties check
common prerequisites such as processor
speed, RAM, disk, and temporary space.
Autonomic
Deployment
Engine
Installed
software
UserThe user-data properties check user
Operating
system
ConnectivityThe connectivity data properties check
NetworkThe network data properties check network
Windows
network
UNIX
network
Internet
Explorer
The Autonomic Deployment Engine data
properties check Autonomic Deployment
Engine prerequisites such as the installation
unit.
The installed software data properties
check installed software prerequisites such
as the programs registered in the Windows
registry and whether cygwin and gskit are
installed.
prerequisites such as whether the logged
on user had administrative rights or is the
root user.
The operating system data properties check
operating system prerequisites such as
version, architecture, total memory,
available memory, and total physical
memory.
connectivity prerequisites such as whether
Telnet is running and to which IP
addresses and ports the scanner can
connect.
prerequisites that can be common across all
platforms such as whether there are ports
available.
The Windows network data properties
check network prerequisites such as
whether NetBIOS and DHCP are enabled
on the machine, and pinging properties.
The UNIX network data properties check
network prerequisites such as whether
NetBIOS and DHCP are enabled on the
machine, and pinging properties.
The Microsoft Internet Explorer data
properties check Internet Explorer
prerequisites such as the version.
Table 18. Predefined categories for prerequisite properties (continued)
Data
categoryDescription
Database
server, DB2
Database
server, MS
SQL
Database
server, Oracle
Environment
variables
The DB2 data properties check DB2
prerequisites such as the version.
The MS SQL Server data properties check
the MS SQL server prerequisites such as
the version.
The Oracle data properties check Oracle
prerequisites such as the version.
The environment variables check
environment variable prerequisites such as
whether the environment variable has been
set.
Required prefix
identifierReference
DB2“DB2 data properties” on page
mssql“MS SQL Server data properties”
Oracle“Oracle data properties” on page
env
Common data properties
The common data properties check common prerequisites such as CPU speed,
RAM, disk, and temporary space. For Windows systems, it uses the primary IBM
Prerequisite Scanner script. For UNIX systems, it uses the primary Prerequisite
Scanner script and the common collector, ips_root/Unix_Linux/common.sh.
Table 19 outlines the common data prerequisite properties. This category of
prerequisite properties does not require a prefix identifier.
For Oracle on UNIX systems only: The
collector expects the ORACLE_BASE and
ORACLE_HOME environment variables to be
set in the $HOME/.profile file, for
example:
where $HOME must be /home/oracle, the
home directory for the Oracle user.
The value can be any of the following
types:
v String representing any type of the
database server, for example:
any
v String representing the type of the
database server, for example:
Oracle
v regex{str}, a regular expression with
the input parameter, str, representing
the search pattern for the database
server type, for example:
regex{.*MSSQL.*|DB2.*}
Checks whether the database server
type is MS SQL or DB2 on Windows
systems.
v String representing no type of the
database server, for example:
unknown
DBTypeDetailsAllThe types of database server installed on
the machine.
For Oracle on UNIX systems only: The
collector expects the ORACLE_BASE and
ORACLE_HOME environment variables to be
set in the $HOME/.profile file, for
example:
where $HOME must be /home/oracle, the
home directory for the Oracle user.
The prerequisite property writes the
details about the database server type,
that is, the database server type, the
installed location, and the version to the
result.txt file. The details of multiple
database server types are separated by
semi colons
The value can be any of the following
types:
v String representing any type of the
database server, for example:
any
v String representing one type of the
database server, for example:
DB2
v regex{str}, a regular expression with
the input parameter, str, representing
the search pattern for the database
server type, for example:
regex{.*MSSQL.*|DB2.*}
Checks whether the database server
type is MS SQL or DB2 on Windows
systems.
Appendix C. Prerequisite properties reference85
Page 96
Table 19. Common data prerequisite properties (continued)
DiskWindowsThe amount of free disk space, with the
following optional qualification
attributes:
v dir attribute, to determine which path
to the directory to check
v unit attribute, to determine which
units for disk space to use
DiskUNIXThe amount of free disk spaceNumeric format in GBs or MBs, for
intel.cpuAllThe CPU speed for the Intel processorNumeric format in MHz or GHz, for
MemoryAllThe total amount of physical memory
that is currently available on the machine
Note: You can separately check for the
amount of physical and virtual memory
available by the using predefined
prerequisite properties in the operating
system category.
operating system that is running on the
machine; alternatively, you can use a
regular expression to pass a string that
represents the multiple variants of an
operating system.
Tip: Use this prerequisite property in
conjunction with os.servicePack and
os.architecture to check the current
service pack and system architecture.
The value can be any of the following
types:
v String that can represent multiple
versions, with each version separated
by a comma, for example:
RedHat Enterprise Linux 6.*,
SuSE Linux Enterprise Server 11,
SuSE Linux Enterprise Server 10,
SuSE Linux Enterprise Server 9,
AIX V6.1,AIX V5.3
Restriction: On Windows systems,
the * wildcard is only supported
within a regular expression.
v regex{str}, a regular expression with
the input parameter, str, representing
the search pattern for the version, for
example:
regex{Windows 200[3-8]}
Checks whether the actual OS
matches any version from Windows
2003 to Windows 2008.
regex{Red Hat*.*}
Checks whether the actual OS
matches a variant of Red Hat Linux.
Note: The values can use the special
characters as outlined in Table 1 on page
2.
numCPUWindowsThe number of processors on the
Number, for example, 4
machine
risc.cpuUNIXThe CPU speed for a RISC processorNumeric format in MHz or GHz, for
example:
1.4GHz
TempAllThe available disk space for the specified
Temp file system
Numeric format in GBs or MBs, for
example:
300MB
Appendix C. Prerequisite properties reference87
Page 98
Related reference:
The operating system data properties check operating system prerequisites such as
version, architecture, total memory, available memory, and total physical memory.
For Windows systems only, it uses the operating system VBScript collectors in the
ips_root/lib directory, with the os prefix identifier in their file names. For UNIX
systems only, it uses the UNIX operating system collectors in the
ips_root/UNIX_Linux directory, with the os prefix identifier in their file names.
Autonomic Deployment Engine data properties
The Autonomic Deployment Engine data properties check Autonomic Deployment
Engine prerequisites such as the installation unit. For Windows systems only, it
uses the Autonomic Deployment Engine collectors in the ips_root/lib/ directory,
with the de prefix in their file names. For UNIX systems only, it uses the UNIX
Autonomic Deployment Engine collectors in the ips_root/UNIX_Linux directory,
with the de prefix in their file names.
Table 20 outlines the prerequisite properties. This category of prerequisite
properties require the de prefix identifier.
Table 20. Autonomic Deployment Engine data properties
v String to represent multiple installation units, for
example:
5FFE79F918DF3BA0D67511FD3F7C358E
v regex {str}, a regular expression with the input
parameter, str, to represent the search pattern for
the installation unit, version, and installation path;
for example, to check the installation unit, version
of WebSphere Application Server, and the
installation path for Tivoli Integrated Portal, the
search pattern is as follows:
v regex{.*C00DA95AFD9B7E0397153CD944B5A255.
*6.1.0.2100.*SIU eWAS.
*C:\\IBM\\tivoli\\tip.*}
Note: You can also use an environment variable for
the installation path; for example, by replacing the
path with the TIPHOME environment variable, the
search pattern is:
The connectivity data properties check connectivity prerequisites such as whether
Telnet is running and to which IP addresses and ports the Scanner can connect. For
Windows systems, it uses the connectivity collector, ips_root/lib/connectivity_plug.vbs. For UNIX systems, it uses the primary IBM Prerequisite
Scanner script and the connectivity collector, prs_root/Unix_Linux/connectivity_plug.sh. The output is passed to the debugging log file only.
DB2 data properties
The DB2 data properties check DB2 prerequisites such as the version. For Windows
systems only, it uses the DB2 collector, ips_root/lib/db2_version_plug.bat. For
UNIX systems only, it uses the UNIX DB2 collectors in the ips_root/UNIX_Linux
directory, with the db2 prefix in their file names.
Table 21 on page 90 outlines the DB2 prerequisite properties. This category of
prerequisite properties require the DB2 prefix identifier.
DB2 VersionAllThe version of DB2 that is currently
installed on the machine
db2.home.spaceUNIXThe available disk space for the DB2
home directory
String, for example:
v9.5.100.179FP4
Numeric format in GBs, for
example:
8GB
MS SQL Server data properties
The MS SQL Server data properties check MS SQL Server prerequisites such as the
version and location. For Windows systems only, it uses the MS SQL Server
collectors in the ips_root /Windows directory, with the mssql prefix in their file
names.
Table 22 outlines the MS SQL Server prerequisite properties. This category of
prerequisite properties require the mssql prefix identifier.
mssql.ClientWindows Checks the version of MS SQL client
that is currently installed on the
machine
Expected string value can be
multiple versions, separated by a
comma, for example:
10.50.1600.1
mssql.ServerWindows Checks the version of MS SQL Server
that is currently installed on the
machine
mssql.Server.LocationWindows Checks the home directory of the MS
SQL database server
Internet Explorer data properties
The Microsoft Internet Explorer data properties check Internet Explorer
prerequisites such as the version. It uses the Internet Explorer collector,
ips_root/lib/internetExplorer_plug.vbs.
Table 23 on page 91 outlines the Internet Explorer prerequisite properties. This
category of prerequisite properties require the internetExplorer prefix identifier.
Note: The values can use the
special characters as outlined in
Table 1 on page 2.
Expected string value can be
multiple versions, separated by a
comma, for example:
10.50.1600.1
Note: The values can use the
special characters as outlined in
Table 1 on page 2.
String, for example:
any
90Prerequisite Scanner: User's Guide
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.