IBM Support

How to change the temporary directory used by WebSphere Application Server UpdateInstaller V6.1 and V7.0 on UNIX or Linux

Troubleshooting


Problem

The UpdateInstaller may require a large amount of space to be free in the system temporary directory in order to process a large maintenance package, such as a Fix Pack. Due to system policies or security restrictions, the system temporary directory may not have enough space as required by the UpdateInstaller. This technote describes how to change the temporary directory used by the UpdateInstaller on UNIX® and Linux ®based systems.

Symptom

The UpdateInstaller V6.1 and V7.0 may require a large amount of space to be free in the system temporary directory in order to process a large maintenance package, such as a Fix Pack. Due to system policies or security restrictions, the system temporary directory may not have enough space as required by the UpdateInstaller V6.1. Freeing space in the system temporary is a good solution, but sometimes that is an unrealistic solution.

When the UpdateInstaller does not have sufficient space in the system temporary directory to allow the installation to take place, it will display an error similar to the following text:


CWUPI0033E: There is insufficient free disk space on the system:

/opt/IBM/WebSphere/AppServer:
Required: 500 MB     Available: 600 MB

/tmp:
Required: 100 MB     Available: 70 MB

Ensure there is enough free disk space on all required filesystems and retry the operation.  If /tmp and /opt/IBM/WebSphere/AppServer are on the same partition then the amount of space required is the sum of the space required on /tmp and /opt/IBM/WebSphere/AppServer.


In the example above, notice that the IBM® WebSphere® Application Server directory does have sufficient space, but the temporary directory does not. The UpdateInstaller will not allow the installation to proceed until enough space is free in the temporary directory.

This can occur either while installing the UpdateInstaller or while applying a maintenance pack using the UpdateInstaller V6.1. Resolving each of those problems needs a different solution, and both of those solutions are described further below.

If this occurs while installing the UpdateInstaller, then the error seen above would be displayed in the "log.txt" file which would be relocated to the "updilogs" subdirectory of the user's home directory. If this occurs while using the UpdateInstaller to apply a maintenance pack, then the error would be displayed in the "updatelog.txt" file which would be relocated to one of the "tmp" log subdirectories under updateInstaller_root /logs.

Note: If the UpdateInstaller claims that "0 MB" disk space is free (i.e., no disk space is free), yet there truly is disk space free, then a different solution is available to address that issue. Please see technote 1259888 for further details.

Environment

This solution applies to UpdateInstaller V6.1 and V7.0, both for using the UpdateInstaller to apply maintenance packages and for installing the UpdateInstaller.

Also, this technote applies to UpdateInstaller running on Linux or UNIX ased systems. This technote does not apply to Windows-based systems. For a discussion of this same topic for Windows-based systems, please refer to technote 1386925.

Resolving The Problem

Use UpdateInstaller V6.1.0.13 or later
This solution is applicable to UpdateInstaller V6.1.0.13 and later. Update the UpdateInstaller to the latest available V6.1 or V7.0 level before continuing with this process. (Note that the V7.0 UpdateInstaller is fully backward-compatible with V6.1 maintenance packs.) The latest UpdateInstaller V6.1 can be found here, and the latest UpdateInstaller V7.0 can be found here.



Changing the temporary directory used while applying a maintenance package
This section describes how to change the temporary directory used when applying a maintenance package using the UpdateInstaller. This does not work for installing the UpdateInstaller -- please see the section below in this technote for details regarding installing the UpdateInstaller.

Instructions for AIX®, HP-UX, Linux®, and Solaris systems
When starting the UpdateInstaller, use these parameters in addition to any other parameters being used to invoke the UpdateInstaller:

-Djava.io.tmpdir="/newtmp" -Dtemp.dir="/newtmp"

Replace "/newtemp" in both places with the full path to the new temporary directory you would like to use. Be sure to specify the same directory in both parameters.

The example below shows how to invoke the UpdateInstaller wizard while changing the temporary directory to "/mytemp":

./update.sh -Djava.io.tmpdir="/mytemp" -Dtemp.dir="/mytemp"

Note: These parameters do not work for Windows®-based systems. Please see the instructions below for information on how to specify these parameters for Windows-based systems.




Changing the temporary directory used while installing the UpdateInstaller
This section describes how to change the temporary directory used when installing the UpdateInstaller. (Note that IBM Support representatives may refer you to these instructions when updating other WebSphere 6.1 or 7.0 installers, because these instructions will work for other circumstances as well.) This applies to UNIX- and Linux-based systems only.

Locate the install executable and determine the install type
Some UpdateInstaller "install" executable files are binary programs, and other "install" executables are shell scripts. (This varies by operating system and system architecture.) These instructions require you to edit a shell script of the "install" executable. If the installer for your operating system is based on a binary program, then you will need to create a shell script. The following steps explain how to identify whether you have a binary program or a shell script, and explain how to create the shell script if you need to.

  1. Locate the executable file which starts the installer program. First, extract all of the files from the UpdateInstaller downloaded from IBM. Then, look inside the set of extracted files. On AIX, HP-UX, Linux-based, and Solaris systems, the installer executable is named "install" and it is located in the "UpdateInstaller" directory.

  2. Examine the size of the "install" file.
    • If the size of the install file is "small" -- approximately 4 kilobytes or less -- then the "install" file is a shell script. Follow the steps in Installer Solution 1 to edit that script. (Skip Installer Solution 2 entirely.)

    • If the size of the install file is "large" -- approximately 300 kilobytes or more -- then the "install" file is a binary program. Follow the steps in Installer Solution 2 to create a shell script which will allow you to change the temporary directory. (Skip Installer Solution 1 entirely.)





Installer Solution 1: Edit the install script
This solution applies to the UpdateInstaller "install" executable file which is a shell script. These instructions explain how to edit the script to use an alternate temporary directory. The "install" executable file is the file which you were directed to examine in the section above. These instructions do not apply to Windows-based systems
  1. Open the "install" script in a text editor. Search for every instance of the string:
    "$currentDir"/setup.jar

  2. After the "setup.jar" parameter and before the next parameter, insert the following text:

    -Djava.io.tmpdir="/newtmp" -Dtemp.dir="/newtmp"

    Replace "/newtemp" in both places with the full path to the new temporary directory you would like to use. Be sure to specify the same directory in both parameters.

    For example, if a line of text in the installer looks like this:

    "$JAVAHOME"/bin/java -cp "$currentDir"/setup.jar -Xms256m

    Modify the line to look like this:

    "$JAVAHOME"/bin/java -cp "$currentDir"/setup.jar -Djava.io.tmpdir="/newtmp" -Dtemp.dir="/newtmp" -Xms256m

  3. Invoke the UpdateInstaller installer by running the modified "install" script. The installer will use the alternative temporary directory.

    Note: You do not need to use "Installer Solution 2" once you have completed these steps.




Installer Solution 2: Create a new install script
This solution applies to the UpdateInstaller "install" executable file which is an executable file. These instructions explain how to create a shell script which runs the installer and uses a temporary directory of your choice.
  1. Using your preferred text editor, create a new blank file. If this blank file is created on a Windows-based system, be sure that the editor uses UNIX-style line terminators. (If you are unsure how to do this, then avoid using Windows to create the file, and instead use a text editor on a UNIX-based system.)

  2. Copy and paste this content into the text file:

    #!/bin/sh

    currentDir=`dirname $0`
    JAVAHOME=$currentDir/../JDK/jre.pak/repository/package.java.jre/java/jre
    mkdir "/tmp" > /dev/null 2>&1

    "$JAVAHOME"/bin/java -cp "$currentDir"/setup.jar -Djava.io.tmpdir="/tmp" -Dtemp.dir="/tmp" -Xms256m -Xmx512m run $* > /dev/null 2>&1


  3. The text which was just pasted into the file has three occurrences of "/tmp" in it. Replace that text with the directory which you want to use as the new temporary directory. Be sure that the directory is enclosed in double-quotes, similar to the text "/tmp".

    Note that one of the commands will create the intended temporary directory if it does not already exist. This procedure does not work if the directory does not exist, so that command ensures that the directory is created.

  4. Save the file you were editing, and name it "install.newtemp.sh".

  5. Move the "install.newtemp.sh" file to the same directory which contains the UpdateInstaller's "install" executable file. Typically, this is in a directory named "UpdateInstaller".

  6. Grant execute permission to the file. To do so, use this command:

    chmod +x install.newtemp.sh

  7. Execute the install script in order to run the UpdateInstaller installer. Use this script in the same manner that you would use the "install" program. For example:

    ./install.newtemp.sh

    Note: If you normally pass parameters such as "-silent" or "-options" to the install program, then pass those parameters in the same manner.

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Install","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"7.0;6.1","Edition":"Base;Express;Network Deployment","Line of Business":{"code":"LOB15","label":"Integration"}},{"Product":{"code":"SS7JFU","label":"WebSphere Application Server - Express"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Install and migration","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"","label":"Linux pSeries"},{"code":"","label":"Linux zSeries"},{"code":"PF027","label":"Solaris"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB15","label":"Integration"}}]

Document Information

Modified date:
15 June 2018

UID

swg21299366