Sun Management Center Change Manager 1.0.1 Administration Guide

- Previous: Creating the Archive Parameters File
- Next: Using flar to Create a Customizable Solaris Flash Archive

## Processing the Archive Parameters File With Finish Scripts

As the final step in software stack deployment, Change Manager runs the finish scripts contained in the Solaris Flash archive. Change Manager provides a script that executes all user-supplied finish scripts that it finds in the `/etc/ichange.d` directory of the newly deployed software stack. This script provides access to the values that the user specified in the archive parameters file.

Following is an example of a finish script that processes the archive parameters file created in the previous section:

    #! /bin/sh

    case `cmgetprop telnet` in
    [Nn]*)  telnet='#'      ;;
    *)      telnet=         ;;
    esac

    case `cmgetprop ftp` in
    [Nn]*)  ftp='#'         ;;
    *)      ftp=            ;;
    esac

    case `cmgetprop finger` in
    [Nn]*)  finger='#'      ;;
    *)      finger=         ;;
    esac

    ed $SI_ROOT/etc/inetd.conf <</
    /^#*telnet/s/^#*/$telnet/
    /^#*ftp/s/^#*/$ftp/
    /^#*finger/s/^#*/$finger/
    w
    q
    /

    exit 0

You might use two or more finish scripts to process the parameters in the `ic_cfgparams` file. Ensure that the `ic_cfgparams` file contains all of the parameters that the scripts process.

Store all the finish scripts in the `/etc/ichange.d` directory prior to creating the Solaris Flash archive of the master system. The finish scripts must be part of the archive. If you have more than one finish script, they are processed in lexical order by file name.

Set the finish script permissions to 755. If the scripts are not executable, the Solaris Flash archive cannot be customized.

Finish scripts use the following elements:

- `SI_ROOT` – This environment variable specifies the mount point of the file system being installed or updated.

  For example, `$SI_ROOT/etc/passwd` points to the password file on the boot environment currently being installed.

- `cmgetprop` – This tool is used by finish scripts to determine the current value of an archive parameter. Finish scripts use a `$PATH` that includes the `cmgetprop` command. See the cmgetprop(1MCM) man page.

  The following example is based on the `ic_cfgparams` file described in Creating the Archive Parameters File. You might use `cmgetprop` as follows:

      enable_telnet=`cmgetprop telnet`

  This command line assigns the value associated with the `telnet` parameter to the shell variable `enable_telnet`.

  The value of a parameter might come from one of the following sources:

  - Default value specified in the archive parameters file (`ic_cfgparams`)

  - Shared profile associated with the managed host

  - Host properties of the managed host

  You can use the browser interface to supply and modify parameter values on the shared profile property page or the managed host property page. You can also supply and modify parameter values by using the `changemgr fileset` and `changemgr hostset` commands of the command-line interface.

- Previous: Creating the Archive Parameters File
- Next: Using flar to Create a Customizable Solaris Flash Archive

- © 2010, Oracle Corporation and/or its affiliates