I downloaded an update to Java on z/OS, and noticed that the instructions would cause problems!
Java is in a directory like
/usr/lpp/java/J7.1 /usr/lpp/java/J7.1_64 /usr/lpp/java/J8.0 /usr/lpp/java/J8.0_64
I have Java V7 and V8 and 31 and 64 versions
The installation instruction say
cd to /usr/lpp/java and unpax the uploaded SDK8_64bit_SR8_FP6.PAX.Z file.
This will unpack the file into
/usr/lpp/java/J8.0_64
Overwriting your production system with the new version, so it goes live without any testing, and for a few minutes you have a mixture of files from different fixpacks!
What I would suggest is
- Unzip the file gzip -l -d ibm-semeru-open-jre_x64_linux_11.0.20_8_openj9-0.40.0.tar.gz this upacks the file into a .tar – and delete the .gz
- FTP it to z/OS in binary
- Create a ZFS for the new Java.
- mkdir /usr/lpp/java/new
- mount the ZFS in /usr/lpp/java/new
- cd /usr/lpp/java/new
- pax -ppx -rvzf SDK8_64bit_SR8_FP6.PAX.Z
This will create files under
/usr/lpp/java/new/J8.0_64
Test this by setting
export JAVA_HOME="/usr/lpp/java/new/J8.0_64"
and using it.
When you have finished your testing, you can mount the new ZFS on /usr/lpp/java/J8.0_64 .
You may want to do this as part of an IPL, because an unmount of a ZFS will terminate any thing using the file system – such as z/OSMF.
You could set up /usr/lpp/java/old/J8.0_64 and /usr/lpp/java/new/J8.0_64 and use /usr/lpp/java/J8.0_64 as an alias to one or the other.
One thought on “Follow the instructions to install Java on z/OS and screw up production.”