20.3 Creating File Bundles

You can use the ZENworks Control Center or the zlman command line utility to create file bundles. The following procedure explains how to create a file bundle using the ZENworks Control Center. If you prefer the zlman command line utility, see the Bundle Commands section of zlman (1).

  1. In the ZENworks Control Center, click the Bundles tab.

  2. In the Bundle list, click New, then click Bundle to display the Select Bundle Type page.

    File Bundle Selection page
  3. Select File bundle, then click Next to display the Name and Description page.

    For more information about the other two bundle types, see Section 20.2, Creating RPM Bundles and Section VI, Preboot Services.

    Step 2: Name and Description page
  4. Fill in the fields:

    • Name: (Required) Provide a unique name for the file 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 when they update software. The display name can be the same name that you provided in the Name 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.

    • Description: Provide a short description of the bundle's contents. This description displays in the ZENworks Control Center interface and in the ZENworks Linux Management Updater applet, which is the user interface for updating software.

  5. Click Next to display the Files page to add the files to include in this bundle.

    Files page
  6. Add the files to include in the bundle using the Upload and the Import from bundle options.

    The files that you upload to a bundle must already exist on the local device on which you are running the ZENworks Control Center. You can use either the Upload option or the Import from bundle option, or you can use both options, depending on your needs.

    After you upload or import files into the list, you can remove a selected package from the list by using the Remove option.

    1. (Optional) Click Add > Upload to open the File Upload dialog box, then fill in the fields:

      File Upload dialog box

      Destination: Specify the full path of the destination where the files will be deployed on the assigned devices.

      Permissions: Specify the UNIX file permissions to be applied to the files after deployment. A reasonable standard for file permissions is 644. This option is not applicable for compressed files.

      Unpack: Select Unpack to indicate that the files are compressed and should be decompressed and extracted on the assigned devices. If you select Unpack, the Permissions option is not applicable. The supported compression formats are tar.gz and tar.bz2.

      Target platforms: Select one or more platforms from the Target Platforms list. You can press Shift+click or Ctrl+click to select multiple platforms.

      File to upload: Browse to and select the files that you want to add to the bundle. The files must be located on the local device on which you are running the ZENworks Control Center. Click OK to upload the files to the ZENworks Linux Management server.

      If an existing file bundle is upgraded, and during upgrade if you remove one or more files from the bundle, the newer version of the bundle is deployed on the managed device but the files removed from the file bundle is not removed from the managed device. To remove files deployed through a file bundle, disassociate the file bundle from the managed device.

    2. (Optional) Click Add > Import from bundle to open the File Import dialog box, fill in the fields, then click OK.

      File Import dialog box

      The ZENworks Server contains all of the files that are included in bundles defined within your Management Zone. The package repository is the /var/opt/novell/zenworks/pkg-repo directory on the ZENworks Server. When you add a file or RPM package to a bundle, the file or package is automatically uploaded to the package repository.

      Bundle: Browse to and select the bundle you want to import packages from.

      File list: Select the files to import.

  7. Click Next 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.

    Scriptable Actions page

    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 Scriptable Action and Executable Type drop-down lists, explained below.

  8. Click New to display the New Scriptable Action dialog box.

    New Scriptable Action dialog box
  9. Fill in the fields:

    1. 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.

    2. 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.

    3. 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.

    4. (Conditional) If you chose Script in Step 9.b, fill in the fields:

      • Script 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 on 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.

    5. (Conditional) If you chose Binary in Step 9.b, fill in the fields:

      • Executable 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.

    6. (Conditional) If you chose Java in Step 9.b, fill in the fields:

      • Java 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.

  10. Click Next to display the Summary page, then review the information on the Summary page, making any changes to the bundle settings by using the Back button as necessary.

    Depending on your needs, you can create the bundle now or you can configure additional options for this bundle.

  11. Click Finish to create the bundle as configured per settings on the Summary page. If you click Finish, 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 with Section 20.4, Assigning Bundles.

    or

    Click Next 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

    Bundle Assignments page
  12. Assign the bundle to the devices that you want to distribute the bundle to.

    1. Click Add to browse for and select the appropriate Server or Workstation objects.

      You can also select Folder or Group objects.

    2. Click the down-arrow next to Servers or Workstations to expand the list, then click the underlined link in the Name column to select the desired objects and display their names in the Selected 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.

    3. Click OK.

  13. Click Next to display the Bundle Options page.

    Bundle Options page
  14. (Optional) Specify the desired Special Flag options:

    The Remove conflicting packages and Attempt a dry run special flags are not applicable for File Bundles.

  15. 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 Schedule 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.

      Schedule Type

      Description

      Date Specific

      Select one or more dates on which to install the bundle on assigned devices and set other restrictions that might apply.

      Relative to Refresh

      Schedule when the bundle is installed, either immediately after the device refreshes or a specified amount of time after the device refreshes. You can also specify whether the bundle's installation is repeated and specify a time period when you do not want the bundle installed to help minimize network traffic during that time.

    • 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 Schedule 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.

      Schedule Type

      Description

      Date Specific

      Select one or more dates on which to install the bundle on assigned devices and set other restrictions that might apply.

      Relative to Refresh

      Schedule when the bundle is installed, either immediately after the device refreshes or a specified amount of time after the device refreshes. You can also specify whether the bundle's installation is repeated and specify a time period when you do not want the bundle installed to help minimize network traffic during that time.

      The Deploy and install at separate scheduled times 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 group deploy and install immediately when the Create New Group Wizard completes, providing that the assigned devices are online. The packages inside the bundle group deploy to and install on devices that are not online when they refresh.

  16. Click Next to display the Bundle Groups page.

    Bundle Groups page
  17. (Optional) Click Add 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.

  18. Click Next to display the Summary page.

  19. Review the information on the Summary page, making any changes to the bundle settings by using the Back button as necessary. Click Finish to create the bundle as configured per settings on the Summary page.

  20. Click OK.