Untitled

\. \\!%PB \\!/showpage{}def \\!/tempdict 200 dict def tempdict begin \\!end % tempdict % \\!PE \\!. ' br \} ' br \} ' br \} ' br \}

Next: NAME, Up: (dir)

## 1 swremove" "8

Next: SYNOPSIS, Previous: Top, Up: Top

### 1.1 NAME

swremove — Remove installed software

Next: DESCRIPTION, Previous: NAME, Up: Top

### 1.2 SYNOPSIS

         swremove  [-d|-r] [-v] [-t targetfile] \\
         [-x option=value]  [-X options_file]  [-W option] \\
         [software_selections]  [@targets]

         swremove –cleansh [options] [@targets]

Next: OPTIONS, Previous: SYNOPSIS, Up: Top

### 1.3 DESCRIPTION

swremove removes installed software. swremove is a distributed utility. Neither swremove nor any component of swbis is required on the target host, however, the target host must look like a Unix system at the shell and command-line utility level. Remote network connections are made by ssh. Ssh is the default but rsh can be selected by a command line option.

swremove operates on installed software identified by a software selection and target.

Next: USAGE EXAMPLES, Previous: DESCRIPTION, Up: Top

### 1.4 OPTIONS

-d

> Specify the target is a distribution.

> > Note: This is currently not supported by this implementation.

-f FILE

> Read the list of software selections from FILE.

-p

> Preview mode, establish contact with target host, however, modify nothing.

-r

> Indicates that the operation is on installed software at a location indicated by the the target.

> > Note: This is the default mode among -d and -r

-t targetfile

> Specify a file containing a list of targets (one per line).

-v

> Increment the verbose level.

-x option=value

> Specify the extended option overriding the defaults file value.

-X FILE

> Specify the extended options filename, FILE, overriding the default filenames. This option may be given more then once. If the resulting specified value is an empty string then reading of any options file is disabled.

−−help

> Show help (Implementation extension)

-W option[,option,...]

> Specify the implementation extension option. Syntax: -W option[=option`_`argument[,option...] Options may be separated by a comma. The implementation extension options may also be given individually using the '−−long-option[=option`_`arg]' syntax.

–allow-ambig

> Allows swremove to act on all matching entries. Without this option a software selection that matches more than one installed software entry is an error.

–sig-level=N

> Specify number of required GPG signatures, N equal to 0 means don't require the catalog to be signed.

–cleansh

> Kill stray or zombied processes that match the pattern “sh -s.*`_`swbis”. These may be caused by a distributed utility segfaulting or a signal handling defect in the swbis utility.

-W remote-shell=SHELL

> Defaults File Option: swbis`_`remote`_`shell`_`client Supported shells are "ssh" and "rsh", ssh is the default.

-W show-options-files

> Show the complete list of options files and if they are found.

-W show-options

> Show the options after reading the files and parsing the command line options.

-W pax-command={tar|pax|star|gtar}

> Set the portable archive command for all operations. The default is "pax".

-W pax-read-command={tar|pax|star|gtar}

> Set the read command for local and remote hosts.

-W remote-pax-read-command={tar|pax|star|gtar}

> Defaults File Option: swbis`_`remote`_`pax`_`read`_`command

> Set the read command for remote hosts. This is the command that runs on the target (e.g. pax -r, tar xpf -). The default is "pax".

-W local-pax-read-command={tar|pax|star|gtar}

> Defaults File Option: swbis`_`local`_`pax`_`read`_`command

> Set the read command for local hosts. This is the command that runs on the target (e.g. pax -r, tar xpf -). The default is "pax".

-W pax-write-command={tar|pax|star|gtar|swbistar}

> Set the write command for local and remote hosts. This is the command that runs on the target (e.g. pax -w, tar cf -).

-W remote-pax-write-command={tar|pax|star|gtar|swbistar}

> Defaults File Option: swbis`_`remote`_`pax`_`write`_`command

> Set the write command for remote hosts.

-W local-pax-write-command={tar|pax|star|gtar|swbistar}

> Defaults File Option: swbis`_`local`_`pax`_`write`_`command

> Set the portable archive write command for local host operations. This is the command that runs on the source (e.g. pax -w, tar cf -). The default is "pax".

-W remote-pax-write-command={tar|pax|star|gtar|swbistar}

> Defaults File Option: swbis`_`remote`_`pax`_`write`_`command

> Set the portable archive write command for remote host operations. This is the command that runs on the source (e.g. pax -w, tar cf -). The default is "pax".

-W no-defaults

> Do not read any defaults files.

-W no-getconf

> Defaults File Option: swbis`_`no`_`getconf Makes the remote command be '/bin/sh -s' instead of the default 'PATH=`getconf PATH` sh -s'.

-W shell-command=NAME

> Defaults File Option: swbis`_`shell`_`command NAME may be one of "bash", "sh" or "posix" and specifies the remote command run by the remote shell. "posix" is 'PATH=`getconf PATH` sh -s', "bash" is "/bin/bash -s", "sh" is "/bin/sh -s", and "ksh" is "ksh -s". The default is "posix".

-W use-getconf

> Opposite of −−no-getconf.

-W source-script-name=NAME

> Write the script that is written into the remote shell's stdin to NAME. This is useful for debugging.

-W target-script-name=NAME

> Write the script that is written into the remote shell's stdin to NAME. This is useful for debugging.

software`_`selections

> Refer to the software objects (products, filesets) using software spec syntax. (See sw(5) for syntax).

target

> Refers to the software`_`collection where the software selections are to be applied. Allows specification of host and pathname where the software collection is located. A target that contains only one part is assumed to be a hostname. To force interpretation as a path, use a absolute path or prefix with ':'.

         Source and Target Specification and Logic

              Synopsis:
                   Posix:
                        host[:path]
                        host
                        host:
                        /path  # Absolute path

                   Swbis Extension:
                        [user@]host[:path]
                        [user@]host_port[:path]
                        :path

                   Swbis Multi-hop Target Extension:
                        # ':' is the target delimiter
         	       # '_' delimits a port number in the host field

                        [user@]host[@@[user@]host[@@...]][:file]
                        [user@]host_port[@@[user@]host[@@...]][:file]

                        # Using ':', a trailing colon is used to
                        # disambiguate between a host and file.
         	       # For Example,
                        :file
                        host:
                        host
                        host:file
                        host:host:
                        host_port:host_port:
                        host:host:file
                        user@host:user@host:
                        user@host:user@host:host:
                        user@host:user@host:file

              A more formal description:

              target : HOST_CHARACTER_STRING ':' PATHNAME_CHARACTER_STRING
                     | HOST_CHARACTER_STRING ':'
                     | HOST_CHARACTER_STRING
                     | PATHNAME_CHARACTER_STRING
                     | ':' PATHNAME_CHARACTER_STRING   # Impl extension
                     ;

                PATHNAME_CHARACTER_STRING must be an absolute path unless
                                a HOST_CHARACTER_STRING is given.  Allowing
                                a relative path is a feature of the swbis
                                implementation.

                         NOTE: A '.' as a target is an implementation
                               extension and means extract in current
                               directory.

                         NOTE: A '-' indicating stdout/stdin is an
                               implementation extension.

                         NOTE: A ':' in the first character indicates a filename.
                               This is an implementation extension.

                HOST_CHARACTER_STRING is an IP or hostname.

             Examples:
                Copy the  distribution /var/tmp/foo.tar.gz at 192.168.1.10
                       swcopy -s /var/tmp/foo.tar.gz @192.168.1.10:/root

         Implementation Extension Syntax (multi ssh-hop) :
             Syntax:
             %start   wtarget    # the Implementation Extension Target
                                 # Note: a trailing ':' forces interpretation
                                 # as a host, not a file.
             wtarget   : wtarget DELIM sshtarget
                       | sshtarget
                       | sshtarget DELIM
                       ;
             sshtarget : user '@' target # Note: only the last target
                       | target          # may have a PATHNAME, and only a host
                       ;                 * may have a user
             target   : HOST_CHARACTER_STRING
                      | PATHNAME_CHARACTER_STRING
                      ;
             user     : PORTABLE_CHARACTER_STRING  # The user name

             DELIM    : ':'   # The multi-hop delimiter.
                      ;

Next: EXTENDED OPTIONS, Previous: OPTIONS, Up: Top

### 1.5 USAGE EXAMPLES

Next: Preview removal of every package listing every file but modify nothing, Up: USAGE EXAMPLES

#### 1.5.1 Remove everything at 192.168.1.2 from the root directory

           swremove –allow-ambig \\* @ root@192.168.1.2:/

Next: Remove everything at 192 168 1 2 from the home directory of user 'jailbird', Previous: Remove everything at 192 168 1 2 from the root directory, Up: USAGE EXAMPLES

#### 1.5.2 Preview removal of every package listing every file, but modify nothing

           swremove -vv -p –allow-ambig \\* @ root@192.168.1.2:/

Next: Remove package foo from the root '/' or elevate your credentials via ssh, Previous: Preview removal of every package listing every file but modify nothing, Up: USAGE EXAMPLES

#### 1.5.3 Remove everything at 192.168.1.2 from the home directory of user 'jailbird'.

           swremove –allow-ambig \\* @ jailbird@192.168.1.2:.

Next: Show the options, Previous: Remove everything at 192 168 1 2 from the home directory of user 'jailbird', Up: USAGE EXAMPLES

#### 1.5.4 Remove package foo from the root '/', or elevate your credentials via ssh

           swremove foo @ /
           swremove foo @ root@localhost:/

Previous: Remove package foo from the root '/' or elevate your credentials via ssh, Up: USAGE EXAMPLES

#### 1.5.5 Show the options

           swremove –show-options

Next: RETURN VALUE, Previous: USAGE EXAMPLES, Up: Top

### 1.6 EXTENDED OPTIONS

Extended options can be specified on the command line using the -x option or from the defaults file, swdefaults. Shown below is an actual portion of a defaults file which show default values.

Next: Swbis Implementation, Up: EXTENDED OPTIONS

#### 1.6.1 POSIX

These options are set in the /usr/lib/swbis/swdefaults or the ~/.swdefaults on the local (management host, host where swremove is invoked). These files on the target host are not used.

           autoselect_dependencies       = false
           distribution_target_directory = /
           enforce_dependencies          = false
           enforce_scripts               = true
           installed_software_catalog    = var/lib/swbis/catalog/
           logfile                       = /var/log/sw.log
           loglevel                      = 1
           select_local                  = true
           verbose                       = 1

Previous: POSIX, Up: EXTENDED OPTIONS

#### 1.6.2 Swbis Implementation

These options are set in the /usr/lib/swbis/swbisdefaults or the ~/.swbis/swbisdefaults file.

            swremove.swbis_no_getconf = true # true or false
           swremove.swbis_shell_command = posix # {sh|bash|posix|ksh}
           swremove.swbis_no_remote_kill = false # true or false
           swremove.swbis_local_pax_write_command=tar #{pax|tar|star|gtar}
           swremove.swbis_remote_pax_write_command=tar #{pax|tar|star|gtar}
           swremove.swbis_local_pax_read_command=tar #{pax|tar|gtar|star}
           swremove.swbis_remote_pax_read_command=tar #{pax|tar|gtar|star}
           swremove.swbis_local_pax_remove_command=tar
           swremove.swbis_remote_pax_remove_command=tar
           swremove.swbis_remote_shell_client=ssh
           swremove.swbis_forward_agent=True
           swremove.swbis_sig_level=0

           swremove.swbis_enforce_all_signatures=false

Next: NOTES, Previous: EXTENDED OPTIONS, Up: Top

### 1.7 RETURN VALUE

0 if all targets succeeded, 1 if all targets failed or internal error, 2 if some targets failed and some succeeded.

Next: REQUISITE UTILITIES, Previous: RETURN VALUE, Up: Top

### 1.8 NOTES

Multiple ssh-hops is an implementation extension.

Next: FILES, Previous: NOTES, Up: Top

### 1.9 REQUISITE UTILITIES

The swbis distributed utilities require bash, public domain ksh, or Sun's /usr/xpg4/bin/sh to be present on the target host. If the swbis`_`shell`_`command extended option is set to 'detect' you don't have to know which one is present, otherwise you may specify one explicitly.

A POSIX awk is required, and with the ability to specify several thousand bytes of program text as a command argument. GNU awk works, as does the ATT Awk book awk, and the awk on BSD systems. See the INSTALL file for further details regarding a small issue with the OpenSolaris (c.2006) awk.

GNU Privacy Guard, gpg is required for verification of package signatures.

swremove uses rm and rmdir for file and directory removal.

Other utilities required to be in $PATH on the remote host are: dd, pax (or tar|star|gtar), mkdir, echo, test, sleep, read (if not builtin).

Next: APPLICABLE STANDARDS, Previous: REQUISITE UTILITIES, Up: Top

### 1.10 FILES

         /var/lib/swbis/catalog # Location of installed catalog
         /usr/lib/swbis/swdefaults
         /usr/lib/swbis/swbisdefaults
         $HOME/.swbis/swdefaults
         $HOME/.swbis/swbisdefaults

Next: SEE ALSO, Previous: FILES, Up: Top

### 1.11 APPLICABLE STANDARDS

ISO/IEC 15068-2:1999, Open Group CAE C701

Next: IDENTIFICATION, Previous: APPLICABLE STANDARDS, Up: Top

### 1.12 SEE ALSO

info swbis

swbis(7), sw(5), swlist(8)

Next: BUGS, Previous: SEE ALSO, Up: Top

### 1.13 IDENTIFICATION

swremove(8): The package removal utility of the swbis project. Author: Jim Lowe Email: jhlowe at acm.org Version: 1.13.1 Last Updated: 2008-04-18 Copying: GNU Free Documentation License

Previous: IDENTIFICATION, Up: Top

### 1.14 BUGS

swremove is subject to breakage if a user's account on an intermediate (or terminal) host in a target spec is not configured to use a Bourne compatible shell. (This breakage may be eliminated by use of the –no-getconf option as explained above.) swremove does not support rollback if an error occurs during processing.