chjava Command

Purpose

Modifies installation and update image files (BFF format) for Java on AIX to allow an SDK to be installed in a directory other than what is defined in the installation image file.

Syntax

To Modify the Contents of the Java on AIX Installation or Update Image File

chjava [ -q ] -b"InstallOrUpdateFileList" -p PathSuffix [ -l LPPSuffix ] [ -P ParentPath ]

Description

The chjava command modifies the installation path and LPP name associated with Java on AIX installation and update image files (BFF format).

The installation and update image files for Java on AIX have predefined installation paths and LPP names for each Java version provided for this operating system platform. Having the same predefined installation path for all releases of the same version may limit the ability to configure a system with multiple applications that may have different software requirements. This command provides a mechanism to alter the contents of the image files so that the product is installed in alternative paths.

Depending on the command line options used, the suffix for both the path and LPP names can be the same ( -p option only ) or different ( both -p and -l options ). Since only a suffix will be appended to the path, the new destination will be contained in the same parent directory structure as the original path. To replace the parent directory ( e.g., /usr ) with an different location, using the -P option. However, it is strongly recommended that this option not be used as it may lead to security, installp space expansion and file tracking issues. When using the -p and -P options, the installation path will always contain "java" as the prefix to the directory containing the files for security reasons.

For versions of Java that require a license file ( such as Java 1.4 ) to complete an initial installation, the license file can not be modified by the chjava command and will be ignored, if specified. However, when installing the modified installation files, the original license file, using the original file name covention, must be still be used.

Multiple files or file name wildcards can be specified for the same command using the -b option, however, the file specification must be enclosed within double quotes ("), otherwise only the first file name recognized by the specification will be altered.

The original image files will not be modified. New image files will be created that contain designated changes. If the -l option is specified, then the resulting file name will include the LPP suffix, otherwise, the new file name will contain the path suffix (-p).

For each image file is processed, a temporary directory ( image file name + "_temp" ) will be created to unpack and reformat the contents of the original image file. Once the new image file has been created, this temporary directory will be removed. This implies that the file system being used to create the modified image files must have enough free disk space to support the original image file, the temporary directory and the new image file.

Prior to installing the newly created image files, it is recommended that the image files be moved to a directory containing only the new images and previous .toc files be removed.

With the ability of modifying the image files, comes the additional administrative overhead of managing updates to each of the modified installations. It is the responsibility of the system administrator or owner of the system to properly manage the updates of their system. One example is that if an update is to be applied to multiple modified installations, the chjava command will have to be used to create copies of the update image file(s) for each modified installation ( using the same -p / -l / -P options ), then perform the update for each modified installation using the specific files.

Summary Report

A summary report will be provided with details for each altered image file. This reported will show the original and modified path and LPP names.

Flags

-b "InstallOrUpdateFileList" The list of installation and/or update files, enclosed within double quotes. The list can be a single file, a list of files separate by blank spaces or a file specification suitable for the find command.
-q Suppresses processing messages. The default is to display all messages.
-p PathSuffix Designates a suffix to be appended to the original installation path defined in the image file(s). When used without the -l option, this suffix will also be used in the new LPP name as well.
-l LPPSuffix Designates a suffix to be appended to the original LPP name defined in the image file(s). The default is to use the value specified with the -p option.
-P ParentPath Specifies the path to replace /usr in the image file(s). It is strongly recommended not using this flag for security reasons, installp space expansion issues and file tracking issues. This will not replace the "java" portion of the destination path.

Return Values

A zero (0) return value indicates that all specified installation and update image files were successfully modified. For each image file specified with the -b option, a new file containing the modified contents will be created. The resulting file name will contain the new LPP suffix ( if -l option is specified ) or the new path suffix ( if -l option is not specified ). A summary will be displaying showing the new path, LPP and image file names.

A non zero return value indicates that an error occurred while processing one or more image files. An basic error message will be provided for these situations.

Additional Notes

Works for Java* image files that install into the /usr/java* directories.

The LPPname is the first part of the fileset name. For example, in the case of Java14.sdk and Java131.ret.bin.1.3.1.17, the LPPname is Java14 and Java131, respectively.

All modified Java installations will be installed in the /usr directory unless the -P option is used.

Only the installation path and LPP names will be modified by the addition of the specified suffix.

VRMF numbers ( e.g., 1.3.1.17 ) can not be changed.

License and msg image files will not be changed (ignored). The original the license and msg image files should be included when installing the modified image files.

APAR numbers associated with update image files will not be changed. So when updates are applied to multiple locations, this may result in inconsistent results when using the instfix command to list APARs installed on the system.

Examples

  1. To modify the contents of a single installation image file with a suffix of 123 added to both the path and LPP names, type:
    chjava -b Java14.sdk -p 123
  2. To modify the contents of multiple files in the current directory, with a path suffix of AAA and an LPP suffix of BBB, type:
    chjava -b "Java14.*" -p AAA -l BBB
  3. To modify the contents of a single installation image file with a suffix of PPP, added to both the path and LPP names, and have the file installed into the path /shared/apps/javaPPP, type:
    chjava -b "Java14.sdk" -p PPP -P /shared/apps

Files

chjava Contains the chjava command.

Related Information

The Java for AIX Download and Service Page
The Implementing and troubleshooting Java on AIX Quick Reference Page

The installp command, inutoc command, lppchk command, lslpp command, sysck command, smitty command, find command.