Installing and configuring ZOAU
IBM Z Open Automation Utilities (ZOAU) v1.4 is a new version. A new ZOAU installation can coexist with a prior version of ZOAU. By default, ZOAU v1.4 is installed in its own directory:
/usr/lpp/IBM/zoau/v1r4.
ZOAU v1.4 includes changes that are incompatible with the previous versions of ZOAU. Scripts or applications that work with prior versions might need to be updated. To learn more, see Migrating to ZOAU v1.4 from v1.3.x.
System requirements
IBM Z Open Automation Utilities (ZOAU) has the following requirements.
Software requirements
ZOAU is supported on z/OS v2.5 or later.
ZOAU requires one of the following job entry systems on your installation:
Required Service
ZOAU requires the following APARs to be installed on your z/OS system.
| z/OS release | APARs |
|---|---|
| v2.5 | PH45182 |
| v3.1 |
|
| v3.2 |
|
Required disk space
ZOAU requires approximately 750 tracks (50 cylinders), or 35MB of 3390 disk space for product installation.
To operate correctly, ZOAU requires a writable temporary directory (typically /tmp) with at least 100 MB of free space.
Installed items and optional programs
To use the ZOAU Python language pack, you must install IBM Open Enterprise SDK for Python version 3.12 or later. Learn more at IBM Open Enterprise SDK for Python.
The results of the ZOAU installation are a z/OS UNIX directory found at
/usr/lpp/IBM/zoau/v1r4. The following subdirectories are included in the distribution:
| Subdirectory | Usage |
|---|---|
| bin | Executable programs |
| docs | Man pages, message catalogs, and other supporting documentation |
| include | Header files |
| lib | API DLL files |
| LICENSES | ZOAU license files |
| samples | Code samples |
| zoautil_py-stubs | Optional Python stub files |
Installing ZOAU on z/OS
You can install ZOAU with pax or SMP/E.
Installing with pax
To download and install ZOAU with pax:
-
Navigate to Mainframe Downloads.
-
Search for the product name "IBM Z Open Automation Utilities" listed under "IBM Enterprise DevOps".
-
Press Download and agree to the Software License Agreement.
-
Save the
zoau-<VERSION>.pax.Zfile to your local device. -
Transfer the
zoau-<VERSION>.pax.Zfile to your z/OS host by using binary mode. -
Log in to your z/OS system. Ensure that the current user ID has the ability to set the APF authorization bit on a file; this can be the superuser or a user who has
READaccess to theBPX.FILEATTR.APFresource in theFACILITYclass. To learn more, see Controlling who can set the APF-authorized attribute. -
Continuing on z/OS, create and mount a new zFS filesystem as read-write.
-
Use the
cdcommand to change the working directory to the new zFS filesystem. -
Use the pax command to install ZOAU into the new zFS filesystem:
pax -ppx -rf zoau-<VERSION>.pax.Z
If the command produces an error message, the current user ID does not have sufficient authority to install ZOAU. For example, you might see the following error:
pax: FSUMF073 bin/opercmdhelper: user not authorized to restore extended attribute "a"
To remedy this situation, review the previous steps or consult your system programmer.
-
Change to the prior directory (
cd -). The ZOAU filesystem cannot be remounted while it is in use. -
Remount the ZOAU filesystem as read-only. The typical installation location for ZOAU is
/usr/lpp/IBM/zoau/v1r4. You can do this with the chmount command:/usr/sbin/chmount -r <ZOAU_INSTALL_DIR> -
Ensure that ZOAU is installed on a read-only mount path. This avoids creation of unnecessary .pyc files when the ZOAU Python language pack is used. The .pyc files can cause issues in shared environments and complicate software maintenance. Mounting the ZOAU as read-only ensures a clean and consistent installation across systems.
Install with SMP/E
To install ZOAU on z/OS with SMP/E, see the Program Directory for IBM Z Open Automation Utilities.
Configuring ZOAU
Complete the following procedure to configure ZOAU.
Temporary directory
To function properly, ZOAU requires a writable temporary directory with a minimum of 100 MB of free space. Typically mounted at /tmp, the temporary directory on z/OS should be a standalone zFS or TFS filesystem.
Unexpected behavior can occur if the temporary directory is full and ZOAU cannot write to it. Ensure it is large enough not to completely fill during typical system workloads. To monitor the amount of free space available, use the following methods:
Set environment variables
An environment variable pairs a case-sensitive variable name with an assigned value in the form
VARNAME=VALUE. Use environment variables with ZOAU to define and provide specific characteristics of your environment to the UNIX System Services and utilities at runtime.
Several environment variables must be set correctly for ZOAU to function properly. Some are unique to ZOAU, others are general to UNIX System Services. To learn more about general settings, see Abstract for z/OS UNIX System Services Planning.
Perform the following steps to configure required and optional environment variables for ZOAU.
_BPXK_AUTOCVT enables automatic conversion of tagged files. When set, this variable overrides the AUTOCVT setting in BPXPRMxx. The default setting is OFF. To ensure that
ASCII-tagged content is properly handled by z/OS, set the _BPXK_AUTOCVT variable to ON:
export _BPXK_AUTOCVT=ON
To learn more about _BPXK_AUTOCVT, see _BPXK environment variables.
Create a ZOAU_HOME environment variable that points to the directory where ZOAU is installed. The default location is /usr/lpp/IBM/zoau/v1r4.
export ZOAU_HOME=<PATH_TO_ZOAU>
PATH sets a default command search path to search the directories concatenated in this string. Add ZOAU to the PATH environment variable.
export PATH=${PATH}:${ZOAU_HOME}/bin
LIBPATH specifies the directory to search for a dynamic link library (DLL). Add ZOAU to the LIBPATH environment variable.
export LIBPATH=${LIBPATH}:${ZOAU_HOME}/lib
To learn more about PATH, LIBPATH, and MANPATH, see
Customizing /etc/profile.
(Optional) To use the supplied man pages and view them with the man command, update the
MANPATH environment variable.
export MANPATH=${MANPATH}:${ZOAU_HOME}/docs/%L
(Optional) TMPHLQ is a ZOAU-specific environment variable that is used by the
mvstmp utility. If the user ID that runs ZOAU commands does not have write access to the high-level qualifier (HLQ) matching its username, use the TMPHLQ environment
variable to specify a different HLQ.
export TMPHLQ=<WRITEHLQ>
(Optional) By default, temporary files are written to the /tmp directory. Use the TMPDIR standard environment variable to write temporary files to an alternate directory.
export TMPDIR=/tmp
(Optional) CONSBUFPGNUM is a ZOAU-specific environment variable and is used by
opercmd. Use CONSBUFPGNUM to specify the number of buffer pages allocated to command output.
export CONSBUFPGNUM=128
(Optional) CONCHAR sets the JES command prefix character to be used in the cancel command. The default prefix character for JES2 is '$', and for JES3 it is '*'. Set this if your installation uses a non-default
command prefix character, or if you have multiple JES instances running simultaneously.
For more information about JES command prefix characters, see the z/OS documentation.
(Optional) To validate the ZOAU installation, run the following command, which reports any problems with the installation or configuration. This creates a report that can be used when you are working with IBM Support.
zoaversion -c
Install ZOAU Python APIs (optional)
Minimum Python versions
ZOAU is compatible with the following minimum versions of IBM Open Enterprise SDK for Python. To learn more, see IBM Open Enterprise SDK for Python Installation and Configuration.
| Python version | APAR | PTF | Notes |
|---|---|---|---|
| 3.12.10 | PH66761 | UO03580 |
|
| 3.13.3 | PH66757 | UO03555 |
|
| 3.14.0 | N/A | N/A | Requires ZOAU v1.4.1 or later |
To use the ZOAU Python APIs, use one of the following installation methods:
- Python wheel installation
- PYTHONPATH environment variable
- Python setuptools installation (not recommended)
Python wheel installation method
A wheel file is a ZIP-format archive with a specially formatted filename followed by the .whl extension. It contains a precompiled Python module ready to install.
The ZOAU installation directory contains a .whl file for each of the currently supported versions of IBM Open Enterprise SDK for Python. In the following table, <zoauversion> represents the installed ZOAU version.
For example, the .whl file for IBM Open Enterprise SDK for Python version 3.14 for ZOAU version 1.4.1.0 has the filename zoautil_py-1.4.1.0-cp314-cp314-zos.whl.
| Wheel Filename | Python version |
|---|---|
zoautil_py-<zoauversion>-cp312-none-any.whl |
3.12 |
zoautil_py-<zoauversion>-cp313-none-any.whl |
3.13 |
zoautil_py-<zoauversion>-cp314-cp314-zos.whl |
3.14 |
Warning: The Python wheel installation method performs version matching against the .whl filename. Any modification to the filename can break and corrupt the module installation.
To install the ZOAU Python module with a wheel package, run the following command after replacing
<wheel_filename> with the corresponding wheel filename that matches your version of IBM Open Enterprise SDK for Python.
pip3 install <wheel_filename>
For example, the command to install the Python 3.14 version of the ZOAU 1.4.1.0 wheel package is:
pip3 install zoautil_py-1.4.1.0-cp314-cp314-zos.whl
PYTHONPATH environment variable method
The PYTHONPATH environment variable method sets this to point to the zoautil_py directory path containing the ZOAU Python APIs and a precompiled binary.
This environment variable must be set to the correct ZOAU directory that corresponds to the version of Python installed on your z/OS system.
-
If not already done, set the environment variables.
-
Run the command
python3 --versionto determine the version of Python on your systems. The version number used in this case is the first two digits in the output. For example:~> python3 --version Python 3.14.0 # The python version is 3.14. -
Set the
PYTHONPATHenvironment variable. The final part of the path corresponds to the version number of the Python runtime. Ensure that you adjust the value to match what is installed on your system. Note that this step requires theZOAU_HOMEenvironment variable to be set.export PYTHONPATH=${PYTHONPATH}:${ZOAU_HOME}/lib/3.14
Python setuptools installation method (not recommended)
Note: The Python setuptools method is not recommended due to additional complexity and software requirements. Only use this method if neither of the others work for you.
This installation method requires one of the following C compilers to build the CPython source code in the ZOAU language pack.
| Program Number | Product Name and Minimum Version Level |
|---|---|
| 5650-ZOS | IBM z/OS XL C/C++ 2.4 and above |
| 5650-ZOS | IBM Open XL C/C++ for z/OS 1.1 and above |
| 5655-COE | IBM C/C++ for Open Enterprise Languages 2.0 and above |
-
If not already done, set the environment variables.
-
Create a virtual environment by using the following commands:
python3 -m venv env source env/bin/activate -
Find the pip installable package, which is included in the ZOAU pax file. Follow the Installing with pax procedure to download and extract the pax file, from which you can get
zoautil_py-<version>.tar.gz. -
Install the pip installable package for ZOAU Python APIs with the following command:
pip3 install zoautil_py-<version>.tar.gz
Python stub files
A zoautil_py-stubs directory that contains optional Python stub files is included as part of your ZOAU installation. To import the stub files into your preferred development environment, consult the documentation.
Install IBM Open Enterprise Foundation for z/OS (optional)
IBM Open Enterprise Foundation (OEF) for z/OS® is a no-cost collection of vetted open source developer tools (Git, Curl, GNU Bash, Vim, GPG, JQ and more) that provides popular Linux® and UNIX software development tools for z/OS. Combining IBM OEF with ZOAU enables modern scripting and automation for z/OS workloads, leveraging shell commands to streamline DevOps workflows and enhanced JSON data processing capabilities.
To learn more, see IBM Open Enterprise Foundation for z/OS.