HPlogo HP-UX Reference Volume 2 of 5 > s

swverify(1M)

Hewlett-Packard Company
» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

swverify — verify software products

SYNOPSIS

swverify [-d|-r] [-v] [-C session_file] [-f software_file] [-J jobid] [-Q date] [-S session_file] [-t target_file] [-x option=value] [-X option_file] [software_selections] [@ target_selections]

Remarks

  • 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 to the following:

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

DESCRIPTION

The swverify command verifies the software_selections at one or more target_selections (e.g. root filesystems). When verifying installed software, swverify checks software states, dependency relationships, file existence and integrity, in addition to executing vendor-supplied verification scripts.

The swverify command also verifies software_selections at one or more target depots. For target depots, swverify performs all of the checks listed above, but does not execute verification scripts.

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

For PC software verification, the swverify command also verifies software_selections at one or more target PC depots.

NOTE: swverify does not support operations on a tape depot.

The swverify command also supports these features:

  • Verifies whether installed or configured software is compatible with the hosts on which that software is installed.

  • Verifies that all dependencies (prerequisites, corequisites) are being met (for installed software) or can be met (for available software).

  • Executes vendor-specific verify scripts if the software products are configured. The most important information that can be conveyed during verification is that information pertaining to the correctness of the product's configuration - and most of this information must be presented by the vendor in the verify script.

  • Reports missing files, check all file attributes (ignoring volatile files). These attributes include permissions, file types, size, checksum, mtime, link source and major/minor attributes.

Options

swverify supports the following options:

-d

Operate on a depot rather than installed software.

-r

Operate on an alternate root rather than /. Verify scripts are not run when verifying software in an alternate root directory. Use of -r is optional.

-v

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

-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

(HP OpenView Software Distributor only) Executes the previously scheduled job. This is the syntax used by the daemon to start the job.

-Q date

(HP OpenView Software Distributor only) Schedules the job for this date. The date's format can be changed by modifying the file /var/adm/sw/getdate.templ.

-S session_file

Execute swverify based on the options and operands saved from a previous session, as defined in session_file. You can save session information to a file with the -C option.

-t target_file

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 options_file specified with the -X option). Multiple -x options can be specified.

-X option_file

Read the session options and behaviors from options_file.

Operands

Most SD 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.

swverify supports 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 Selections

  • The swverify command supports the following syntax for each target_selection. The : (colon) is required if both a host and directory are specified.

[host][:][/directory]

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

The swverify command also supports the syntax:

[pc_controller]

This syntax applies only to PC controllers. The pc_controller is a fanout server, and swverify will verify software in its PC depot.

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 swverify command. If a default value exists, it is listed after the "=". The commands that this option applies to are also specified.

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 means 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 will be used. The default of 10000 is slightly less than 7 days.

allow_incompatible=false

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

Prevents the installation or configuration of another, independent version of a product when a version already is installed or configured at the target.

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

autoremove_job=false
  • This option applies only to HP OpenView Software Distributor.

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

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

autoselect_dependencies=true

Controls the automatic selection of prerequisite and corequisite software that is not explicitly selected by the user. When set to true, the requisite software is automatically selected for configuration. When set to false, requisite software which is not explicitly selected is not automatically selected for configuration.

check_contents=true

Causes swverify to verify the time stamp, size, and checksum attributes of files. If set to false, these attributes are not verified.

check_permissions=true

Causes swverify to verify the mode, owner, UID, group, and GID attributes of installed files. If set to false, these attributes are not verified.

check_requisites=true

Causes swverify to verify that the prerequisite and corequisite dependencies of the software selections are being met. If set to false, these checks are not performed.

check_scripts=true

Causes swverify to run the fileset/product verify scripts for installed software. If set to false, these scripts are not executed.

check_volatile=false

Causes swverify to not verify those files marked as volatile (i.e. can be changed). If set to true, volatile files are also checked (for installed software).

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][:][path]

This option has no effect on which sources the target uses.

distribution_target_directory=/var/spool/sw

Defines the default distribution directory of the target depot. The target_selection operand overrides this default.

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.

If set to false, dependencies will still be 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.

job_title=
  • This 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.

logdetail=false[true]

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.

logfile=/var/adm/sw/sw<command>.log

Defines the default log file for each SD command. (The agent log files are always located relative to the target depot or target root, e.g. /var/spool/sw/swagent.log and /var/adm/sw/swagent.log.)

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, above, and the sd(5) manual page (by typing man 5 sd) 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 to the logfiles.

log_msgid=0

Controls the log level for the events logged to the command log file, the target agent log file, and the source agent log file by prepending identification numbers to log file messages:

0

No such identifiers are prepended (default).

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 log file messages.

mount_all_filesystems=true

By default, the SD commands 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, and that the expected files are available for a remove or verify operation.

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

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 which the other commands use to 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 will give faster recognition on attempts to contact hosts that are not up, or are 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 target_directory of the local host as the target_selection for 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 is usually specified in a software input file, as operands on the command line, or in the GUI.

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. Targets can be specified in a target input file or as operands on the command line.

verbose=1

Controls the verbosity of a non-interactive command's output:

0

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

1

enables verbose messaging to stdout.

2

for swpackage and swmodify, enables very verbose messaging to stdout.

The -v option overrides this default if it is set to 0.

Session File

Each invocation of the swverify command defines a verify 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/swverify.last. This file is overwritten by each invocation of swverify.

You can also save session information to a specific file by executing swverify with the -C session__file option.

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

To re-execute a session file, specify the session file as the argument for the -S session__file option of swverify.

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 swverify take precedence over the values in the session file.

Environment Variables

SD programs that execute control scripts set environment variables for use by the control scripts.

The environment variable that affects the swverify 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.

Signals

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

RETURN VALUES

The swverify command returns:

0

The software_selections were successfully verified.

1

The verify operation failed on all target_selections.

2

The verify operation failed on some target_selections.

DIAGNOSTICS

The swverify command writes to stdout, stderr, and to specific logfiles.

Standard Output

The swverify command 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

The swverify command also writes messages for all WARNING and ERROR conditions to stderr.

Logging

The swverify command logs summary events at the host where the command was invoked. It logs detailed events to the swagent logfile associated with each target_selection.

Command Log

The swverify command logs all stdout and stderr messages to the the logfile /var/adm/sw/swverify.log. (The user can specify a different logfile by modifying the logfile option.)

Target Log

A swagent process performs the actual verify operation at each target_selection. When verifying installed software, the swagent logs messages to the file var/adm/sw/swagent.log beneath the root directory (e.g. / or an alternate root directory). When verifying available software (within a depot), 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.

EXAMPLES

Verify the C and Pascal products installed at the local host:

swverify cc pascal

Verify a particular version of HP Omniback:

swverify Omniback,1=/opt/Omniback_v2.0

Verify the entire contents of a local depot:

swverify -d \* @ /var/spool/sw

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

Verify the C and Pascal products on remote hosts:

  • swverify cc pascal @ hostA hostB hostC

LIMITATIONS

The SD-UX version of swverify does not support the verification of software products on remote targets.

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

When verifying software at a PC controller, the swverify command operates only on the available software stored in the PC depot (configured on the PC controller). Software installed on PC targets can be verified by packaging verify actions (using the PC console), and distributing that package to PC targets.

FILES

$HOME/.swdefaults

Contains the user-specific default values for some or all SD options.

$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 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/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.

/var/spool/sw/

The default location of a target software depot.

AUTHOR

swverify was developed by the Hewlett-Packard Company.

SEE ALSO

sd(4), sd(5), swacl(1M), swagentd(1M), swask(1M), swconfig(1M), swgettools(1M), swinstall(1M), swjob(1M), swlist(1M), swmodify(1M), swpackage(1M), swpackage(4), swreg(1M), swremove(1M), the Managing HP-UX Software with SD-UX manual, the HP OpenView Software Distributor Administrator's Guide.

© Hewlett-Packard Development Company, L.P.