18.0 Package and Content Management Overview

Novell® ZENworks® Linux Management lets you install packages or files using either a bundle or a catalog. Content included in a bundle that is directly assigned is considered mandatory; the software or files are installed on all assigned devices. A catalog is a collection of RPM bundles or Dell Update Package bundles; content included in a catalog is usually considered optional.

ZENworks Linux Management also provides content replication to replicate content (packages, Dell Update Packages, bundles, and catalogs) from one server to other servers in your system.

The content replication feature in ZENworks Linux Management lets you replicate content from the primary ZENworks server to secondary servers in a single ZENworks Management Zone.

The mirroring feature (zlmmirror, a command line utility) lets you replicate content between Management Zones or from remote servers. You use mirroring to obtain Dell Update Packages (DUPs) from the Dell FTP site or from a CD obtained from Dell, RCE services, and YOU patches.

You can use the ZENworks Control Center or the zlman command line utility to create and modify packages, bundles, and catalogs. The procedures in this section explain how to perform these tasks using the ZENworks Control Center. If you prefer the zlman command line utility, see zlman (1).

The following sections contain additional information:

To distribute and install RPMs to managed devices, you need to ensure that all packages the RPMs depend on, and all packages dependent on the RPM are also imported to the ZLM server. For example, to distribute updates to the SLES 10 devices mirrored from updates.novell.com, you need to ensure that all the packages from the SLES 10 media are imported to the ZLM server. You need not assign the bundles or catalogs containing the dependent RPMs to the managed devices.

You can upload packages in bulk into the ZENworks server using a script. A sample script is as follows. You can customize it according to your requirements.

#!/bin/bash
#
# Run this program from a directory filled with RPMS to load them into a bundle in ZLM.
#
# All rpms, except src and nosrc rpms, in the directory and all of its subdirectories will be loaded into the bundle and architecture indicated below.
#
# Don't forget to enter your admin password below and update the bundlename and architecture below.
#
if [ $# -lt 3 ]
then
 echo "Usage :: zlmload.sh <bundle_name> <arch> <admin_password>"
 echo "Example :: zlmload.sh SLES-9-Distro sles-9-i586 novell"
exit
fi

# Create the bundle to load into
zlman -V -U administrator -P$3 bc $1
 
# loop through these directories and load all of the rpms
STARTDIR=`pwd`
STARTTIME=`date`
time \
for dir in `find . |grep .rpm |grep -v src.rpm|grep -v nosrc.rpm|awk -F / '{NF--; OFS="/"; print $0}'| sort | uniq`; do
  cd $STARTDIR
  cd $dir
  echo "Loading RPM's from `pwd`"
  zlman -V -U administrator -P$3 bap $1 $2 *.rpm;
done
ENDTIME=`date`

echo "Load started at $STARTTIME"
echo "and ended at $ENDTIME"