The installver command performs two main functions. The tool computes a checksum on the installed files and compares the checksum to the shipped bill of materials for the product. The installver tool can also compute a new baseline checksum for each file in the inventory of a configured system to use to identify file changes in later comparisons.
This topic describes the location of the command file, both uses of the tool, the properties file, and an example of comparison error entries in the log file.
Change directories to the bin directory to start the installver tool from the command line. The tool runs on any supported operating system except for z/OS. For example, use the following command to start the tool on a Linux system or a UNIX system:
./installver.sh
This tool can compare a set of bill-of-material files against a checksum of the installed files to verify that all installed files are correct. The product includes a bill-of-materials file for each component to provide this installation file verification system.
The installver tool dynamically generates a list of total components found in the installation.
The default log file is the install_root/logs/installver.log file. You can redirect the output using the -log parameter and an argument.
Computing the checksum: The installver tool computes a checksum for each installed file in the product. The tool compares each computed checksum to the correct checksum for the file. The correct checksums are shipped in the bill-of-material files. One bill-of-materials file exists for each component.
The tool parses the bill-of-materials file for each component to find the correct checksum value for each file in the component. Each product file has an entry in some bill-of-materials file. The entry for a product file lists the product file path and the correct checksum value.
Shipped bill-of-material files: Each bill-of-materials file is named files.list. Each component has one files.list file. Each files.list file is in one of the install_root /properties/version/install/6.0.0.0/backup/ component_name directories. A component_name directory exists for each component.
For instance, the files.list file for the activity component is in the install_root /properties/version/install/6.0.0.0/backup/activity directory. The file resembles the following example:
<?xml version="1.0" encoding="UTF-8"?> <componentfiles componentname="activity"> <file> <relativepath>properties/version/activity.component</relativepath> <checksum>1a20dc54694e81fccd16c80f7c1bb6b46bba8768</checksum> <permissions>644</permissions> <installoperation>remove</installoperation> </file> <file> <relativepath>lib/activity.jar</relativepath> <checksum>2f056cc01be7ff42bb343e962d26328d5332c88c</checksum> <permissions>644</permissions> <installoperation>remove</installoperation> </file> </componentfiles>
Comparing the computed checksum to the correct checksum: As the tool processes each product file in each bill-of-materials file, the tool also computes the actual checksum value of the corresponding installed product file. The tool then compares the checksum of the product file to the correct checksum value in the bill-of-materials file. The tool then reports any differences.
Use the following command syntax to automatically check the bill of materials against the installed file system.
The following parameters are associated with the command when comparing product file checksums to the correct checksums in the bill of material files.
The default value is the install_root /properties/version/install/6.0.0.0/backup directory.
Without a file specification argument, the installver tool creates the install_root/profiles/profile_name/properties/ivu_user.template file.
If you specify a file name, the installver tool creates the file in the working directory, which is the install_root/profiles/profile_name/bin directory by default.
Use this parameter only when running the installver tool from the bin directory of a profile.
The installver tool creates the template properties file in the properties directory of the profile.
See Properties file for excluding files from a checksum comparison for more information.
Use a semi-colon (;) or a colon (:) to delimit file names.
Use a semi-colon (;) or a colon (:) to delimit component names.
The default value is files.list.
Displays usage information.
Ignores the default install_root/profiles/profile_name/properties/ivu_user.template file, if the file exists and compares the files listed in the template.
If you use the -createtemplate parameter with a file specification to create a template file in another location, the -ignoreusertemplate parameter has no effect.
Compares checksums for all of the files in the installation root directory. IBM specifies certain files to exclude from the verification by default. You can cause the installver tool to verify those files as well by using the -ignoreibmexclude parameter.
Use a semi-colon (;) or a colon (:) to delimit file names.
Use a semi-colon (;) or a colon (:) to delimit component names.
Displays a list of components in the product. Each component must have a files.list file.
The default log file is the install_root/logs/installver.log file. You can redirect the output using the -log parameter and an argument.
Provides trace output of what the tool checks and what the tool discovers.
The installver tool can compute a new baseline checksum for the inventory of all files in the installation root directory. The tool stores the new checksum by default in the sys.inv file within the current working directory. You can specify a different file path and file name. Create the file outside of the installation root directory or exclude the file from comparisons.
Later, compare the checksums in the sys.inv file (or the file that you specified when creating the inventory) to the checksums of the currently installed files to see what files have changed.
The baseline checksum report identifies missing files, additional files, and changed files.
Use the following syntax to create and compare an inventory of configured files to the currently installed files.
The following parameters are associated with this command.
First use the -createinventory parameter to create an inventory list. Then use the -compare parameter to compare the inventory list to the actual files that exist in the system at the time of the comparison.
The result of the comparison shows changed classes, changed files, missing files, and added files. Such a comparison is very useful for verifying the absence of virus files, for example.
You can point the installver tool at any directory. The default directory is the installation root directory.
You can exclude files or components from the inventory.
The installver tool computes a checksum for each file. Each file entry in the inventory file has the following general pattern:
filename checksum date_of_last_modification
After creating an inventory list, use the -compare parameter to compare the list to the actual files that exist in the system at the time of the comparison.
Use a semi-colon (;) or a colon (:) to delimit file names.
Use a semi-colon (;) or a colon (:) to delimit file names.
The default log file is the install_root/logs/installver.log file. You can redirect the output using the -log parameter and an argument.
A single user configurable properties file is available to specify a list of files to exclude from the bill of materials verification. Generate the file with the createtemplate parameter.
./installver.sh -createtemplate template_name
The properties file is in the install_root/properties directory.
<template> <componentfiles componentname="name_of_component"> <file> <relativepath action="exclude">file_name</relativepath> </file> </componentfiles> </template>
The following example is the result of testing the installed product against the shipped bill of materials for the product. The example was created by issuing the following command:
installver.bat
installver.sh
Example output from components with errors
I IVUTASK001: [ivu] Verifying. I IVUTASK002: [ivu] The installation root directory is C:\Program Files\eclipse\eclipse301\workspace\ WAS.installver\test\v6\product.installroot\ I IVUTASK070: [ivu] The total number of user excluded files are 1. I IVUTASK070: [ivu] The total number of IBM excluded files are 1. I IVUTASK003: [ivu] Searching directory properties\version\install\6.0.0.0\backup for file listing: files.list I IVUTASK013: [ivu] The total number of components found is: 6 I IVUTASK014: [ivu] Gathering installation root data. I CWNVU0360I: [ivu] The following bill of materials issue is found for component nullvaluesample: Hash must not be null or an empty string. I CWNVU0360I: [ivu] The following bill of materials issue is found for component nullvaluesample: Name must not be null or an empty string. I CWNVU0360I: [ivu] The following bill of materials issue is found for component nullvaluesample: Hash must not be null or an empty string. I CWNVU0360I: [ivu] The following bill of materials issue is found for component nullvaluesample: Permission must not be null or an empty string. I CWNVU0360I: [ivu] The following bill of materials issue is found for component symlinksample: Hash must not be null or an empty string. I CWNVU0290I: [ivu] Starting the verification for 6 components. I CWNVU0470I: [ivu] Starting to analyze: _binarycomponentsample I CWNVU0480I: [ivu] Done analyzing: _binarycomponentsample I CWNVU0470I: [ivu] Starting to analyze: nullvaluesample I CWNVU0430I: [ivu] The following file is missing: testpath I CWNVU0390I: [ivu] Component issues found : 1 I CWNVU0480I: [ivu] Done analyzing: nullvaluesample I CWNVU0470I: [ivu] Starting to analyze: overlapbinarycomponentsample W CWNVU0422W: [ivu] The following file is overlapped: lib/binaryTest.jar W CWNVU0425W: [ivu] The overlap is caused by: _binarycomponentsample I CWNVU0390I: [ivu] Component issues found : 1 I CWNVU0480I: [ivu] Done analyzing: overlapbinarycomponentsample I CWNVU0470I: [ivu] Starting to analyze: regularcomponentsample I CWNVU0440I: [ivu] The following file is different: lib/different.jar I CWNVU0410I: [ivu] fc19318dd13128ce14344d066510a982269c241b is the checksum in the bill of materials. I CWNVU0420I: [ivu] 517d5a7240861ec297fa07542a7bf7470bb604fe is the checksum on the file system. I CWNVU0430I: [ivu] The following file is missing: lib/missing.jar I CWNVU0430I: [ivu] The following file is missing: missingfilebutwithbaddirectory/missingBadDirectory.jar I CWNVU0390I: [ivu] Component issues found : 3 I CWNVU0480I: [ivu] Done analyzing: regularcomponentsample I CWNVU0470I: [ivu] Starting to analyze: symlinksample I CWNVU0480I: [ivu] Done analyzing: symlinksample I CWNVU0400I: [ivu] Total issues found : 5 I CWNVU0340I: [ivu] Done.
Example output from a typical installation
I IVUTASK001: [ivu] Verifying. I IVUTASK002: [ivu] The iInstallation root directory is: /opt/V602/IBM/WebSphere/AppServer/ I IVUTASK070: [ivu] The total number of user excluded files found: 0. I IVUTASK070: [ivu] The total number of IBM excluded files found: 0. I IVUTASK003: [ivu] Searching directory properties/version/install/6.0.0.0/backup for file listing: files.list I IVUTASK013: [ivu] The total number of components found: 285 I IVUTASK014: [ivu] Gathering installation root data. java.lang.IllegalArgumentException: Hash must not be null or an empty string. at com.ibm.installver.runtime.ComponentFilesSAXHandler.endElement( ComponentFilesSAXHandler.java(Compiled Code)) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$ FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument( Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at com.ibm.installver.Tasks.getInventorySet(Tasks.java:220) at com.ibm.installver.Tasks.startVerification(Tasks.java:418) at com.ibm.installver.Tasks.run(Tasks.java:94) at com.ibm.installver.IVU.programStart(IVU.java:299) at com.ibm.installver.IVU.main(IVU.java:267) I IVUTASK050: [ivu] Starting the verification for 285 components. I IVUCMPSTART: [ivu] activity I IVUCOMPDONE: [ivu] activity I IVUCMPSTART: [ivu] activity.impl I IVUCOMPDONE: [ivu] activity.impl I IVUCMPSTART: [ivu] activity.session I IVUCOMPDONE: [ivu] activity.session I IVUCMPSTART: [ivu] activity.session.impl I IVUCOMPDONE: [ivu] activity.session.impl I IVUCMPSTART: [ivu] acwa I IVUCOMPDONE: [ivu] acwa I IVUCMPSTART: [ivu] adapter I IVUCOMPDONE: [ivu] adapter I IVUCMPSTART: [ivu] admin I IVUCOMPDONE: [ivu] admin ... I IVUCMPSTART: [ivu] javadoc.mbean I IVUOVERLAPPED: [ivu] properties/version/admin.jmx.component I IVUOVERLAP_BY: [ivu] admin.jmx I IVUCOMP100: [ivu] Component issues found : 1 I IVUCOMPDONE: [ivu] javadoc.mbean ... I IVUCMPSTART: [ivu] webui I IVU_DIFFERENT: [ivu] systemApps/adminconsole.ear/adminconsole.war /WEB-INF/classes/_ibmjsp/secure/layouts/_descLayout.class I IVUINVN100: [ivu] ff0a5af82722cdc78bdf8cc7ffb551b00a173100 is the checksum in the bill of materials. I IVUFILE100: [ivu] a30acbcb401354ff9d5410f55f336e5950807cd0 is the checksum on the file system. I IVUCOMP100: [ivu] Component issues found : 1 I IVUCOMPDONE: [ivu] webui ... I IVUCOMP200: [ivu] Total issues found : 644 I IVUTASK100: [ivu] Done.
I IVUCMPSTART: [ivu] activity I IVUCOMPDONE: [ivu] activity
I IVUCMPSTART: [ivu] javadoc.mbean I IVUOVERLAPPED: [ivu] properties/version/admin.jmx.component I IVUOVERLAP_BY: [ivu] admin.jmx I IVUCOMP100: [ivu] Component issues found : 1 I IVUCOMPDONE: [ivu] javadoc.mbean
I IVUCMPSTART: [ivu] webui I IVU_DIFFERENT: [ivu] systemApps/adminconsole.ear/adminconsole.war /WEB-INF/classes/_ibmjsp/secure/layouts/_descLayout.class I IVUINVN100: [ivu] ff0a5af82722cdc78bdf8cc7ffb551b00a173100 is the checksum in the bill of materials. I IVUFILE100: [ivu] a30acbcb401354ff9d5410f55f336e5950807cd0 is the checksum on the file system. I IVUCOMP100: [ivu] Component issues found : 1 I IVUCOMPDONE: [ivu] webui
For current information available from IBM Support on known problems and their resolution, see this IBM Support page.
IBM Support has documents that can save you time gathering information needed to resolve this problem. Before opening a PMR, see this IBM Support page.
If you do not see a known installation problem that resembles yours, or if the information provided does not solve your problem, contact IBM support for further assistance.
Related tasks
Using the installation verification tools