You can use the ZENworks Control Center or the zlman command line utility to create bundles. The following procedure explains how to create a bundle using the ZENworks Control Center. If you prefer the zlman command line utility, see the Bundle Commands section of zlman (1) Novell.
In the ZENworks Control Center, click the
tab.In the
list, click , then click to display the Select Bundle Type page.Select
(the default option), then click to display the Name and Description page.For information about the other bundle types, see Section VI, Preboot Services, Section 23.0, Using Dell Update Package Bundles, and Section 20.3, Creating File Bundles.
Fill in the fields:
Name: (Required) Provide a unique name for the RPM bundle. The name you provide displays in the ZENworks Control Center interface, which is the administrative tool for ZENworks Linux Management.
For more information, see Section C.0, Naming Conventions in the ZENworks Control Center.
Display name: Provide a name that displays for users in the ZENworks Linux Management Update Client (installed on managed devices during the ZENworks Agent installation) when they update software. The display name can be the same name that you provided in the
field; however, you can choose to make the name more intuitive for users.Folder: Type the name or browse to the folder that this bundle will be created in. Folders display in the ZENworks Control Center. The default folder is /Bundles.
Ensure this Bundle Stays Installed on all Assigned Devices (Ensure Persistence): (Selected by default.) If this option is selected, the packages inside the RPM bundle are initially installed according to the bundle's schedule and the packages are reinstalled on assigned devices if they are removed in the future. If this option is not selected, the packages are installed initially according to schedule, but the packages are not checked to see if they have been removed from assigned devices and the packages are never reinstalled. This option applies to RPM bundles only; it does not apply to preboot, file, or Dell Update Package (DUP) bundles.
Description: Provide a short description of the bundle's contents. This description displays in the ZENworks Control Center and in the ZENworks Linux Management Updater applet, which is the user interface for updating software.
Click
to display the Packages page.Use the Packages page to upload RPM packages to the bundle or to import RPM packages contained in the ZENworks Linux Management package repository. The packages that you upload to a bundle must already exist on the local device on which you are running the ZENworks Control Center. During the bundle-creation process, packages are copied to the ZENworks Server and placed in the package repository (/var/opt/novell/zenworks/pkg-repo).
Add the RPM packages to include in the bundle using the
and the options.You can use either the
option or the option, or you can use both options, depending on your needs.After you upload or import packages into the list, you can view the details of a selected package by clicking the underlined link in the
column. You can remove a selected package from the list by using the option.(Optional) Click
> to open the RPM File Upload dialog box, then fill in the fields:Add file: Click /var/opt/novell/zenworks/pkg-repo directory on the ZENworks Server.
to open the RPM File Upload dialog box. Browse to and select the RPM packages that you want to add to the bundle. The RPM packages must be located on the local device on which you are running the ZENworks Control Center. Click to upload the packages to the ZENworks Linux Management server. The package repository is theTarget platforms: Select one or more platforms from the Shift+click or Ctrl+click to select multiple platforms.
list. You can pressThe target platform is the platform of the devices that the package will be installed on. ZENworks Linux Management does not auto-detect the target platform by examining the RPM packages because RPM packages are not limited to working on only one platform; RPM packages can be created to work on multiple platforms. For this reason, the administrator must select the platform of the target devices.
NOTE:Bundles can be installed on any platform; bundles are not platform-specific. The packages contained in bundles are platform-specific and can be installed only on devices supporting the specified platform.
You can, however, create a bundle containing several packages that apply to various Linux platforms. When the bundle is assigned to a group of devices or to a folder that contains devices running on different platforms, each managed device gets the appropriate packages installed.
For example, you could create a bundle containing two packages: PackageA and PackageB. PackageA applies to suse-93-i586, rhel-3es-i386, and sles-9-i586. PackageB applies to rhel-3es-i386 only. If you assign the bundle to a folder containing three devices, with each device running one of these platforms, the bundle will be installed on all three devices; however, PackageA will be installed on all three devices and PackageB will be installed only on the device running rhel-3es-i386.
For this reason, the ZENworks Control Center might indicate that a bundle is effective for a device even if one or several packages contained in the bundle was not installed.
If you want a bundle to be platform-specific, you must use a script and have the script verify the target platform before deploying and installing the bundle.
Install type: Use the Install type drop-down list to choose from the following installation options:
Auto-detect: Automatically detects whether the bundle is already installed on assigned devices and either installs the bundle or updates an existing bundle, if necessary. Basically, the
option determines whether the or the option functionality (explained below) is best, and then performs that operation. Any kernel packages are installed using the option functionality; other packages are installed using the option functionality. This is the default option and should be used in most situations.Update: Updates the packages on assigned devices if the packages in the bundle are newer than what is installed on the devices. If the packages are not installed on the assigned devices, ZENworks Linux Management installs them. With the
option, you don't need to worry whether a package is already installed because the package is either updated (if needed) or installed on the device. Parallel installation of a package is not possible with the option.Install: Installs the bundle on all assigned devices. If previous versions of the packages exist on the devices, ZENworks Linux Management does not update the existing packages. As a result, packages can be installed multiple times (parallel installations), which might cause overlap issues. This option is rarely used; you should use the default option,
, under most circumstances. You should use this option almost exclusively to install kernel packages.Freshen (upgrade only if installed): Use this option to transact a package only if a previous version of the package is already installed on the device. You can use the
option in conjunction with the , , or options.(Optional) Click
> to open the Package Import dialog box, then select the packages to import. You can use the Search options on the right side of the Package Import dialog box to locate packages.Select an install type from the drop-down list:
Auto-detect: Automatically detects whether the bundle is already installed on assigned devices and either installs the bundle or updates an existing bundle, if necessary. Basically, the
option determines whether the or the option functionality (explained below) is best, and then performs that operation. Any kernel packages are installed using the option functionality; other packages are installed using the option functionality. This is the default option and should be used in most situations.Update: Updates the packages on assigned devices if the packages in the bundle are newer than what is installed on the devices. If the packages are not installed on the assigned devices, ZENworks Linux Management installs them. With the
option, you don't need to worry whether a package is already installed because the package is either updated (if needed) or installed on the device. Parallel installation of a package is not possible with the option.Install: Installs the bundle on all assigned devices. If previous versions of the packages exist on the devices, ZENworks Linux Management does not update the existing packages. As a result, packages can be installed multiple times (parallel installations), which might cause overlap issues. This option is rarely used; you should use the default option,
, under most circumstances. You should use this option almost exclusively to install kernel packages.(Optional) Select the
option.The
option transacts a package only if a previous version of the package is already installed on the device. You can use the option in conjunction with the > , or options.Click
to display the Scriptable Actions page.The Scriptable Actions page lets you configure the script engine that you want to use and the scripts you want to execute.
As part of the process of distributing a bundle, ZENworks Linux Management can launch scriptable actions that will be executed before and after the bundle is distributed, installed, and uninstalled. For example, you can get data files from a Web server before installing an application that uses them, run applications, and so forth.
NOTE:You can configure multiple scripts for each bundle. Repeat the configuration process as many times as desired, choosing different options from the
and drop-down lists, explained below.Click
to display the New Scriptable Action dialog box.Fill in the fields:
Scriptable Action: Select one of the following actions:
Pre-distribution/post-distribution: Lets you perform tasks that must be done before or after a bundle is deployed to assigned devices. Deploying a bundle means that the packages or files inside the bundle are downloaded from the ZENworks server to the assigned devices. The packages and files are not yet available for use.
Pre-installation/post-installation: Lets you perform tasks that must be done before or after a bundle is installed. Installing a bundle means that the software packages and files are installed to assigned devices and available for use.
Pre-uninstallation/post-installation: Lets you perform tasks that must be done before a bundle is uninstalled. Uninstalling a bundle means that the software packages and files are uninstalled on assigned devices and no longer available for use.
Executable type: Select one of the following actions:
Script: Specify a shell script that executes on assigned devices.
Binary: Specify an executable program that runs on assigned devices.
Java: Specify a Java executable class that launches on assigned devices.
Maximum waiting time: Select one of the following options:
Do not wait: Specify that the ZENworks Management Daemon (ZMD) does not block while the script completes.
Wait until the program completes the execution: Specify that ZMD blocks until the script completes.
Wait for _ sec: Specify that ZMD blocks until the script completes and the specified number of seconds expires.
(Conditional) If you chose Step 9.b, fill in the fields:
inScript to run: Choose an option from the drop-down list:
Specify a file: Lets you specify a file that is already on the device on which you are running the ZENworks Control Center. If you choose this option, fill in the remaining fields in the dialog box, as described below.
Define your own script: Lets you type a script in the ZENworks Control Center. If you choose this option, a text box displays where you type your script. This script is delivered to the assigned devices as part of the bundle and is executed in the standard device shell environment. With this option, there are no additional options to configure.
Script filename: (Required) Specify the path to the script file on the target device, for example, /usr/local/xyz.pl.
Script parameters: Specify any additional parameters you want to place on the command line after the script filename is specified. This results in parameters being passed to your executable script.
Script engine: (Required) Specify the interpreter that launches to run your script, for example, /usr/local/bin/perl.
Script engine parameters: Specify any parameters you want included on the command line when the script engine launches.
(Conditional) If you chose Step 9.b, fill in the fields:
inExecutable filename: (Required) Specify the path to the executable file. This file must already exist on the device on which you are running the ZENworks Control Center.
Executable file parameters: Specify any additional parameters you want to place on the command line when the executable file launches.
(Conditional) If you chose Step 9.b, fill in the fields:
inJava program name: (Required) Type the class path to the class file you want to launch, for example, com.novell.TestProg.
Program parameters: Specify any additional parameters to pass to the Java class at execution time.
Java Runtime Executable (JRE): (Required) Specify the path to the JRE that launches the class, for example, /usr/local/JRE/bin/java. The JRE must be already installed on the assigned device.
JRE parameters: Specify any parameters you want to pass to the JRE system, for example, -cp/usr/lib/tools.jar.
Click
to display the Summary page, then review the information on the Summary page, making any changes to the bundle settings by using the button as necessary.Depending on your needs, you can create the bundle now or you can configure additional options for this bundle.
Click Section 20.4, Assigning Bundles.
to create the bundle as configured per settings on the Summary page. If you click , the bundle is created but it does not have devices assigned, a schedule, and so forth. At some point in the future, you need to configure additional options for the bundle by continuing withor
Click
to display the Bundle Assignment page to perform the following tasks:Specify assignments for this bundle
Specify special flags, such as flags to specify to remove conflicting packages or trying a dry run to test a bundle's deployment
Specify the deployment schedule for this bundle
Specify the installation schedule for this bundle
Specify groups for this bundle
Assign the bundle to the devices that you want to distribute the bundle to.
Click
to browse for and select the appropriate Server or Workstation objects.You can also select Folder or Group objects.
Click the down-arrow next to
or to expand the list, then click the underlined link in the column to select the desired objects and display their names in the list box.Assigning a bundle to a Folder or Group object is the preferred method of assigning the bundle. Assigning the bundle to a large number of objects (for example, more than 250) might cause increased server utilization.
Click
.Click
to display the Bundle Options page.(Optional) Specify the desired Special Flag options:
Remove conflicting packages: Select this option to specify that conflicting packages are uninstalled from devices before installing new packages. By default, this option is selected, so conflicting packages (previous versions of the same package, for example) are uninstalled before the current package is installed. If this option is not selected, packages are not installed if a conflict is detected.
Attempt a dry run: Select this option to have ZENworks Linux Management perform a test to determine if the RPM bundle can be successfully deployed. If there are any issues that could prevent the RPM bundle from being deployed, you can look at the log file to troubleshoot the bundle-creation process. The log file is located in /var/opt/novell/log/zenworks.
A successful dry run ensures that the bundle can be successfully deployed or installed on assigned devices (packages are available, dependencies are met, etc.).
Bundle lock: Select this option to lock bundles on the managed devices from the server.
You can also use the command line utility to lock the bundles. The Bundle lock option is only available during the assignment of bundle or bundle groups to the managed devices. For more information, see Section 21.2, Locking and Unlocking a Bundle on a Managed Device
Specify the desired Scheduling options:
Deploy and install at a scheduled time: Use this option to schedule the deployment and installation of the bundles contained in this bundle group. Click the
icon to choose the schedule type.The following schedules are available. Click the link in the left column in the table below for more information about each schedule type and its options.
Deploy and install at separate scheduled times: Use this option to specify an optional deployment schedule separate from the installation schedule. If you select this option, you can set up a deployment schedule and an installation schedule. If you do not select this option, the packages will be deployed and installed on assigned devices according to the schedule. Click the
icon to choose the schedule type.The following schedules are available. Click the link in the left column in the table below for more information about each schedule type and its options.
The
option is not set by default. In most situations, there is no need to deploy and install packages inside bundles at different times. You can, depending on your needs, schedule deployment and installation at different times to conserve network bandwidth or to perform the actions at more convenient times for users.The deployment schedule determines when the packages and files inside the bundle are downloaded from the server to the assigned devices. The packages and files are not yet installed and available for use. The installation schedule determines when the packages and files are installed on assigned devices so the packages will be available for use.
Deploy and install immediately (when this wizard completes): Select this option to specify that the packages inside the bundle deploy and install immediately when the Wizard completes, providing that the assigned devices are online. The packages inside the bundle deploy to and install on devices that are not online when they refresh.
Click
to display the Bundle Groups page.(Optional) Click
to open the Select Groups dialog box, then click the underlined links in the Name column to select the desired bundle groups and display their names in the Selected list box.Using bundle groups eases administration efforts by letting you group several bundles so you can use common assignments, schedules, and so forth, rather than configuring these settings for each bundle you create.
Click
to display the Summary page.Review the information on the Summary page, making any changes to the bundle settings by using the
button as necessary. Click to create the bundle as configured per settings on the Summary page.Click
.