Environment
Novell ZENworks 7 Desktop Management Support Pack 1 - ZDM7 SP1
Novell ZENworks 7 Desktop Management on Linux Support Pack 1 - ZDML7 SP1
Situation
Want to speed up the installation of ZDM7 post-SP1 files, but do not have ZSM (ZENWorks Server Management) installed.
Resolution
- Obtain the Standalone Package Processor for your platform. These are on the Companion 3 and Companion 4 CDs of the ZENworks disk set, which are available from https://download.novell.com
- NetWare: Extract the Netware processor at the root of SYS: (for NetWare, you must also copy RegJNI.nlm from SYS:\ni\nis30\bin to SYS:\TEMP\CPK\ZDM7SP1\NETWARE)
Windows: Extract the Windows processor at the root of C:
Linux: Extract the Linux processor in /usr/tmp - Copy the CPK files to the ZDM7SP1 directory for the processor (.e.g. SYS:\TEMP\CPK\ZDM7SP1)
- Now you're ready to copy in a suitable NCF/Batch/Script file - examples for each platform are shown in the Additional Notes Section. Please be aware that they must be amended before they will work, to specify the volumes where files are located.
- Execute the NCF/Batch/Script file from a command prompt - a java interpreter will show progress (it's a separate window on NetWare), and a standalone.log file is produced
NetWare: sys:\tmp\standalone.log
Windows: c:\temp\standalone.log
Linux: /usr/tmp/standalone.log
In this log, you can see any error messages. For the NetWare and Windows CPKs, you should expect to see several error messages regarding failure to meet registry requirements: this is because the CPK checks to see if you have ZDM7SP1, ZDM7SP1HP1, ZDM7SP1HP2, ZDM7SP1HP3, ZDM7SP1HP4, ZDM7SP1HP5, ZDM7SP1HP6, or ZDM7SP1IR1 etc., installed. Since you can only have one version installed, the checks for the"other" versions will fail. As long as one of them passes, the rest of the CPK will progress normally.
Additional Information
This same technique can be used with other CPK files: all you ned to do is substitute the correct filename, and associated variables.
NetWare: sample NCF file
# sadmnbak.ncf
load java
#
# This file runs the Standalone Package Processor
#
# Follow these instructions to make any necessary
# changes in this NCF file.
#
# The CPKTEMP variable points to the directory where
# the standalone_zdm7sp1_n-w.zip files were unzipped.
# You may need to modify this path in the
# envset CPKTEMP= line.
#
# Do not modify the two SEARCH ADD paths.
#
# If necessary, in the java -ns ... line at the end
# of this file, modify the path to your CPK file.
#
# ---------------------------------------------------
# Novell makes use of several variables that are
# passed through the command line of the package
# processor invoking session. The variables point
# to various directories where files are upgraded.
# Please edit them carefully.
#
# Variable instructions:
#
# DEST_INV Modify this variable in the "java -ns"
# line below by replacing "VALUE" with
# the volume name to where Inventory is
# installed. For example, sys:\.
load java
#
# This file runs the Standalone Package Processor
#
# Follow these instructions to make any necessary
# changes in this NCF file.
#
# The CPKTEMP variable points to the directory where
# the standalone_zdm7sp1_n-w.zip files were unzipped.
# You may need to modify this path in the
# envset CPKTEMP= line.
#
# Do not modify the two SEARCH ADD paths.
#
# If necessary, in the java -ns ... line at the end
# of this file, modify the path to your CPK file.
#
# ---------------------------------------------------
# Novell makes use of several variables that are
# passed through the command line of the package
# processor invoking session. The variables point
# to various directories where files are upgraded.
# Please edit them carefully.
#
# Variable instructions:
#
# DEST_INV Modify this variable in the "java -ns"
# line below by replacing "VALUE" with
# the volume name to where Inventory is
# installed. For example, sys:\.
#
# DEST_WOL Modify this variable in the "java -ns"
# line below by replacing "VALUE" with
# the volume name to where Wake-on-LAN
# is installed. For example, sys:\.
# DEST_WOL Modify this variable in the "java -ns"
# line below by replacing "VALUE" with
# the volume name to where Wake-on-LAN
# is installed. For example, sys:\.
#
# DEST_XML Modify this variable in the "java -ns"
# line below by replacing "VALUE" with
# the volume name to where XML is
# installed. For example, sys:\.
#
# DEST_XML Modify this variable in the "java -ns"
# line below by replacing "VALUE" with
# the volume name to where XML is
# installed. For example, sys:\.
#
# Paths are not case-sensitive in NetWare.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Initializing the environment for the Standalone
# Package Processor:
#
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Initializing the environment for the Standalone
# Package Processor:
#
envset CPKTEMP=sys:\temp\cpk\zdm7sp1
SEARCH ADD sys:\temp\cpk\zdm7sp1\java
SEARCH ADD sys:\temp\cpk\zdm7sp1\netware
SEARCH ADD sys:\temp\cpk\zdm7sp1\java
SEARCH ADD sys:\temp\cpk\zdm7sp1\netware
envset zfspaths=.
envset zfspaths=$zfspaths;sys:\java\lib\classes.zip
envset zfspaths=$zfspaths;$CPKTEMP\java\advsnmp.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\zencommon.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\zcommon.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\zcommonres.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\smanager.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\xmlrpc.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\xmlrpcext.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\novell_sns.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\ni.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\zenloader.jar
envset zfspaths=$zfspaths;sys:\java\lib\classes.zip
envset zfspaths=$zfspaths;$CPKTEMP\java\advsnmp.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\zencommon.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\zcommon.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\zcommonres.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\smanager.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\xmlrpc.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\xmlrpcext.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\novell_sns.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\ni.jar
envset zfspaths=$zfspaths;$CPKTEMP\java\zenloader.jar
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Running the Standalone Package Processor:
java -ns -noclassgc -classpath $zfspaths com.novell.application.servman.services.softwarepackage.PackageProcessor sys:\temp\cpk\zdm7sp1\ZDM7bkNWSP1IR1.cpk 6 dest_inv VALUE dest_wol VALUE dest_xml VALUE
java -ns -noclassgc -classpath $zfspaths com.novell.application.servman.services.softwarepackage.PackageProcessor sys:\temp\cpk\zdm7sp1\C1_SNAPINS_ZDM7SP1IR1.cpk 6 dest_c1 sys:\public\mgmt\consoleone\1.2
Windows: sample batch file
@echo off
REM sadmwbak.batREM
REM This runs the Standalone Package Processor Follow these instructions to make any
REM necessary changes in this BAT file, which has four parts:
REM
REM Part I : Setting up variables to be used by the batch file
REM Part II : Setting up classpath and path environment variables
REM Part III : Passing command line parameters to the processor
REM Part IV : Running the Standalone Package Processor
REM
REM --------------------------------------------------------------
REM Part I : Setting up the variables.
REM
REM These variables are used throughout the BAT file:
REM
REM JREROOT : Point to JRE path
REM CPKTEMP : Path to where standalone zip is extracted
REM JREHOMEDIR : Location of the JAVA Install Home.
REM The variables point to various directories where files are
REM upgraded.
REM
REM --------------------------------------------------------------
REM
REM If necessary, edit ZREHOMEDIR to indentify the actual JAVA Path.
REM path:
REM
set JREHOMEDIR=c:\NOVELL\zenworks
REM
REM If necessary, edit CPKTEMP to be the location where the
REM standalone_zdm7sp1_n-w.zip files were unzipped:
REM
set CPKTEMP=c:\temp\cpk\zdm7sp1
REM
REM --------------------------------------------------------------
REM Part II : Setting the path and classpath to make sure JRE
REM executes properly.
REM --------------------------------------------------------------
REM
REM If necessary, include the JRE directory in the path and edit
REM the JREROOT variable to indentify the actual JRE path:
REM
set JREROOT=%JREHOMEDIR%\jre
set path=%JREROOT%\bin;%CPKTEMP%\windows;%path%
REM
REM Setting classpath to include the required JAR files:
REM
set zfspaths=
set zfspaths=%JREROOT%\lib\rt.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\ni.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\advsnmp.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\smanager.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\zcommon.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\zcommonRes.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\zencommon.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\zenloader.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\xmlrpc.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\xmlrpcext.jar
set zfspaths=%zfspaths%;%CPKTEMP%\java\njclv2.jar
REM
REM --------------------------------------------------------------
REM Part III : Passing command line parameters to the Standalone
REM Package Processor.
REM
REM Variable instructions:
REM
REM DEST_INV : Modify this variable in the "java -cp" line below
REM by replacing "VALUE" with the drive letter to
REM where Inventory is installed. For example, C:\.
REM
REM DEST_WOL : Modify this variable in the "java -cp" line below
REM by replacing "VALUE" with the drive letter to
REM where Wake-on-LAN is installed. For example, C:\.
REM
REM DEST_XML : Modify this variable in the "java -cp" line below
REM by replacing "VALUE" with the drive letter to
REM where XML is installed. For example, C:\.
REM
REM Paths are not case-sensitive in Windows.
REM
REM --------------------------------------------------------------
REM Part IV : Running the package processor on Windows
REM NT/2000/2003 servers with JRE 1.3 or 1.4
REM --------------------------------------------------------------
REM
REM If necessary, in the java -cp ... line below, modify the path
REM to your CPK file.
REM
REM Remember to change the word VALUE in the next line to match the location of these components
java -cp %zfspaths% com.novell.application.servman.services.softwarepackage.PackageProcessor c:\temp\cpk\zdm7sp1\ZDM7bkwinSP1IR1.cpk 6 DEST_INVVALUEDEST_WOLVALUEDEST_XMLVALUE
set zfspaths=REM END !
Linux: sample script file
#
# This script runs the Standalone Package Processor
#
# Follow these instructions to make any necessary
# changes in this script.
#
# Uncomment this next line and modify it if you do not
# have a JAVA_HOME variable defined on your system
# (not common):
#
#JAVA_HOME=/usr/java/jre1.4.2
#
# The CPK_HOME variable points to the directory where
# the standalone_zdm7sp1_linux.tar.gz files were unzipped.
# You may need to modify this path in the CPK_HOME= line.
#
# If necessary, in the $JAVA_HOME/bin/java ... line at
# the end of this script, modify the path to your CPK
# file. The path given below is /usr/tmp/zdm7sp1/, which
# is suggested in the product documentation.
#
# -----------------------------------------------------
# Novell makes use of several variables that are passed
# through the command line of the package processor
# invoking session. The variables point to various
# directories where files are upgraded. Please edit
# them carefully.
#
# Variable instructions:
#
# DEST_VOL_AGENT Modify this variable in the
# $JAVA_HOME/bin/java ... line below by
# replacing "VALUE" with the path to where
# the Language Agent files are installed.
#
# Paths are case-sensitive in Linux!
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Initializing the environment for the Standalone
# Package Processor:
#
CPK_HOME="/usr/tmp/zdm7sp1"
ZFSCLASSPATH=.
ZFSCLASSPATH="$ZFSCLASSPATH:$JAVA_HOME/lib/rt.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/AdvSnmp.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/zenCommon.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/ZCommon.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/ZCommonRes.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/smanager.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/xmlrpc.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/xmlrpcext.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/ni.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/novell_sns.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/zenloader.jar"
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Running the Standalone Package Processor:
#
# The following command line launches the cpk
# at log level 6.
# This script runs the Standalone Package Processor
#
# Follow these instructions to make any necessary
# changes in this script.
#
# Uncomment this next line and modify it if you do not
# have a JAVA_HOME variable defined on your system
# (not common):
#
#JAVA_HOME=/usr/java/jre1.4.2
#
# The CPK_HOME variable points to the directory where
# the standalone_zdm7sp1_linux.tar.gz files were unzipped.
# You may need to modify this path in the CPK_HOME= line.
#
# If necessary, in the $JAVA_HOME/bin/java ... line at
# the end of this script, modify the path to your CPK
# file. The path given below is /usr/tmp/zdm7sp1/, which
# is suggested in the product documentation.
#
# -----------------------------------------------------
# Novell makes use of several variables that are passed
# through the command line of the package processor
# invoking session. The variables point to various
# directories where files are upgraded. Please edit
# them carefully.
#
# Variable instructions:
#
# DEST_VOL_AGENT Modify this variable in the
# $JAVA_HOME/bin/java ... line below by
# replacing "VALUE" with the path to where
# the Language Agent files are installed.
#
# Paths are case-sensitive in Linux!
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Initializing the environment for the Standalone
# Package Processor:
#
CPK_HOME="/usr/tmp/zdm7sp1"
ZFSCLASSPATH=.
ZFSCLASSPATH="$ZFSCLASSPATH:$JAVA_HOME/lib/rt.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/AdvSnmp.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/zenCommon.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/ZCommon.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/ZCommonRes.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/smanager.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/xmlrpc.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/xmlrpcext.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/ni.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/novell_sns.jar"
ZFSCLASSPATH="$ZFSCLASSPATH:$CPK_HOME/java/zenloader.jar"
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Running the Standalone Package Processor:
#
# The following command line launches the cpk
# at log level 6.
env LD_LIBRARY_PATH=$CPK_HOME/java $JAVA_HOME/bin/java -Djava.net.preferIPv4Stack=true -cp "$ZFSCLASSPATH" com.novell.application.servman.services.softwarepackage.PackageProcessor /usr/tmp/zdm7sp1/ZDM7-OESL-BCK-SP1IR1.cpk 6