WebSphere Application Server - Express, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows

installver command

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.

Location of the command file

The installver command file is located in the bin directory of the installation root directory and in the bin directory of each profile:
  • [Linux][UNIX]install_root/bin/installver.sh
  • [Linux][UNIX]install_root/profiles/profile_name/bin/installver.sh
  • [Windows]install_root\bin\installver.bat
  • [Windows]install_root/profiles/profile_name\bin\installver.bat

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

Checking the bill of materials

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.

Logging results: The tool logs messages for each component. The tool also reports overall success based on the verification of all components in the bill of materials. The overall message is one of the following indicators of success:
  • VERIFICATION SUCCESSFUL
  • VERIFICATION UNSUCCESSFUL
The message also reports the total number of verified components. If no components are missing, all of the components exist. When a comparison indicates that the verification is unsuccessful, the tool creates a report of potential conflicts.

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.

Syntax for comparing product files to the bill-of-material files

Use the following command syntax to automatically check the bill of materials against the installed file system.

Compare the checksum of product files to the correct checksum in the bill-of-material files:
  • [Linux][UNIX]install_root/bin/installver.sh
  • [Linux][UNIX]install_root/profiles/profile_name/bin/installver.sh
  • [Windows]install_root\bin\installver.bat
  • [Windows]install_root\profiles\profile_name\bin\installver.bat
Create a template for listing files to exclude from the bill of materials comparison: Run the following command only from the bin directory of a profile:
  • [Linux][UNIX]./installver.sh -createtemplate template_name
  • [Windows]installver.bat -createtemplate template_name
Compare checksums and display trace results:
  • [Linux][UNIX]./installver.sh -trace
  • [Windows]installver.bat -trace
Display usage information:
  • [Linux][UNIX]./installver.sh -help
  • [Windows]installver.bat -help
Compare checksums and exclude certain files from the comparison:
  • [Linux][UNIX]./installver.sh -exclude fn1;fn2;fn3
  • [Windows]installver.bat -exclude fn1;fn2;fn3
Compare checksums and include specified files only in the comparison:
  • [Linux][UNIX]./installver.sh -include fn1;fn2;fn3
  • [Windows]installver.bat -include fn1;fn2;fn3
Compare checksums and exclude certain components from the comparison:
  • [Linux][UNIX]./installver.sh -excludecomponent comp1;comp2;comp3;...
  • [Windows]installver.bat -excludecomponent comp1;comp2;comp3;...
Compare checksums and include specified components only in the comparison:
  • [Linux][UNIX]./installver.sh -includecomponent comp1;comp2;comp3;...
  • [Windows]installver.bat -includecomponent comp1;comp2;comp3;...
Compare checksums and ignore user-excluded files:
  • [Linux][UNIX]./installver.sh -ignoreuserexclude
  • [Windows]installver.bat -ignoreuserexclude
Compare checksums and ignore IBM-excluded files:
  • [Linux][UNIX]./installver.sh -ignoreibmexclude
  • [Windows]installver.bat -ignoreibmexclude
List all components only:
  • [Linux][UNIX]./installver.sh -listcomponents
  • [Windows]installver.bat -listcomponents
Create template (for listing excluded files) only:
  • [Linux][UNIX]./installver.sh -createtemplate
  • [Windows]installver.bat -createtemplate

Parameters for comparing checksums against the bill of materials

The following parameters are associated with the command when comparing product file checksums to the correct checksums in the bill of material files.

-componentdir directory
Optional parameter that identifies the name of the directory where WebSphere Application Server products store the individual bill-of-material lists for each component.

The default value is the install_root /properties/version/install/6.0.0.0/backup directory.

-createtemplate [file_name ]
Creates a template properties file for excluding files from the checksum comparison. Edit the template properties file to add a line for each file that you want to exclude from verification.

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.

  • [Linux][UNIX]Perform the following procedure:
    1. cd install_root/profiles/profile_name/bin
    2. ./installver.sh -createtemplate
  • [Windows]Perform the following procedure:
    1. cd install_root/profiles/profile_name\bin
    2. installver.bat -createtemplate

The installver tool creates the template properties file in the properties directory of the profile.

  • [Linux][UNIX]install_root/profiles/profile_name/properties/template_name
  • [Windows]install_root/profiles/profile_name\properties\template_name

See Properties file for excluding files from a checksum comparison for more information.

-exclude file1;file2;file3; ...
Excludes files from verification.

Use a semi-colon (;) or a colon (:) to delimit file names.

-excludecomponentcomponent1;component2;component3; ...
Excludes components from verification.

Use a semi-colon (;) or a colon (:) to delimit component names.

-filelist file_name
Optional parameter that identifies the name of the file that IBM uses to identify the correct checksums of product files in a particular product component.

The default value is files.list.

-help

Displays usage information.

-ignoreuserexclude

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.

-ignoreibmexclude

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.

-include file1;file2;file3; ...
Includes files in the verification and excludes all other files.

Use a semi-colon (;) or a colon (:) to delimit file names.

-includecomponentcomponent1;component2;component3; ...
Includes components in the verification and excludes all other components.

Use a semi-colon (;) or a colon (:) to delimit component names.

-installrootdirectory_name
Overrides the default installation root directory.
-listcomponents

Displays a list of components in the product. Each component must have a files.list file.

-log [file_path_and_file_name_of_log_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.

-profilehomedirectory_name
Overrides the default profiles directory in the installation root directory.
-trace

Provides trace output of what the tool checks and what the tool discovers.

Creating and using a new baseline checksum for an inventory of configured files

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.

Syntax for creating and using a new baseline checksum for an inventory of configured files

Use the following syntax to create and compare an inventory of configured files to the currently installed files.

Create an inventory list of the files that are currently installed in the installation root directory:
  • [Linux][UNIX]./installver.sh -createinventory [fully_qualified_file_specification]
  • [Windows]installver.bat -createinventory [fully_qualified_file_specification]
Compare the inventory list to files that are currently installed in the installation root directory:
  • [Linux][UNIX]./installver.sh -compare /path/file_name
  • [Windows]installver.bat -compare path\file_name
Compare and display trace results:
  • [Linux][UNIX]./installver.sh -compare /path/file_name -trace
  • [Windows]installver.bat -compare path\file_name -trace
Display usage information:
  • [Linux][UNIX]./installver.sh -help
  • [Windows]installver.bat -help
Compare and exclude specified files from the inventory comparison:
  • [Linux][UNIX]./installver.sh -compare /path/file_name -exclude fn1;fn2;fn3;...
  • [Windows]installver.bat -compare path\file_name -exclude fn1;fn2;fn3;...
Compare and include only specified files in the inventory comparison:
  • [Linux][UNIX]./installver.sh -compare /path/file_name -include fn1;fn2;fn3;...
  • [Windows]installver.bat -compare path\file_name -include fn1;fn2;fn3;...

Parameters for creating and using checksums for a file inventory

The following parameters are associated with this command.

-compare file+path_and_file_name_of_existing_inventory_file
Compares the existing inventory list to the existing files to determine changes.

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.

-createinventory directory_name
Creates the new checksum by default in the sys.inv file within the current working directory, such as the profile_name/bin directory. You can specify a file path and file name. Create the file outside of the installation root directory or exclude the file from comparisons.

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.

-exclude file1;file2;file3;...
Excludes files from comparison.

Use a semi-colon (;) or a colon (:) to delimit file names.

-help
Displays usage information.
-include file1;file2;file3; ...
Includes files in the comparison and excludes all other files.

Use a semi-colon (;) or a colon (:) to delimit file names.

-installrootdirectory_name
Overrides the default installation root directory.
-log [file_path_and_file_name_of_log_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.

-trace
Provides trace output of what the tool checks and what the tool discovers.

Changing the default message digest algorithm

You can change the default message digest algorithm from SHA to MD5. Edit the installver.bat file or the installver.sh file. Add the following environmental property to the script file:

-Dchecksum.type=MD5

The default value is:

-Dchecksum.type=SHA

Properties file for excluding files from a checksum comparison

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.

The properties file has the following format:
<template>
   <componentfiles componentname="name_of_component">
      <file>
         <relativepath action="exclude">file_name</relativepath>
      </file>
   </componentfiles>
</template>

Example

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:

[Windows]
installver.bat 
[Linux][UNIX]
installver.sh 

Example output from components with errors

This output shows errors that were introduced on purpose to generate errors for this example. The next example shows typical output from checking an actual installation.
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

This example shows typical output from checking an actual 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.

Interpreting the results of the installver command

  1. Look for messages with an E in the first column of the message. Errors are serious issues that prevent the installver command from running. Run the verifyinstallver command to
  2. Look for a W in the first column of the message. Warning messages indicate an issue that is a significant difference between the installed code and the bill of materials.
  3. Ignore entries for a component when the checksums match. The tool logs two entries that mark the beginning and end of the comparison for the component:
     I IVUCMPSTART: [ivu] activity
     I IVUCOMPDONE: [ivu] activity
    
  4. Ignore entries for files that are created by more than one component:
     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
    
  5. Ignore entries for checksum mismatches that you introduce on purpose, such as might occur when you extend a component. The checksums differ for each file that you change:
     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
    
  6. If you see any of the following messages, contact IBM support:
    • W IVUTASK020: [ivu] Component mismatch: ...
    • I IVUTASK300: [ivu] The following bill of materials issue is found:

    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.




Sub-topics
verifyinstallver command

Related tasks
Using the installation verification tools

Reference topic    

Terms of Use | Feedback

Last updated: Jun 8, 2005 12:45:23 PM EDT
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rxml_installver.html

© Copyright IBM Corporation 2005. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)