Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > S

swremove(1M)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

swremove — unconfigure and remove software products

SYNOPSIS

swremove [XToolkit Options] [-d|-r] [-i] [-p] [-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

  • swremove supports an interactive user interface (GUI) that can be invoked alone or by the sd command. See Interactive Operation below.

  • This command supports operations on remote systems. See Remote Operation below.

  • For an overview of all SD commands, see the sd(5) man page by typing man 5 sd on the command line.

DESCRIPTION

The swremove command removes software_selections from target_selections (e.g. root file systems). When removing installed software, swremove also unconfigures the software before it is removed. The software is not unconfigured when removed from an alternate root directory since it was not configured during installation. When removing available software (within a depot), swremove also does not perform the unconfiguration task.

NOTE : Selecting a bundle for removal does not always remove all filesets in that bundle. If a particular fileset is required by another bundle, that fileset will not be removed. For example, if the bundles Pascal and FORTRAN both use the fileset Debugger.Run and you try to remove FORTRAN, the fileset Debugger.Run will not be removed because it is also used by the bundle Pascal. This prevents the removal of one bundle from inadvertently causing the removal of filesets needed by another bundle.

Remote Operation

You can enable Software Distributor (SD) to manage software on remote systems. To let the root user from a central SD controller (also called the central management server or manager node) perform operations on a remote target (also called the host or agent):

1)

Set up the root, host, and template Access Control Lists (ACLs) on the remote machines to permit root access from the controller system. To do this, run the following command on each remote system:

/usr/lib/sw/mx/setaccess controller

NOTES:

  • controller is the name of the central management server.

  • If remote system is 11.00, make sure SD patch PHCO_22526 or a superseding patch is installed on remote system before running setaccess.

  • If remote system is older than 11.00 or for some other reason does not have setaccess in place, copy setaccess script from an 11.11 or higher system to the remote system.

2)

swinstall, swcopy, and swremove have enhanced GUI interfaces for remote operations. Enable the enhanced GUIs by creating the .sdkey file on the controller. Use this command:

touch /var/adm/sw/.sdkey

NOTE: You can also set up remote access by using the swacl directly on the remote machines to grant root or non-root access to users from the controller system.

Interactive Operation

swremove supports a graphical user interface (GUI) or a terminal user interface (in which screen navigation is done with the keyboard and no mouse) if your terminal or display cannot support the GUI.

To invoke the GUI, type

  • swremove on the command line (without command-line arguments) or include -i with any other command-line options when you invoke swremove from the command line.

The sd command provides an interactive interface for monitoring software jobs. You can also use it to invoke the swinstall, swcopy, or swremove GUIs.

If you have enabled SD's central management features, swinstall, swcopy, and swremove provide enhanced GUIs to support operations on remote machines. See Remote Operations above.

Removing Patches or Patch Rollback Files

To remove patch software, rollback files corresponding to the patch must be available for rollback. You must remove the base software modified by the patch. (Removing the base software also removes the patches associated with that software.)

To commit (make permanent) a patch, use the swmodify command's patch_commit option to remove the files saved for patch rollback, or use the swinstall command's save_patch_files option to not save them initially. See swmodify(1M) and swinstall(1M) for more information.

Control Scripts

When removing installed software, the swremove command executes several vendor-supplied scripts (if they exist) during the removal of the software_selections. The swremove command supports the following scripts:

checkremove

a script executed during the analysis of each target_selection, it checks to make sure the removal can be attempted. If this check fails, the software product will not be removed.

preremove

a script executed immediately before the software files are removed.

postremove

a script executed immediately after the software files are removed.

unconfigure

a script executed during the unconfiguration of each target_selection, it unconfigures the host for the software (and the software for the host). The preremove and postremove scripts are not intended for unconfiguration tasks. They are to be used for simple file management needs such as restoring files moved during install. The unconfigure script allows the swremove command to unconfigure the hosts on which it has been running before removing the software specified.

Options

The swremove supports the following options:

XToolKit Options

The swremove command supports 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 for a definition of these options.

-d

Operate on a depot rather than installed software.

-r

Operates on an alternate root directory, which must be specified in the @ target_selections option. Note that unconfigure scripts are not run when removing software from an alternate root directory. (This option is not required for alternate root operations but is maintained for backward compatibility. See the Alternate Root Directory and Depot Directory heading in sd(5) for more information.)

-i

Runs the command in interactive mode (Graphical User Interface). See the Interactive Operation and Remote Operation headings above for additional details.

-p

Previews a remove task by running the session through the analysis phase only.

-v

Turns on verbose output to stdout. (The swremove log file is not affected by this option.) Verbose output is controlled by the default verbose=x.

-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

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

-Q date

Schedules a job for the specified date. You can change the date format by modifying the file /var/adm/sw/getdate.templ.

-S session_file

Execute swremove 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 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

swremove supports 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 "software selections at targets".

Software Selections

The selections operands consist of software_selections.

swremove supports the following syntax for each software_selection:

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

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

    • [ ], *, ?

    For example, the following expression removes all bundles and products with tags that end with "man":

    • swremove sw_server *man

  • Bundles and subproducts are recursive. Bundles can contain other bundles and subproducts can contain other subproducts. For example:

    • swremove bun1.bun2.prod.sub1.sub2.fset,r=1.0

    or (using expressions):

    • swremove bun[12].bun?.prod.sub*,a=HP-UX

  • The \* software specification selects all products. Use this specification with caution.

The version component has the form:

[,r <op> revision][,a <op> arch][,v <op> vendor] [,c <op> category][,q=qualifier][,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.

  • r , a , v , c , and l apply only to bundles and products. They are applied to the leftmost bundle or product in a software specification.

  • 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. Shell patterns are not allowed with these operators.

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

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

Target Selections

swremove supports the following syntax for each target_selection:

[host][:][/directory]

The colon (:) is required if both a host and directory are specified.

EXTERNAL INFLUENCES

Default Options

In addition to the standard options, you can change swremove behavior and policy options 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 swremove. If a default value exists, it is listed after the "=".

The policy options that apply to swremove are:

admin_directory=/var/adm/sw (for normal mode)

admin_directory=/var/home/LOGNAME/sw (for nonprivileged mode)

The location for SD logfiles and the default parent directory for the installed software catalog. The default value is /var/adm/sw for normal SD operations. When SD operates in nonprivileged mode (that is, when the run_as_superuser default option is set to true):

  • The default value is forced to /var/home/LOGNAME/sw.

  • The path element LOGNAME is replaced with the name of the invoking user, which SD reads from the system password file.

  • If you set the value of this option to HOME/path, SD replaces HOME with the invoking user's home directory (from the system password file) and resolves path relative to that directory. For example, HOME/my_admin resolves to the my_admin directory in your home directory.

  • If you set the value of the installed_software_catalog default option to a relative path, that path is resolved relative to the value of this option.

SD's nonprivileged mode is intended only for managing applications that are specially designed and packaged. This mode cannot be used to manage the HP-UX operating system or patches to it. For a full explanation of nonprivileged SD, see the Software Distributor Administration Guide, available at the http://docs.hp.com web site.

See also the installed_software_catalog and run_as_superuser options.

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 user interface, or when -p (preview) is used. This enhances network reliability and performance. The default value of true causes the target agent to automatically exit when appropriate. When 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_split_patches=false

Permits the use of single patch filesets without "sibling" filesets. In the default state of false, removal of a single fileset from a multi-fileset patch automatically includes any other fileset that are part of the patch, based on the ancestor filesets of the target fileset. (This behavior applies to filesets selected directly by the user and to filesets automatically selected by SD to resolve software dependencies.)

When set to true, SD allows a single patch fileset to be removed without including the sibling filesets. This allows a target to contain a patch that has been "split" into its component filesets. WARNING: Splitting a patch can create a situation in which one fileset in a sibling group would be removed by a patch, while the other filesets would not.

auto_kernel_build=true

Normally set to true. Specifies whether the removal of a kernel fileset should rebuild the kernel or not. If the kernel rebuild succeeds, the system automatically reboots. If set to false, the system continues to run the current kernel.

If the auto_kernel_build option is set to true, the autoreboot option must also be set to true. If the auto_kernel_build option is set to false, the value of the autoreboot option does not matter.

autoreboot=false

Prevents the removal of software requiring a reboot from the non-interactive interface. If set to true, then this software can be removed and the target system(s) will be automatically rebooted.

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

If the auto_kernel_build option is set to true, the autoreboot option must also be set to true. If the auto_kernel_build option is set to false, the value of the autoreboot option does not matter.

autoremove_job=false

Controls automatic job removal. If the job is automatically removed, job information (job status or controller/agent log files) cannot be queried with swjob.

autoselect_dependents=false

Automatically selects all software that depends on the specified software. When set to true, and any software that other software depends on is selected for removal, swremove automatically selects that other software. If set to false, automatic selections are not made to resolve requisites.

autoselect_reference_bundles=true

If true, bundles that have the is_sticky attribute set to true will be automatically removed when the last of its contents is removed. If false, the sticky bundles will not be automatically removed.

compress_index=false

Determines whether SD commands create compressed INDEX and INFO catalog files when writing to target depots or roots. The default of false does not create compressed files. When set to true, SD creates compressed and uncompressed INDEX and INFO files. The compressed files are named INDEX.gz and INFO.gz, and reside in the same directories as the uncompressed files.

Compressed files can enhance performance on slower networks, although they may increase disk space usage due to a larger Installed Products Database and depot catalog. SD controllers and target agents for HP-UX 11.01 and higher automatically load the compressed INDEX and INFO files from the source agent when:

  • The source agent supports this feature.

  • INDEX.gz or INFO.gz exist on the source depot.

  • INDEX.gz or INFO.gz are not older than the corresponding uncompressed INDEX or INFO files.

The uncompressed INDEX or INFO file is accessed by the source agent if any problem occurs when accessing, transferring, or uncompressing the INDEX.gz or INFO.gz file.

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 and is ignored when used with the Interactive User Interface.

distribution_target_directory=/var/spool/sw

Defines the default location of the target depot.

enforce_dependencies=true

Requires that all dependencies specified by the software_selections be resolved at the target_selections. For swremove, if a selected fileset has dependents (i.e. other software depends on the fileset) and they are not selected, do not remove the selected filesets. If set to false, dependencies will still be checked, but not enforced.

enforce_scripts=true

Controls the handling of errors generated by scripts. If true, and a script returns an error, the swremove operation halts. An error message appears reporting that the execution phase failed. If false, all script errors are treated as warnings, and swremove attempts to continue operation. A warning message appears reporting that the execution succeeded. The message wording identifies whether the failure occurred in the configure/unconfigure, checkremove, preremove, or postremove phases.

force_single_target=false

This option applies only to the Interactive User Interface when no SD-OV license is in effect on a system that is a diskless server. It causes swremove to run in a single target mode, even though a diskless server normally causes swremove to run in multi-target mode.

installed_software_catalog=products

Defines the directory path where the Installed Products Database (IPD) is stored. This information describes installed software. When set to an absolute path, this option defines the location of the IPD. When this option contains a relative path, the SD controller appends the value to the value specified by the admin_directory option to determine the path to the IPD. For alternate roots, this path is resolved relative to the location of the alternate root. This option does not affect where software is installed, only the IPD location.

This option permits the simultaneous installation and removal of multiple software applications by multiple users or multiple processes, with each application or group of applications using a different IPD.

Caution: use a specific installed_software_catalog to manage a specific application. SD does not support multiple descriptions of the same application in multiple IPDs.

See also the admin_directory and run_as_superuser options, which control SD's nonprivileged mode. (This mode is intended only for managing applications that are specially designed and packaged. This mode cannot be used to manage the HP-UX operating system or patches to it. For a full explanation of nonprivileged SD, see the Software Distributor Administration Guide, available at the http://docs.hp.com web site.)

job_title=

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

log_msgid=0

Adds numeric identification numbers at the beginning of SD logfile messages:

0

(default) No identifiers are attached to messages.

1

Adds identifiers to ERROR messages only.

2

Adds identifiers to ERROR and WARNING messages.

3

Adds identifiers to ERROR, WARNING, and NOTE messages.

4

Adds identifiers to ERROR, WARNING, NOTE, and certain other informational messages.

logdetail=false

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

See the loglevel option and the sd(5) manual page for more information.

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

This is the default command log file for the swremove 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.

0

provides no information to the logfile.

1

enables verbose logging to the log files.

2

enables very verbose logging to the log files.

See the logdetail option and the sd(5) manual page for more information.

mount_all_filesystems=true

By default, the swremove command attempts to automatically 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 which may be on mounted filesystems are available to be removed.

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

polling_interval=2

Defines the polling interval used by the Interactive UI of the controller. It specifies how often each target agent will be 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.

remove_empty_depot=true

Controls whether a depot is removed once the last product/bundle has been removed. If the depot is removed, the depot's swagent.log and directory structure are not removed by default. If the swagent.log and directory should be removed, the remove_empty_depot_directory option must also be set to true. Useful to set to false if you want to retain existing depot ACLs for subsequent depot reuse.

remove_empty_depot_directory=false

Controls whether a depot's swagent.log file and directory are also removed when the depot itself is removed. The swagent.log and directory will be removed if this option is set to true, the remove_empty_depot option is set to true and the last product/bundle has been removed from the depot.

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) manual page (type 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.

run_as_superuser=true

This option controls SD's nonprivileged mode. This option is ignored (treated as true) when the invoking user is super-user.

When set to the default value of true, SD operations are performed normally, with permissions for operations either granted to a local super-user or set by SD ACLs. (See swacl(1M) for details on ACLs.)

When set to false and the invoking user is local and is not super-user, nonprivileged mode is invoked:

  • Permissions for operations are based on the user's file system permissions.

  • SD ACLs are ignored.

  • Files created by SD have the uid and gid of the invoking user, and the mode of created files is set according to the invoking user's umask.

SD's nonprivileged mode is intended only for managing applications that are specially designed and packaged. This mode cannot be used to manage the HP-UX operating system or patches to it. For a full explanation of nonprivileged SD, see the Software Distributor Administration Guide, available at the http://docs.hp.com web site.

See also the admin_directory and installed_software_catalog options.

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=products

Indicates the software view to be used by the Interactive UI of the controller. It can be set to products, all_bundles, or a bundle category tag to indicate to show only bundles of that category.

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.

target_shared_root=
  • This option applies to HP-UX 10.X only.

Defines the default location of the alternate root directory.

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 removal of files from a remote (NFS) file system. When set to false, files on a remote file system are not removed.

If set to true and if the superuser has write permission on the remote file system, the remote files are removed.

Session File

Each invocation of swremove defines a task session. The command automatically saves options, source information, software selections, and target selections before the task actually commences. This lets you re-execute the command even if the session ends before the task is complete. You can also save session information from interactive or command-line sessions.

Session information is saved to the file $HOME/.sw/sessions/swremove.last. This file is overwritten by each invocation of the command. The file uses the same syntax as the defaults files.

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 the command with the -C session__file option. You can specify an absolute path for a session file. If you do not specify a directory, the default location 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 option.

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

Software and Target Lists

The swremove command supports software and target selection 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 swremove interactive user interface reads 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 or depots are specified in separate lists (hosts and hosts_with_depots respectively.) The list of hosts are enclosed in { } braces and separated by white space (blank, tab and newline). For example:

swremove.hosts={hostA hostB hostC hostD hostE hostF} swremove.hosts_with_depots={hostS}

Environment Variables

The environment variables that affect the swremove command are:

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.

LC_ALL

Determines the locale to be used to override any values for locale categories specified by the settings of LANG or any environment variables beginning with LC_.

LC_CTYPE

Determines the interpretation of sequences of bytes of text data as characters (e.g., single-versus multibyte characters in values for vendor-defined attributes).

LC_MESSAGES

Determines the language in which messages should be written.

LC_TIME

Determines the format of dates (create_date and mod_date) when displayed by swlist. Used by all utilities when displaying dates and times in stdout, stderr, and logging.

TZ

Determines the time zone for use when displaying dates and times.

Environment variables that affect scripts are:

SW_CATALOG

Holds the path to the Installed Products Database (IPD), relative to the path in the SW_ROOT_DIRECTORY environment variable. Note that you can specify a path for the IPD using the installed_software_catalog default option.

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_CONTROL_TAG

Holds the tag name of the control_file being executed. When packaging software, you can define a physical name and path for a control file in a depot. This lets you define the control_file with a name other than its tag and lets you use multiple control file definitions to point to the same file. A control_file can query the SW_CONTROL_TAG variable to determine which tag is being executed.

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 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 swremove are:

PRE_UNIX95

This variable and the UNIX95 variable are exported with a value that forces "classic" behavior of swremove instead of UNIX95 behavior. For HP-UX 10.30 and later versions, this variable is set to "1".

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 value of this variables is always equal to the value of SW_SESSION_IS_KERNEL.

SW_SESSION_IS_UPDATE

A value of 1 indicates the SD command was invoked during an Operating System update. This variable is set by the update-ux command.

UNIX95

This variable, along with the PRE_U95 variable, is exported with a value that forces "classic" behavior of swremove instead of UNIX95 behavior. For the 10.30 or later release of HP-UX, this variable is cleared.

Signals

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

The agent ignores SIGHUP, SIGINT, and SIGQUIT. It immediately exits gracefully after receiving SIGTERM, SIGUSR1, or SIGUSR2. Killing the agent may leave corrupt software on the system, and thus should only be done if absolutely necessary. Note that when an SD command is killed, the agent does not terminate until completing the task in progress.

The daemon ignores SIGHUP, SIGINT and SIGQUIT. It immediately exits gracefully after receiving SIGTERM and SIGUSR2. After receiving SIGUSR1, it waits for completion of a copy or remove from a depot session before exiting, so that it can register or unregister depots if necessary. Requests to start new sessions are refused during this wait.

Each agent will complete the removal task (if the execution phase has already started) before it wraps up. This avoids leaving software in a corrupt state.

Terminal Support

For in-depth information about terminal support refer to:

  • The Software Distributor Administration Guide.

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

RETURN VALUES

An interactive swremove session always returns 0. A non-interactive swremove session returns:

0

The software_selections were successfully removed.

1

The remove operation failed on all target_selections.

2

The remove operation failed on some target_selections.

DIAGNOSTICS

The swremove command writes to stdout, stderr, and to specific log files.

Standard Output

An interactive swremove session does not write to stdout. A non-interactive swremove 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 swremove session does not write to stderr. A non-interactive swremove session writes messages for all WARNING and ERROR conditions to stderr.

Logging

Both interactive and non-interactive swremove 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

A non-interactive swremove session logs all stdout and stderr messages to the the logfile /var/adm/sw/swremove.log. Similar messages are logged by an interactive swremove session. The user can specify a different logfile by modifying the logfile option.

Target Log

A swagent process performs the actual remove operation at each target_selection. When removing 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 removing available software (within a depot), the swagent logs messages to the file swagent.log beneath the depot directory (e.g. /var/spool/sw).

You can view command and target log files using the sd or swjob command.

swagentd Disabled

If the swagentd daemon has been disabled on the host, it can be enabled by the host's system administrator by setting the SW_ENABLE_SWAGENTD entry in /etc/rc.config.d/swconfig to 1 and executing /usr/sbin/swagentd -r.

EXAMPLES

Preview the remove of the C and Pascal products installed at the local host:

swremove -p cc pascal

Remove the C and Pascal products from several remote hosts:

swremove cc pascal @ hostA hostB hostC

Remove a particular version of HP Omniback:

swremove Omniback,l/opt/Omniback_v2.0

Remove the entire contents of a local depot:

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

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/.sw/defaults.

$HOME/.sw/defaults.hosts

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

$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 log files.

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

swremove was developed by the Hewlett-Packard Company.

SEE ALSO

swacl(1M), swagentd(1M), swask(1M), swconfig(1M), swcopy(1M), swinstall(1M), swjob(1M), swlist(1M), swmodify(1M), swpackage(1M), swreg(1M), swverify(1M), install-sd(1M), sd(4), swpackage(4), sd(5).

Software Distributor Administration Guide, available at http://docs.hp.com.

SD customer web site at http://docs.hp.com/en/SD/.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.