HPlogo HP-UX Reference Volume 2 of 5 > s

swinstall(1M)

Hewlett-Packard Company
» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

swinstall, swcopy — install and configure software products; copy software products for subsequent installation or distribution

SYNOPSIS

swinstall [XToolkit Options] [-i] [-p] [-r] [-v] [-c catalog] [-C session_file] [-f software_file] [-J jobid] [-Q date] [-s source] [-S session_file] [-t target_file] [-x option=value] [-X option_file] [software_selections] [@ target_selections]

swcopy [XToolkit Options] [-i] [-p] [-v] [-C session_file] [-f software_file] [-J jobid] [-Q date] [-s source] [-S session_file] [-t target_file] [-x option=value] [-X option_file] [software_selections] [@ target_selections]

Remarks

  • swinstall and swcopy have an interactive user interface. You can invoke it by typing swinstall, swcopy, or by including the -i option on the command line.

  • SD-UX commands are included with the HP-UX operating system and manage software on the local host only.

  • To install and manage software simultaneously on multiple remote hosts (including HP-UX, other UNIX® platforms, Windows NT®, and PCs) from a central controller, you must purchase the HP OpenView Software Distributor which provides extended software management capabilities. Information specific only to the OpenView product is marked with a heading similar the following:

    • The following information applies to HP OpenView Software Distributor only.

DESCRIPTION

The swinstall command installs the software_selections from a software source to either the local host or, in the case of the HP OpenView Software Distributor product, to one or more target_selections (root filesystems). By default, the software is configured for use on the target after it is installed. (The software is not configured when installed into an alternate root directory.)

The swcopy command copies or merges software_selections from a software source to one or more software depot target_selections These depots can then be accessed as a software source by the swinstall command.

Updating the Operating System

To perform an OS update with swinstall (or to reinstall SD from media), you must use first use the swgettools command to get the newest version of swinstall.

CAUTION: You MUST use the latest version of swinstall to update your system to the latest version of HP-UX. If you use a previous version of swinstall, the update will fail.

The os_name and os_release options let you specify the desired OS name and release during an HP-UX update. (These options should only be specified from the command line.) The SD readme file lists correct syntax for these options. You can display the readme file by entering:

swlist -a readme -l product SW-DIST

The match_target option, if set to true, selects software by locating filesets on the source that match the target system's installed filesets.

Refer to the Default Options section of this manual page, swgettools(1M), and Installing HP-UX 11.0 and Updating HP-UX 10.x to 11.0 for more information.

Installing Kernel Software

In HP-UX, the kernel installation process requires that the system boots using the kernel at /stand/vmunix. Make sure that your system is booted to the /stand/vmunix kernel before you install any kernel software or perform an operating system update.

Installing PC Software

  • The following paragraph applies only to HP OpenView Software Distributor.

For PC software installation, the swinstall command first copies or merges software_selections from a software source to one or more PC target_selections (PC controllers). Each PC controller is a fanout server, providing the software_selections (copied to it) to PC targets. At each PC target an SD PC agent process performs the actual installation.

Features and Differences between swinstall and swcopy

The key difference between swinstall and swcopy is that swinstall installs software for actual (or eventual) use, while swcopy copies software into a depot, making it available as a source for installation by swinstall.

NOTE: To copy to a tape, see the swpackage(1M) manpage.

Other features (differences) include:

  • The swinstall command executes several vendor-supplied scripts during the installation and configuration of the software_selections. The swcopy command does not execute these scripts. The swinstall command supports the following scripts:

    request

    a script that asks the user questions and stores responses in a response file. The response file can then be used by configuration or other scripts.

    checkinstall

    a script executed during the analysis of a target_selection, it checks that the installation can be attempted. If this check fails, the software product is not installed.

    preinstall

    a script executed immediately before the software's files are installed.

    postinstall

    a script executed immediately after the software's files are installed.

    configure

    a script executed during the configuration of a target_selection, it configures the target for the software (and the software for the target). The preinstall and postinstall scripts are not intended to be used for configuration tasks. They are to be used for simple file management needs such as removing obsolete files from the previous revision (which was just updated).

    unpreinstall

    a script executed immediately after the software's actual files are restored if the software install will fail and the autorecover_product option is set to true. The script undoes the steps performed by preinstall script.

    unpostinstall

    a script executed immediately before the software's actual files are restored if the software install failed and the autorecover_product option is set to true. The script undoes the steps performed by postinstall script.

  • When a depot is created or modified using swcopy, catalog files are built that describe the depot (as opposed to the Installed Products Database (IPD) files that are built by the swinstall command).

  • By default, the swinstall command only allows the selection of compatible software from the source. This constraint ensures that the architecture of the software matches that of the target_selections. No compatibility checks are performed by the swcopy command. (A depot can be a repository of software targeted for a variety of architectures and operating systems.)

  • By default, swinstall supports updates to higher revisions of software. If a software_selection of the same revision is already installed, swinstall will not reinstall it. If a software_selection has a lower revision than the same software which is already installed, swinstall will not reinstall it. (The user can override these behaviors with control options.)

  • The swinstall command creates hard links and symbolic links as specified for the software. If it encounters a symbolic link where it expected a regular file, swinstall follows the symbolic link and updates the file to which it points.

  • The swinstall command does not remove a product's current files before installing the new ones. A fileset's install scripts can do that, if necessary. Files being replaced are overwritten unless they are in use. If in use, they are unlinked or moved to #<file>. If the autorecover_product option is set to true; all files are saved to #<file>, and restored if the install fails.

  • The swinstall command supports kernel building scripts and rebooting. Before or after software that modifies the kernel is installed or updated, swinstall executes system-specific scripts to prepare for or build the new version of the kernel. The remaining software_selections are then installed. These scripts are defined in swagent options and include: install_setup_cmd, system_prep_cmd, kernel_build_cmd, and install_cleanup_cmd.

    After software that requires a system reboot is installed or updated, swinstall automatically reboots the system. The reboot command is defined by the swagent option: reboot_cmd.

    When updating the operating system, you must use first use the swgettools command to get the newest version of swinstall. (See swgettools(1M) for more information.) Then you should install kernel software first to ensure that a new kernel can be generated before the rest of the operating system is updated. After all the software_selections are updated or installed, swinstall reboots using the new kernel, then executes the configure scripts for each software_selection. After these scripts complete, it reboots the system again to restore it to its normal state.

  • No kernel building or system reboots are performed by swcopy.

  • Both the swinstall and swcopy commands perform various checks prior to installing or copying the software_selections, for example disk space analysis.

Options

swinstall and swcopy support the following options:

XToolKit Options

The swinstall and swcopy commands support a subset of the standard X Toolkit options to control the appearance of the GUI. The supported options are: -bg, -background, -fg, -foreground, -display, -name, -xrm, and -synchronous. See the X(1) manual page by typing man X for a definition of these options.

-i

Runs the command in interactive mode by invoking the Graphical User Interface (GUI). [Note: The GUI is only supported on HP-UX]. The SD-UX swinstall, swcopy, and swremove commands also support an interactive terminal user interface (text based) in which screen navigation is done with the keyboard (no mouse).

-l

(Applies only to HP-UX 10.X.) Runs the command in linkinstall mode which makes software installed under a server's shared root available to a diskless client's private root (HP-UX only).

When run in the linkinstall mode, swinstall:

  • Creates NFS mounts to the software to make it accessible from the target. This may involve delayed mounting for alternate roots.

  • Modifies the target's fstab file.

  • Modifies the source's exports file to add mount permission for the target.

Mounts are created by examining the share_link product attribute. Not all products support linkinstall. Some products may be visible without creating a new mount if they reside under an old one.

-p

Previews an install task by running the session through the analysis phase only.

-r

(Optional) Causes the command to operate on target_selections that are alternate root directories (root filesystems other than /).

Note that you cannot use this option to relocate software during installation. You must use the l=location syntax in the software selection component.

-v

Turns on verbose output to stdout. (The swinstall or swcopy logfile is not affected by this option.) Verbose output is enabled by default; see the verbose option below.

-c catalog

Specifies the pathname of an exported catalog which stores copies of the response file or files created by a request script (if -x ask=true or -x ask=as_needed). The response files are also stored in the Installed Products Database after the installation process is complete.

-C session_file

Save the current options and operands to session_file. You can enter a relative or absolute path with the file name. The default directory for session files is $HOME/.sw/sessions/. You can recall a session file with the -S option.

-f software_file

Read the list of software_selections from software_file instead of (or in addition to) the command line.

-J jobid

(Applies only to HP OpenView Software Distributor.)

Executes the previously scheduled job. This is the syntax used by the daemon to start the job.

-Q date

(Applies only to HP OpenView Software Distributor.)

Schedules the job for this date. The date's format can be changed by modifying the file /var/adm/sw/getdate.templ.

-s source

Specifies the source depot (or tape) from which software is installed or copied. The default source type is directory. The syntax is:

[host][:][/directory] A host may be specified by its host name, domain name, or internet address. A directory must be specified by an absolute path.

-S session_file

Execute swinstall or swcopy based on the options and operands saved from a previous session, as defined in session_file. You can save session information from a command-line session with the -C session_file option.

-t target_file

(Applies only to HP OpenView Software Distributor.)

Read the list of target_selections from target_file instead of (or in addition to) the command line.

-x option=value

Set the session option to value and override the default value (or a value in an alternate option_file specified with the -X option). Multiple -x options can be specified.

-X option_file

Read the session options and behaviors from option_file.

Operands

The swinstall and swcopy commands support two types of operands: software selections followed by target selections. These operands are separated by the "@" (at) character. This syntax implies that the command operates on "selections at targets".

Software Selections

The selections operands consist of software_selections.

swinstall and swcopy support the following syntax for each software_selection:

bundle[.product[.subproduct][.fileset]][,version] product[.subproduct][.fileset][,version]

The version component has the form:

[,r <op> revision][,a <op> arch][,v <op> vendor] [,c <op> category][,l=location][,fr <op> revision] [,fa <op> arch]

  • location applies only to installed software and refers to software installed to a location other than the default product directory.

  • fr and fa apply only to filesets.

  • The <op> (relational operator) component can be of the form:

    • ==, >=, <=, <, >, or !=

    which performs individual comparisons on dot-separated fields.

    For example, r>=B.10.00 chooses all revisions greater than or equal to B.10.00. The system compares each dot-separated field to find matches.

  • The = (equals) relational operator lets you specify selections with the shell wildcard and pattern-matching notations:

    • [ ], *, ?, !

    For example, the expression r=1[01].* returns any revision in version 10 or version 11.

  • All version components are repeatable within a single specification (e.g. r>=A.12, r<A.20). If multiple components are used, the selection must match all components.

  • Fully qualified software specs include the r=, a=, and v= version components even if they contain empty strings. For installed software, l= is also included.

  • No space or tab characters are allowed in a software selection.

  • The software instance_id can take the place of the version component. It has the form:

    • [instance_id]

    within the context of an exported catalog, where instance_id is an integer that distinguishes versions of products and bundles with the same tag.

The \* software specification selects all products. It is not allowed when removing software from the root directory /.

Target Selection

The swinstall and swcopy commands support the following syntax for each target_selection. The : (colon) is required if both a host and directory are specified.

[host][:][/directory]

A host may be specified by its host name, domain name, or internet address. A directory must be specified by an absolute path.

For linkinstall, on HP-UX 10.* systems: if the [directory] part of the selection is a relative path, then the value of default.shared_root=true is pre-pended for sources and the value of default.private_root=true is pre-pended for targets. These are normally /export/shared_roots and /export/private_roots, respectively.

PC Targets

  • The following applies only to HP OpenView Software Distributor.

The swcopy command supports the syntax:

[pc_controller]

and the swinstall command supports the syntax:

[pc_controller][::][pc_target]

This syntax applies only to PCs. The PC controller is a fanout server. The PC target may be a PC machine, user, or group name. Valid targets for a PC controller can be listed using swlist -l machine|user|group. PC targets can be further qualified for whether they refer to a PC machine, user, or group type with the following syntax:

name[,t=type][,k=address]

The type only needs to be specified if a name applies to more than one machine, user, or group. (The address is used internally for machines and is generally not needed on the command line.) The keyword * can be substituted for pc_target, specifying an installation to all target machines:

@ pc_controller::*

EXTERNAL INFLUENCES

Default Options

In addition to the standard options, several SD behaviors and policy options can be changed by editing the default values found in:

/var/adm/sw/defaults

the system-wide default values.

$HOME/.swdefaults

the user-specific default values.

Values must be specified in the defaults file using this syntax:

[command_name.]option=value

The optional command_name prefix denotes one of the SD commands. Using the prefix limits the change in the default value to that command. If you leave the prefix off, the change applies to all commands.

You can also override default values from the command line with the -x or -X options:

command -x option=value command -X option_file

The following section lists all of the keywords supported by the swinstall and swcopy commands. If a default value exists, it is listed after the "=".

agent_auto_exit=true

Causes the target agent to automatically exit after Execute phase, or after a failed Analysis phase. This is forced to false when the controller is using an interactive UI, or when -p (preview) is used. This enhances network reliability and performance. The default is true - the target agent automatically exits when appropriate. If set to false, the target agent will not exit until the controller ends the session.

agent_timeout_minutes=10000

Causes a target agent to exit if it has been inactive for the specified time. This can be used to make target agents more quickly detect lost network connections since RPC can take as long as 130 minutes to detect a lost connection. The recommended value is the longest period of inactivity expected in your environment. For command line invocation, a value between 10 minutes and 60 minutes is suitable. A value of 60 minutes or more is recommended when the GUI is used. The default of 10000 is slightly less than 7 days.

allow_downdate=false

(Applies only to swinstall.) Prevents the installation of an older revision of fileset that already exists at the target(s). (Many software products do not support "downdating".) If set to true, the older revision can be installed.

allow_incompatible=false

(Applies only to swinstall.) Requires that the software products which are being installed be "compatible" with the target selections. (All of the target selections must match the list of supported systems defined for each selected product.) If set to true, target compatibility is not enforced.

allow_multiple_versions=false

(Applies only to swinstall.) Prevents the installation of another, independent version of a product when a version already is already installed at the target.

If set to true, another version of an existing product can be installed into a new location. Multiple versions can only be installed if a product is locatable. Multiple configured versions will not work unless the product supports it.

ask=false

(Applies only to swinstall.) When ask=true, executes a request script which asks for a user response. If ask=as_needed, the swinstall command first determines if a response file already exists in the catalog specified in the -c option or source depot and executes the request script only when a response file is absent.

If set to ask=true, or ask=as_needed, you can use the -c catalog option to specify the pathname of an exported catalog to store copies of the response file or files created by the request script.

See swask(1M) for more information on request scripts.

autoreboot=false

(Applies only to swinstall.) Prevents the installation of software requiring a reboot from the non-interactive interface. If set to true, this software can be installed and the target system(s) will be automatically rebooted.

An interactive session always asks for confirmation before software requiring a reboot is installed.

autorecover_product=false

(Applies only to swinstall.) Causes swinstall to remove the original files as they are updated. If an error occurs during the installation (e.g. network failure), then the original files are lost, and the installation must be re-tried.

If set to true, all files are saved as backup copies until all filesets in the current product loading are complete; then they are removed. At the cost of a temporary increase in disk space and slower performance, this allows for automatic recovery of the original filesets in that product if the load fails.

  • The following option applies only to HP OpenView Software Distributor.

autoremove_job=false

Controls automatic job removal of completed jobs. If the job is automatically removed, job information (job status or target logfiles) cannot be queried with swjob.

Install jobs to PCs cannot be automatically removed. They should not be removed until the job completes on all PC targets.

autoselect_dependencies=true

Automatically select dependencies when software is being selected. When set to true, and any software which has dependencies is selected for install, swinstall or swcopy makes sure that the dependencies are met. If they are not already met, they are automatically selected for you. If set to false, automatic selections are not made to resolve requisites.

autoselect_patches=true

Automatically selects the latest patches (based on superseding and ancestor attributes) for a software object that a user selects for a swinstall or swcopy operation. When set to false, the patches corresponding to the selected object are not automatically selected.

The patch_filter= option can be used in conjunction with autoselect_patches.

autoselect_reference_bundles=true

If true, bundles that are sticky are automatically installed or copied, along with the software it is made up of. If false, the software can be installed, or copied, without automatically including sticky bundles that contain it.

codeword=

Provides the "codeword" needed to unlock protected HP CD-ROM software.

Some HP software products are shipped on CD-ROM as "protected" products. That is, they cannot be installed or copied unless a "codeword" and "customer ID" are provided. The codeword is found on the CD-ROM certificate which you received from HP. You may use this default specification on the command line or the SD-UX Interactive User Interface to enter the codeword.

This default stores the codeword for future reference, and you need to enter the codeword only once. If you purchase a new HP product and a previous codeword has already been entered for that CD-ROM, just enter the new codeword as usual and the codewords will be merged internally.

NOTE: For HP-UX B.10.10 and later systems, SD searches the .codewords file on the server that is providing protected software to other hosts. It looks for valid customer_id/codeword pairs. In doing so, SD eliminates the need to enter codewords and customer_ids on every host that is "pulling" the software.

To properly store the customer_id/codeword for a CD-ROM, run swinstall -p or swcopy -p on the host serving the CD-ROM. After the codeword has been stored, clients installing or copying software using that host and CD-ROM as a source will no longer need a codeword or customer_id.

controller_source=

Specifies the location of a depot for the controller to access to resolve selections. Setting this option can reduce network traffic between the controller and the target. Use the target selection syntax to specify the location: [host][:][/directory]

The controller_source_option supports the same syntax as the -s source option. This option has no effect on which sources the target uses and is ignored when used with the Interactive User Interface.

create_target_path=true

Causes the agent to create the target directory if it does not already exist. If set to false, a new target directory is not created. This option can prevent the erroneous creation of new target depots or new alternate root directories.

compress_files=false

(Applies only to swcopy.) If set to true, files not already compressed are compressed before transfer from a source. This enhances performance on slower networks for swinstall and swcopy, and results in smaller depots for swcopy, unless uncompress_files is also set to true.

customer_id=

This number, also printed on the Software Certificate, is used to "unlock" protected software and restrict its installation to a specific site or owner. It is entered using the -x customer_id= option or by using the Interactive User Interface. The customer_id can be used on any HP-UX 10.0X compatible HP9000 system.

defer_configure=false

(Applies only to swinstall.) Causes swinstall to automatically configure the software_selections after they are installed. When an alternate root directory is specified, swinstall never performs the configuration task, since only hosts using the software should be configured. If set to true, this option allows configuration to be deferred even when the root directory is /.

An additional version of a product will not be configured if another version is already configured. The swconfig command must be run separately.

distribution_source_directory=/var/spool/sw

Defines the default location of the source depot. This syntax can be host:path. The -s option overrides this value.

distribution_target_directory=/var/spool/sw

(Applies only to swcopy.) Defines the default location of the target depot.

enforce_dependencies=true

Requires that all dependencies specified by the software_selections be resolved either in the specified source, or at the target_selections themselves.

The swinstall and swcopy commands will not proceed unless the dependencies have also been selected or already exist at the target in the correct state (INSTALLED or AVAILABLE). This prevents unusable software from being installed on the system. It also ensures that depots contain usable sets of software.

If set to false, dependencies are still checked, but not enforced. Corequisite dependencies, if not enforced, may keep the selected software from working properly. Prerequisite dependencies, if not enforced, may cause the installation or configuration to fail.

enforce_dsa=true

Prevents the command from proceeding past the analysis phase if the disk space required is beyond the available free space of the impacted filesystem(s). If set to false, the install or copy operation uses the filesystems' minfree space and may fail because it reaches the filesystem's absolute limit.

enforce_kernbld_failure=true

(Applies only to swinstall.) Prevents swinstall from proceeding past the kernel build phase if the kernel build processes fail. If set to false, the install operation continues (without suspension if in the interactive mode) despite failure or warnings from either the system preparation process or the kernel build process.

enforce_scripts=true

(Applies only to swinstall.) By default, if a fileset checkinstall script fails (i.e. returns with an exit code 1), that fileset is not installed. If a product checkinstall script fails, no filesets in that product are installed. If set to false, the install proceeds even if a checkinstall script fails.

job_polling_interval=30
  • The following option applies only to HP OpenView Software Distributor

(Applies only to swinstall.) Defines the polling interval, in minutes, used by the daemon. It specifies how often a PC install job is polled to cache the progress of remote targets on the controller.

job_title=
  • The following option applies only to HP OpenView Software Distributor

This is an ASCII string giving a title to a job. It is displayed along with the job ID to provide additional identifying information about a job when swjob is invoked. The default value is to have no title. If a title is specified, it should be enclosed in quotes.

layout_version=1.0

(Applies only to swcopy.) Specifies the POSIX layout_version to which the SD commands conform when writing distributions and swlist output. Supported values are "1.0" (default) and "0.8".

SD object and attribute syntax conforms to the layout_version 1.0 specification of the IEEE POSIX 1387.2 Software Administration standard. SD commands still accept the keyword names associated with the older layout version, but you should use layout_version=0.8 only to create distributions readable by older versions of SD.

See the description of the layout_version option in sd(5) for more information.

logdetail=false

Controls the amount of detail written to the logfile. When set to true, this option adds detailed task information (such as options specified, progress statements and additional summary information) to the logfile. This information is in addition to log information controlled by the loglevel option.

See loglevel=1 and the sd(5) manual page by typing man 5 sd for more information.

logfile=/var/adm/sw/swremove.log

This is the default command log file for the swinstall command.

loglevel=1

Controls the log level for the events logged to the command logfile, the target agent logfile, and the source agent logfile. This information is in addition to the detail controlled by the logdetail option. (See logdetail=false and the sd(5) manual page for more information.) A value of:

0

provides no information to the logfile.

1

enables verbose logging to the logfiles.

2

enables very verbose logging, including per-file messages, to the logfiles.

log_msgid=0

Controls whether numeric identification numbers are prepended to logfile messages produced by SD:

0

(default) No identifiers are attached to messages.

1

Applies to ERROR messages only.

2

Applies to ERROR and WARNING messages.

3

Applies to ERROR, WARNING, and NOTE messages.

4

Applies to ERROR, WARNING, NOTE, and certain other logfile messages.

match_target=false

(Applies only to swinstall.) If set to true, software selection is done by locating filesets on the source that match the target system's installed filesets. If multiple targets are specified, the first in the list is used as the basis for selections.

mount_all_filesystems=true

Attempt to mount all filesystems in the /etc/fstab file at the beginning of the analysis phase, to ensure that all listed filesystems are mounted before proceeding. This policy helps to ensure that files are not loaded into a directory that may be below a future mount point.

If set to false, the mount operation is not attempted, and no check of the current mounts is performed.

os_name

(Applies only to swinstall.) This option can be used in conjunction with os_release to specify the desired OS name during an HP-UX update. The os_name option should only be specified from the command line. Refer to the SD readme file for correct syntax. You can display the readme file by entering:

swlist -a readme -l product SW-DIST

os_release

(Applies only to swinstall.) This option can be used in conjunction with os_name to specify the desired OS release during an HP-UX update. The os_release option should only be specified from the command line. Refer to the SD readme file for correct syntax. You can display the readme file by entering:

swlist -a readme -l product SW-DIST

patch_filter=software_specification

This option can be used in conjunction with the autoselect_patches or patch_match_target options to filter the selected patches to meet the criteria specified by software_specification. The default value of this option is *.*.

patch_match_target=false

If set to true, this option selects the latest patches (software identified by the is_patch=true attribute) that correspond to software on the target root or depot.

The patch_filter= option can be used in conjunction with patch_match_target.

patch_save_files=true

(Applies only to swinstall) Saves the original versions of files modified by patches, which permits the future rollback of a patch. Patched files are saved to /var/adm/sw/save. When set to false, patches cannot be rolled back (removed) unless the base software modified by the patch is removed at the same time.

To commit a patch by removing the corresponding saved files, use the swmodify command's patch_commit option.

polling_interval=2

Defines the polling interval, in seconds, used by the interactive GUI or TUI of the controller. It specifies how often each target agent is polled to obtain status information about the task being performed. When operating across wide-area networks, the polling interval can be increased to reduce network overhead.

recopy=false

(Applies only to swcopy.) Do not copy a fileset that is already available on the target at the same version. If recopy=true, copy the fileset in any case.

register_new_depot=true

(Applies only to swcopy.) Causes swcopy to register a newly created depot with the local swagentd. This action allows other SD commands to automatically "see" this depot. If set to false, a new depot is not automatically registered. It can be registered later with the swreg command.

register_new_root=true

(Applies only to swinstall.) Causes alternate roots to be registered during swinstall. These can be listed with swlist.

reinstall=false

When re-installing or re-copying an existing revision of a fileset, this option causes that fileset to be skipped, i.e. not re-installed. If set to true, the fileset is re-installed or re-copied.

reinstall_files=true

Causes all the files in a fileset to always be reinstalled or recopied, even when the file already exists at the target and is identical to the new file. If set to false, files that have the same checksum (see next option), size and timestamp are not re-installed. This check enhances performance on slow networks or slow disks.

reinstall_files_use_cksum=true

This option affects the operation when the reinstall_files option is set to false. It causes the checksums of the new and old file to be computed and compared to determine if the new file should replace the old one. (The checksum is slower, but is a more robust way to check for files being equivalent.) If set to false, the checksums are not computed, and files are reinstalled or not based only on their size and timestamp.

remove_obsolete_filesets=false

(Applies to swcopyonly) Controls whether swcopy automatically removes obsolete filesets from target products in the target depot. If set to true, swcopy removes obsolete filesets from the target products that were written to during the copy process. Removal occurs after the copy is complete. Filesets are defined as obsolete if they were not part of the most recent packaging of the product residing on the source depot.

retry_rpc=1

Defines the number of times a lost source connection is retried during file transfers in swinstall or swcopy. A lost connection is one that has timed out. When used in conjunction with the rpc_timeout option, the success of installing over slow or busy networks can be increased. If set to zero, any rpc_timeout to the source causes the task to abort. If set from 1 to 9, the install of each fileset is attempted that number of times. The reinstall_files option should also be set to false to avoid installing files within the fileset that were successfully installed.

rpc_binding_info=ncacn_ip_tcp:[2121] ncadg_ip_udp:[2121]

Defines the protocol sequence(s) and endpoint(s) on which the daemon listens and the other commands contact the daemon. If the connection fails for one protocol sequence, the next is attempted. SD supports both the tcp (ncacn_ip_tcp:[2121]) and udp (ncadg_ip_udp:[2121]) protocol sequence on most platforms. See the sd(5) man page by typing man 5 sd for more information.

rpc_timeout=5.

Relative length of the communications timeout. This is a value in the range from 0 to 9 and is interpreted by the DCE RPC. Higher values mean longer times; you may need a higher value for a slow or busy network. Lower values give faster recognition on attempts to contact hosts that are not up or not running swagentd. Each value is approximately twice as long as the preceding value. A value of 5 is about 30 seconds for the ncadg_ip_udp protocol sequence. This option may not have any noticeable impact when using the ncacn_ip_tcp protocol sequence.

select_local=true

If no target_selections are specified, select the default root directory / (swinstall), or the default target_directory (swcopy), at the local host as the target of the command.

software=

Defines the default software_selections. There is no supplied default. If there is more than one software selection, they must be separated by spaces.

software_view=all_bundles

Indicates the software view to be used as the default level for the software listing in the GUI. It can be set to all_bundles, products, or a bundle category tag (to indicate to show only bundles of that category). For HP OpenView Software Distributor the default value is products.

source_cdrom=/SD_CDROM

Defines the default location of the source CD-ROM. This syntax can be host:path.

source_tape=/dev/rmt/0m

Defines the default location of the source tape, usually the character-special file of a local tape device. If the host:path syntax is used, the host must match the local host. The -s option overrides this value.

source_type=directory

Defines the default source type: cdrom, directory, or tape. The source type derived from the -s option overrides this value.

targets=

Defines the default target_selections. There is no supplied default (see select_local above). If there is more than one target selection, they must be separated by spaces.

uncompress_files=false

(Applies only to swcopy.) If set to true, files being transferred from a source are uncompressed before swcopy store them on the target depot.

use_alternate_source=false

Empowers each target agent to use its own, configured alternate source, instead of the one specified by the user. If false, each target agent uses the same source (the source specified by the user and validated by the command). If true, each target agent uses its own configured value for the source.

verbose=1

Controls the verbosity of the output (stdout). A value of

0

disables output to stdout. (Error and warning messages are always written to stderr).

1

enables verbose messaging to stdout.

write_remote_files=false

Prevents the installation or copying of files to a target which exists on a remote filesystem. All files destined for a remote filesystem are skipped.

If set to true and if the superuser has write permission on the remote filesystem, the remote files are installed or copied.

Session File

Each invocation of the swinstall or swcopy command defines an installation or copy session. The invocation options, source information, software selections, and target hosts are saved before the installation or copy task actually commences. This lets you re-execute the command even if the session ends before proper completion.

Each session is saved to the file $HOME/.sw/sessions/swinstall{swcopy}.last. This file is overwritten by each invocation of swinstall or swcopy.

You can also save session information from interactive or command-line sessions. From an interactive session, you can save session information into a file at any time by selecting the Save Session or Save Session As option from the File menu. From a command-line session, you can save session information by executing swinstall or swcopy with the -C session__file option.

A session file uses the same syntax as the defaults files. You can specify an absolute path for a session file. If you do not specify a directory, the default location for a session file is $HOME/.sw/sessions/.

To re-execute a saved session from an interactive session, use the Recall Session option from the File menu. To re-execute a session from a command-line, specify the session file as the argument for the -S session__file option of swinstall or swcopy.

Note that when you re-execute a session file, the values in the session file take precedence over values in the system defaults file. Likewise, any command line options or parameters that you specify when you invoke swinstall or swcopy take precedence over the values in the session file.

Software and Target Lists

The swinstall and swcopy commands support software selections, target selections, and patch filter selections from separate input files.

You can specify software and target selection lists with the -f and -t options. Software and targets specified in these files are selected for operation instead of (or in addition to) files listed in the command line. (See the -f and -t options for more information.)

Additionally, the swinstall and swcopy interactive user interfaces read a default list of hosts on which to operate. The list is stored in:

/var/adm/sw/defaults.hosts

the system-wide default list of hosts

$HOME/.swdefaults.hosts

the user-specific default list of hosts

For each interactive command, target hosts containing roots, depots, and hosts serving as PC controllers are specified in separate lists ( hosts, hosts_with_depots, and pc_controllers respectively). The list of hosts are enclosed in {} braces and separated by white space (blank, tab and newline). For example:

swinstall.hosts={hostA hostB hostC hostD hostE hostF} swinstall.pc_controllers={pc1 pc2} (HP OpenView Software Distributor only.) swcopy.hosts_with_depots={hostS} swcopy.pc_controllers={pc1 pc2} (HP OpenView Software Distributor only.)

The swinstall and swcopy interactive user interfaces read a default list of patch filters that you can use as selection criteria for patch software. The list is stored in:

/var/adm/sw/defaults.patchfilters

the system-wide default list of patch filters.

$HOME/.sw/defaults.patchfilters

the user-specific default list of patch filters.

The list of patch filters is enclosed in braces {} and separated by white space (blank, tab, or newline). For example:

swinstall.patch_filter_choices={ *.*,c=enhancement *.*,c=critical } swcopy.patch_filter_choices={ Product.Fileset,c=halts_system }

  • The following paragraph applies only to HP OpenView Software Distributor.

For PC software installation, the interactive interface generates PC target lists by querying the PC controller (and it's associated fileserver). All users, groups, and machines returned from this query are included in the default list from which to choose. Additionally, all machines returned from this query are automatically selected for installation when the user selects a PC controller.

Environment Variables

The environment variable that affects the swinstall command is:

LANG

Determines the language in which messages are displayed. If LANG is not specified or is set to the empty string, a default value of C is used. See the lang(5) man page by typing man 5 sd for more information.

NOTE: The language in which the SD agent and daemon log messages are displayed is set by the system configuration variable script, /etc/rc.config.d/LANG. For example, /etc/rc.config.d/LANG, must be set to LANG=ja_JP.SJIS or LANG=ja_JP.eucJP to make the agent and daemon log messages display in Japanese.

Environment variables that affect scripts:

SW_CONTROL_DIRECTORY

Defines the current directory of the script being executed, either a temporary catalog directory, or a directory within in the Installed Products Database (IPD). This variable tells scripts where other control scripts for the software are located (e.g. subscripts).

SW_LOCATION

Defines the location of the product, which may have been changed from the default product directory. When combined with the SW_ROOT_DIRECTORY, this variable tells scripts where the product files are located.

SW_PATH

A PATH variable which defines a minimum set of commands available to for use in a control script (e.g. /sbin:/usr/bin).

SW_ROOT_DIRECTORY

Defines the root directory in which the session is operating, either "/" or an alternate root directory. This variable tells control scripts the root directory in which the products are installed. A script must use this directory as a prefix to SW_LOCATION to locate the product's installed files. The configure script is only run when SW_ROOT_DIRECTORY is "/".

SW_SESSION_OPTIONS

Contains the pathname of a file containing the value of every option for a particular command, including software and target selections. This lets scripts retrieve any command options and values other than the ones provided explicitly by other environment variables. For example, when the file pointed to by SW_SESSIONS_OPTIONS is made available to a request script, the targets option contains a list of software_collection_specs for all targets specified for the command. When the file pointed to by SW_SESSIONS_OPTIONS is made available to other scripts, the targets option contains the single software_collection_spec for the targets on which the script is being executed.

SW_SOFTWARE_SPEC

This variable contains the fully qualified software specification of the current product or fileset. The software specification allows the product or fileset to be uniquely identified.

Additional environment variables that affect scripts for swinstall:

SW_DEFERRED_KERNBLD

This variable is normally unset. If it is set, the actions necessary for preparing the system file /stand/system cannot be accomplished from within the postinstall scripts, but instead must be accomplished by the configurescripts. This occurs whenever software is installed to a directory other than /, such as for a cluster client system. This variable should be read only by the configure and postinstall scripts of a kernel fileset. The swinstall command sets these environment variables for use by the kernel preparation and build scripts.

SW_INITIAL_INSTALL

This variable is normally unset. If it is set, the swinstall session is being run as the back end of an initial system software installation ("cold" install).

SW_KERNEL_PATH

The path to the kernel. The default value is /stand/vmunix, defined by the swagent option or kernel_path.

SW_SESSION_IS_KERNEL

Indicates whether a kernel build is scheduled for the current install/remove session. A TRUE value indicates that the selected kernel fileset is scheduled for a kernel build and that changes to /stand/system are required. A null value indicates that a kernel build is not scheduled and that changes to /stand/system are not required.

The value of this variable is always equal to the value of SW_SESSION_IS_REBOOT.

SW_SESSION_IS_REBOOT

Indicates whether a reboot is scheduled for a fileset selected for removal. Because all HP-UX kernel filesets are also reboot filesets, the values of this variables is always equal to the value of SW_SESSION_IS_KERNEL.

SW_SYSTEM_FILE_PATH

The path to the kernel's system file. The default value is /stand/system.

Signals

The swinstall and swcopy commands catch the signals SIGQUIT and SIGINT. If these signals are received, the command prints a message, sends a Remote Procedure Call (RPC) to the agents to wrap up, and then exits.

Each agent completes the install or copy task (if the execution phase has already started) before it wraps up. This avoids leaving software in a corrupt state.

Locking

SD commands use a common locking mechanism for reading and modifying the Installed Products Database (IPD) and software depots. This mechanism allows multiple readers but only one writer on an IPD or depot:

Write Locks

swinstall commands that modify the IPD are restricted from simultaneous modification using fcntl(2) locking on the file <IPD location>/swlock (e.g. /var/adm/sw/products/swlock).

swcopy commands that modify a software depot are restricted from simultaneous modification using fcntl(2) locking on the file <depot directory>/catalog/swlock (e.g. /var/spool/sw/catalog/swlock).

Read Locks

Both swinstall and swcopy commands set fcntl(2) read locks on source depots using the swlock file mentioned above. When a read lock is set, it prevents all SD commands from performing modifications (i.e. from setting write locks).

Terminal Support

For in-depth information about terminal support refer to:

  • The Managing HP-UX Software with SD-UX manual

  • Start the GUI or TUI, select the Help menu, then select the Keyboard... option to access the Keyboard Reference Guide.

RETURN VALUES

An interactive swinstall or swcopy session always returns 0. A non-interactive swinstall or swcopy session returns:

0

The software_selections were successfully installed/copied.

1

The install/copy operation failed on all target_selections.

2

The install/copy operation failed on some target_selections.

DIAGNOSTICS

The swinstall and swcopy commands write to stdout, stderr, and to specific logfiles.

Standard Output

An interactive swinstall or swcopy session does not write to stdout. A non-interactive swinstall or swcopy session writes messages for significant events. These include:

  • a begin and end session message,

  • selection, analysis, and execution task messages for each target_selection.

Standard Error

An interactive swinstall or swcopy session does not write to stderr. A non-interactive swinstall or swcopy session writes messages for all WARNING and ERROR conditions to stderr.

Logging

Both interactive and non-interactive swinstall and swcopy sessions log summary events at the host where the command was invoked. They log detailed events to the swagent logfile associated with each target_selection.

Command Log

The swinstall and swcopy commands log all stdout and stderr messages to the the logfile /var/adm/sw/swinstall.log (/var/adm/sw/swcopy.log). Similar messages are logged by an interactive swinstall and swcopy session. The user can specify a different logfile by modifying the logfile option.

Target Log

A swagent process performs the actual install or copy operation at each target_selection. For install tasks, the swagent logs messages to the file var/adm/sw/swagent.log beneath the root directory (e.g. / or an alternate root directory). For copy tasks, the swagent logs messages to the file swagent.log beneath the depot directory (e.g. /var/spool/sw).

  • The following line applies only to HP OpenView Software Distributor.

Command and target log files can be viewed using the swjob command.

Source Depot Audit Log

If both source and target machine are updated to HP-UX version 10.30 or later, the system administrator at the source depot machine can track which user pulls which software from a depot on the source machine and when the software is pulled. (Note that a user running swinstall/swcopy from a target machine cannot set this option; only the administrator of the source depot machine can set it. See the source_depot_audit option in the swagent(1M) man page.)

EXAMPLES

swinstall

To invoke an interactive session of swinstall:

swinstall

Select the C and Pascal products from the network source software server (sw_server) and start an interactive session:

swinstall -i -s sw_server cc pascal

  • The following example applies only to HP OpenView Software Distributor

Install the C and Pascal products to a set of remote hosts:

swinstall -s sw_server cc pascal @ hostA hostB hostC

Update the HP Omniback product from a CD-ROM mounted at /cd :

swinstall -s /cd/swmedia Omniback

Install an incompatible version of HP Omniback into the directory /exports:

swinstall -x allow_incompatible=true -s/products Omniback,a=arch \ @ /exports

Install all products from the cartridge tape /dev/rmt/0:

swinstall -s /dev/rmt/0 \*

Reinstall the software_selections listed in the file /tmp/install.products on the hosts listed in the file tmp/install.hosts:

swinstall -x reinstall=true -f/tmp/install.products \ -t/tmp/install.hosts

Execute swinstall interactively using the session file /tmp/case.selections as a basis:

swinstall -i -S /tmp/case.selections

Install all the software from local depot /tmp/sample.depot.1, using any response files generated by request scripts:

swinstall -s /tmp/sample.depot.1 -x ask=true \*

Install Product1 from remote depot /tmp/sample.depot.1 on host swposix and use an existing response file (previously generated by the swask command) located in /tmp/bar.depot:

  • swinstall -s swposix:/tmp/sample.depot.1 -c /tmp/bar.depot Product1

Install all products in remote depot /tmp/sample.depot.1 on host swposix , use any response files generated by request scripts, create catalog /tmp/bar.depot and copy all response files to the new catalog:

swinstall -s swposix:/tmp/sample.depot.1 -c /tmp/bar.depot \ -x ask=true \*

Install all products in remote depot /tmp/sample.depot.1 on host swposix , use response files, run request scripts only when a response file is absent, create catalog /tmp/bar.depot and copy all response files to the new catalog:

swinstall -s swposix:/tmp/sample.depot.1 -c swposix:/tmp/bar.depot \ -x ask=as_needed \*

Install all patches in the depot that correspond to currently installed software and are of the critical category:

swinstall -s /tmp/sample.depot.1 -x patch_match_target=true \ -x patch_filter=\"*.*, c=critical\"

  • The following example applies to HP-UX 10.* only.

To linkinstall the product TEST to the clients clientA, clientB from the server:

swinstall -l -r -s :OS_700 TEST @ clientA clientB

  • The following example applies to HP-UX 10.* only.

To linkinstall product TEST2 to your own "/" directory from an application server on "serve":

swinstall -l -s serve TEST2

  • The following example applies only to HP OpenView Software Distributor.

Install the C product to a set of PC end targets:

swinstall -s sw_serve cc @ pc_controller::PC1 pc_controller::PC2

To schedule the above installation to run at the indicated time:

swinstall -Q 12/01,11:00 -s sw_serve cc @ \ pc_controller::PC1 pc_controller::PC2

swcopy

Invoke an interactive session of swcopy:

swcopy

Invoke an interactive session, using default depot at hostX as the source:

swcopy -i -s hostX

Copy all products from the cartridge tape /dev/rmt/0m to the default depot on the local host:

swcopy -s /dev/rmt/0m \*

Load the software_selections listed in the file /tmp/load.products using the default source/depot:

swcopy -f /tmp/load.products

  • The following example applies only to HP OpenView Software Distributor.

Copy the C and Pascal products to some local and remote depots:

swcopy -s sw_server cc pascal @ /var/spool/sw hostA:/tmp/sw hostB

LIMITATIONS

  • The SD-UX versions of swinstall and swcopy do not support the installation and configuration of software products on remote targets. The TUI is supported only on SD-UX.

    • The following PC information applies only to HP OpenView Software Distributor.

  • When copying software to a PC controller, the swcopy command only supports a single PC depot (configured on the PC controller).

  • For PC software installation, the swinstall command first copies software to the PC depot, where it is then accessed by the SD PC agent at each PC target. Options that apply to swcopy only apply when installing PC software to the PC controller.

FILES

$HOME/.swdefaults

Contains the user-specific default values for some or all SD options. If this file does not exist, SD looks for user-specific defaults in $HOME/.swdefaults.hosts.

$HOME/.sw/defaults.hosts

Contains the user-specific default list of hosts to manage.

$HOME/.sw/defaults.patchfilters

Contains the user-specific default list of patch filters.

$HOME/.sw/sessions/

Contains session files automatically saved by the SD commands or explicitly saved by the user.

/usr/lib/sw/sys.defaults

Contains the master list of current SD options with their default values.

/var/adm/sw/

The directory which contains all of the configurable and non-configurable data for SD. This directory is also the default location of logfiles.

/var/adm/sw/defaults

Contains the active system-wide default values for some or all SD options.

/var/adm/sw/defaults.hosts

Contains the system-wide default list of hosts to manage.

/var/adm/sw/defaults.patchfilters

Contains the system-wide default list of patch filters.

/var/adm/sw/getdate.templ

Contains the set of date/time templates used when scheduling jobs.

/var/adm/sw/products/

The Installed Products Database (IPD), a catalog of all products installed on a system.

  • The following applies only to HP OpenView Software Distributor.

/var/adm/sw/queue/

The directory which contains the information about all active and complete install jobs, copy jobs, and other jobs initiated by the SD commands.

/var/spool/sw/

The default location of a source and target software depot.

PC FILES

  • The following applies only to HP OpenView Software Distributor.

...\SD\DATA\

The directory which contains all of the configurable and non-configurable data for SD.

...\SD\DATA\DEPOT\

The default location of a source and target PC depot.

AUTHOR

swinstall and swcopy were developed by the Hewlett-Packard Company and Mark H. Colburn (see pax(1)).

SEE ALSO

sd(4), sd(5), swacl(1M), swagentd(1M), swask(1M), swconfig(1M), swgettools(1M), swjob(1M), swlist(1M), swmodify(1M), swpackage(1M), swpackage(4), swreg(1M), swremove(1M), swverify(1M), the Managing HP-UX Software with SD-UX manual, the HP OpenView Software Distributor Administrator's Guide, Installing HP-UX 11.0 and Updating HP-UX 10.x to 11.0.

© Hewlett-Packard Development Company, L.P.