IBM Prerequisite Scanner User Manual

Prerequisite Scanner
Version 1.1.1.10
User's Guide

Prerequisite Scanner
Version 1.1.1.10
User's Guide

Note
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.
© Copyright IBM Corporation 2009, 2012.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
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 systems 53 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 reference 75
Appendix B. Configuration files
reference..............79
Appendix C. Prerequisite properties
reference..............83
Common data properties ..........84
Autonomic Deployment Engine data properties . . 88
Connectivity data properties.........89
DB2 data properties ...........89
MS SQL Server data properties ........90
Internet Explorer data properties .......90
Network data properties ..........91
Oracle data properties ...........92
Operating system data properties .......93
Installed software data properties ......104
User data properties ...........104
Windows network data properties ......105
UNIX network data properties .......105
Appendix D. Predefined collectors for
UNIX systems ...........107
Appendix E. Common functions for
Windows systems .........113
allFiles() ...............114
arrayToString() .............114
bigthan() ...............115
changeMG() ..............115
checkItemToString() ...........116
dictionaryToString() ...........116
exeCommand() .............117
filterCommand() ............117
filterFile()...............118
findNewest() .............118
findSuitableFile() ............119
fmt() ................120
formatForDisplay() ...........120
formatSizeForDisplay() ..........121
getDecimalSeparator() ..........121
getFirstMatch() .............121
isMatch() ...............122
notInLatter()..............122
passOrFail() ..............123
ppread() ...............124
readFile() ...............124
unitMGTOG() .............125
varToString() .............125
© Copyright IBM Corp. 2009, 2012 iii
Appendix F. Logging utility sub
routines for Windows systems ....127
Appendix G. File utility sub routines
for Windows systems ........129
Appendix H. Other common functions and sub routines for Windows
systems..............131
ffirstMatch() ..............131
getValue() ..............132
removeSpecialCharacters() .........133
versionCompare() ............133
Appendix J. Other functions for UNIX
systems..............141
formatSizeDisplay() ...........142
versionCompare() ............142
checkHpux()..............144
checkLinux() .............144
checkSunOS() .............144
getValue() ..............145
setValue()...............145
copyValue() ..............145
getSystemId() .............146
getClosestExistingParentDir() ........146
parseDirParameter() ...........147
printDirSize() .............147
Appendix I. Common functions for
UNIX systems ...........135
changeMG() ..............135
AddMG()...............136
compare() ..............136
cutdown() ..............137
mes4path() ..............138
mes4Path1() ..............138
findOSInfo() ..............139
telnetNFS() ..............139
NFScheck() ..............140
Appendix K. Logging utility functions
for UNIX systems..........149
Notices ..............151
Support information and feedback 155
Index ...............157
iv
Prerequisite Scanner: User's Guide
Figures
1. Output to the command-line interface on
Windows systems ..........25
2. Output to the command-line interface on
UNIX systems............26
3. precheck.log file ...........27
4. prs.debug file on UNIX systems ......28
5. prs.trc file on UNIX systems .......29
6. result.txt file on Windows systems .....30
7. result.txt file on UNIX systems ......31
8. Prerequisite Scanner architecture and scanning
process ..............32
9. Running the script and setting the detail
parameter on UNIX systems .......62
10. Running the script without setting the detail
parameter on Windows systems......63
11. precheck.log file with the debug data ....68
12. precheck.log file without debug data ....69
13. prs.debug file on UNIX systems ......70
14. prs.trc file on UNIX systems .......71
© Copyright IBM Corp. 2009, 2012 v
vi Prerequisite Scanner: User's Guide
Tables
1. Special characters to represent types of ranges 2
2. Examples of prerequisite properties .....3
3. Basic prerequisite properties categories ....4
4. Predefined subtypes ..........6
5. Predefined qualifiers ..........9
6. Supported data type categories and values 15
7. Scanned sections of a configuration file for
Windows .............18
8. Scanned sections of a configuration file for
UNIX ..............19
9. New configuration files ........33
10. Modified product script files .......34
11. Defects fixed in this release .......34
12. Checks and tasks before using a configuration
file for Windows systems ........39
13. Checks and tasks before using a configuration
file for UNIX systems .........40
14. Special characters legend for the Prerequisite
Scanner script ............59
15. Execution problems checklist .......71
16. Predefined product codes ........75
17. Predefined configuration files ......79
18. Predefined categories for prerequisite
properties .............83
19. Common data prerequisite properties ....84
20. Autonomic Deployment Engine data
properties .............88
21. DB2 data properties..........90
22. MS SQL Server data properties ......90
23. Internet Explorer data properties .....91
24. Network data properties ........91
25. Oracle data properties .........92
26. Operating system data properties .....93
27. Installed software data properties .....104
28. User data properties .........104
29. Windows network data properties ....105
30. UNIX network data properties ......105
31. UNIX collectors ...........107
32. Functions in common_function.vbs ....113
33. Called function for each variable type. 125
34. Logging utility sub routines.......127
35. File utility sub routines ........129
36. File utility functions .........129
37. Other common functions and sub routines for
Windows systems ..........131
38. Parent functions calling ffirstMatch() 131
39. Scripts using getValue() ........132
40. Parent functions calling versionCompare 133
41. Functions in common_function.sh.....135
42. Common functions in multiple files ....141
43. Common functions in TAD722_impl.sh 141
44. Parent functions calling versionCompare 143
45. Logging utility functions on UNIX systems 149
© Copyright IBM Corp. 2009, 2012 vii
viii Prerequisite Scanner: User's Guide
Chapter 1. Prerequisite Scanner overview
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.
© Copyright IBM Corp. 2009, 2012 1
Prerequisite properties adhere to the following format:
[prefix_identifier.]property_name[.suffix_identifier]= [[qualifier_name:qualifier_value]]property_value
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.
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 character Description
* 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.
2 Prerequisite Scanner: User's Guide
– Either or values represented by one of the following combinations, such as,
True|False, Available|Unavailable,orEnabled|Disabled
Table 2 outlines examples of prerequisite properties.
Table 2. Examples of prerequisite properties
Prerequisite property Explanation
Disk=1GB The amount of free disk space, where:
v property_name is Disk v property_value is 1GB
user.isAdmin=True Whether the logged on user belongs to an
Administrator group, where: v prefix_identifier is user, for user prerequisite
properties
v property_name is isAdmin v property_value is True
network.availablePorts.DB=60000­60005 network.availablePorts.WAS=8080 network.availablePorts.FTP=21
os.dir.home=[dir:/ home,type:permission]755+
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 overview 3
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 category Description
Common This 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
User This category checks user prerequisites such as whether the logged on
Operating system
Connectivity This category checks connectivity prerequisites such as whether Telnet is
Network This 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:
network.netBIOSEnabled=True
Required prefix identifier
None
None
user
os
None
network
network
4 Prerequisite Scanner: User's Guide
Table 3. Basic prerequisite properties categories (continued)
Data category Description
UNIX network This 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:
de.installationUnit=regex{.*C37109911C8A11D98E1700061BDE7AEA.* |.*TIP 2.1.1.0.*|.*TIP 2.1.1.1.*}
Database server, MS SQL
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 overview 5
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>.
Table 4. Predefined subtypes
Prerequisite property subtype Suffix identifier Platform Description
Platform independent network category
network.availablePorts.
app_type
network.portsInUse.
app_type
Operating system category
os.dir.dir_name dir_name UNIX Use this naming convention
os.file.
script_name
os.file. isService Running.
service_name
app_type All Use this naming convention
for checking whether the port or range of ports is not being listened to or is available for the app_type application type.
app_type All Use this naming convention
for checking whether the port or range of ports is being listened to or is in use for the app_type application type.
for checking the dir_name file system. The value for the prerequisite property uses predefined qualifiers.
script_name UNIX Use this naming convention
for checking whether the script_name script is available on the machine.
service_name Windows Use this naming convention
for checking whether the service_name service is running on the machine.
Valid values for the subtype
String to represent app_type, for example:
v DB2 checks ports for DB2
database server
v WAS checks ports for
WebSphere Application Server
v ftp checks the FTP port
String to represent app_type, for example:
v DB2 checks ports for DB2
database server
v WAS checks ports for
WebSphere Application Server
v ftp checks the FTP port
String to represent dir_name, for example:
v tmp v home
String to represent script_name, for example:
v bash v expect v gzip v tar
String to represent service_name, for example:
v remoteRegistry v DNSClient v terminalServices
6 Prerequisite Scanner: User's Guide
Table 4. Predefined subtypes (continued)
Prerequisite property subtype Suffix identifier Platform Description
os.lib.
lib_name_version
lib_name _version
UNIX Use this naming convention
for checking that the supported version of the lib_name_version library is installed on the machine.
Valid values for the subtype
String to represent lib_name_version, for example, in bold:
v 32-bit libstdc++.so.#
library
v 64-bit libstdc++.so.#
library
v 32-bit libXft.so.# library v 32-bit libXtst.so.#
library
v 64-bit libaio.so.# library v 32-bit xlC.rte XLC
runtime level
v 32-bit xlC.aix50.rte XLC
run time for AIX Version
5.3
v 32-bit xlC.aix61.rte XLC
run time for AIX Version
6.1
®
v AIX
IOCP bos.iocp.rte
library
v bos.loc.iso.en_us, the
ISO code fileset for the AIX base operating system
regex {str}, a regular expression with the input parameter,str, representing the search pattern for the library name, for example:
regex {.*libgcc.*}
Checks whether a version of the GCC low-level runtime library, libgcc, for that operating system exists.
Chapter 1. Prerequisite Scanner overview 7
Table 4. Predefined subtypes (continued)
Prerequisite property subtype Suffix identifier Platform Description
os.package.
package_name
os.space.
dir_name
package_name UNIX Use this naming convention
for checking that the supported version of the package_name package is installed on the machine.
dir_name UNIX Use 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.
Qualifiers must adhere to the following format:
[qualifier_name:qualifier_value, qualifier_name:qualifier_value ] property_value
8 Prerequisite Scanner: User's Guide
where:
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 property Platform Description Valid qualifiers and values
Operating system category with predefined subtype
os.dir.dir_name UNIX Checks 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 overview 9
Table 5. Predefined qualifiers (continued)
Prerequisite property Platform Description Valid qualifiers and values
os.space.
dir_name
UNIX Checks 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:
[dir:root=dir_path, unit:unit_name]
disk_space
For example:
os.space.usr= [dir:root=/usr/ibm/common/acsi, unit:GB]200
String with the following qualifier format for the file system of a non-root user:
[dir:non_root=dir_path,
unit:unit_name]
disk_space
For example:
os.space.home= [dir:non_root=USERHOME/.acsi_HOST, unit:MB]200
Operating system category without predefined subtype
os.mountcheck UNIX Checks whether the file system is
mounted based on the following qualification attributes:
v drive attribute, to determine which
directory is the mounted file system
v nosuid attribute, to determine
whether the mount option is set if the file system is mounted
String with the following qualifier format, using only one qualifier:
[dir:dir_path] disk_space MB
For example:
os.space.home=[dir:/home/sat]250MB
String with the following qualifier format:
[drive:dir_name, mount_option:
false|true] True|False
For example, to check whether /home directory is mounted and the nosuid option is not set:
os.mountcheck=[drive:/home, nosuid:false]True
10 Prerequisite Scanner: User's Guide
Table 5. Predefined qualifiers (continued)
Prerequisite property Platform Description Valid qualifiers and values
os.SELinux Linux Checks the enforcement status of the
Security-Enhancement Linux feature based on the following qualification attributes:
v source attribute, to determine the
command to use for the relevant operating system
v String with the following qualifier
format:
[source:Command] Disabled|Enabled
For example, to check whether the feature is disabled or has a permissive status on either Red Hat or SUSE operating system:
os.SELinux=[source: Command]Disabled
v String without a qualifier, where the
operating system is a generic Linux variant:
os.SELinux=Disabled
os.ulimit UNIX Use this naming convention for
checking whether an unlimited number of processes can be run based on the following qualification attributes:
v type attribute, to determine which
additional limit to check, for example, the filedescriptorlimit checks the limit for the number of file descriptors that processes can open
Common category without predefined subtype
String with the following qualifier format:
[type:limit_name]limit_value, limited|unlimited
For example, to check whether the file descriptor limit is greater than 8192, with unlimited number of processes:
os.ulimit= [type:filedescriptorlimit] 8192+,unlimited
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 overview 11
Table 5. Predefined qualifiers (continued)
Prerequisite property Platform Description Valid qualifiers and values
Disk Windows The 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
String with the following qualifier format:
[dir:dir_path, unit:unit_name]
disk_space
For example:
Disk= [dir:C:\Program Files\IBM\SQLLIB, unit:MB]1431
Numeric format in MBs or GBs:
<disk_space>MB|GB
For example:
Disk=250MB
Product codes
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.
12 Prerequisite Scanner: User's Guide
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:
[<prefix_identifier>.]<property_name>[.<suffix_identifier>]= [[<qualifier_name>:<qualifier_value>]]<property_value>
Example of a configuration file without sections
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 overview 13
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.
[category_name:category_value][category_name:category_value]
For example, to specify prerequisite properties that apply to a machine running 32-bit, SUSE Linux Enterprise Server version 11, Itanium operating system:
[OSType:SUSELinuxEnterpriseServer11][OSArch:64-bit][CPU:Itanium]
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:
v UNIX systems
[@TPAE_DB_FEATURE:True|@TPAE_DIR_FEATURE:True|@TPAE_J2EE_FEATURE:True]
v Windows systems
[@TPAE_DB_FEATURE:True]|[@TPAE_DIR_FEATURE:True]|[@TPAE_J2EE_FEATURE:True]
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.
14 Prerequisite Scanner: User's Guide
Table 6. Supported data type categories and values
Data type category Description Allowed values
OSType The 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 overview 15
Table 6. Supported data type categories and values (continued)
Data type category Description Allowed 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]
16 Prerequisite Scanner: User's Guide
Table 6. Supported data type categories and values (continued)
Data type category Description Allowed 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.
OSArch The architecture for the
operating system
v 32-bit, for example:
[OSArch:32-bit]
v 64-bit, for example:
[OSArch:64-bit]
CPU The generic processor
family name
CPUArch The 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 overview 17
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 system Sections 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
[OSType:RedHatEnterpriseLinuxServer5.*] os.package.compat-libstdc++-33=compat_libstdc++_33
# 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
18 Prerequisite Scanner: User's Guide
# 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 versions Sections 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]
[OSType:UNIX] [OSType:LINUX] [OSType:RedHat] [OSType:RedHatEnterpriseLinuxServer] [OSType:RedHatEnterpriseLinuxServer6.*]
[OSType:UNIX] [OSType:LINUX] [OSType:SUSELinuxEnterpriseServer11][@TPAE_DB_Server:True]
[OSType:UNIX] [OSType:AIX] [OSType:AIX5.3.0.0][@TPAE_DB_FEATURE:True|@TPAE_DIR_FEATURE:True]
Chapter 1. Prerequisite Scanner overview 19
Prerequisite Scanner collectors
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:
20 Prerequisite Scanner: User's Guide
Loading...
+ 142 hidden pages