swconfig(8)

NAME
swconfig — Configure installed software

SYNOPSIS

swconfig  [-p] [-u]  [-c catalog] [-f file] [-t targetfile] \
[-x option=value]  [-X options_file]  [-W option] \
[software_selections]  [@targets]

DESCRIPTION

swconfig configures, unconfigures, and reconfigures installed software on a host. swconfig is a distributed utility. Neither swconfig 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.

swconfig operates on installed software and performs configuration primarily by executing the configure or unconfigure control scirpts. If these scripts do not exists for an installed package, then swconfig takes no action.

OPTIONS

-f FILE

    Read the list of software selections from FILE.

-p

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

-u

    Undo, run the unconfigure script.

-c catalog

    Specify a file of PSF or INDEX syntax or a directory containing the exported catalog.

        Note: This option is not yet implemented.

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

--postinstall

    run the postinstall or unpostinstall script

--force-locks

    override locking and delete existing lock

--send-environment

    Include existing environment variables in the remote host's execution environment. System and common varaiables are excluded and checks are made for tainted values.

--allow-ambig

    Allows swconfig 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.

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

USAGE EXAMPLES

  Run the configure script for package foo on 192.168.1.2:/

  swconfig foo @ root@192.168.1.2:/

  Show the options

  swconfig --show-options

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.

  POSIX

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

  allow_incompatible            = false # Not implemented
  allow_multiple_versions       = false # Not implemented
  ask                           = false # Not implemented
  autoselect_dependencies       = true # Not implemented
  autoselect_dependents         = true # Not implemented
  enforce_dependencies          = true # Not implemented
  installed_software_catalog    = var/lib/swbis/catalog/
  logfile                       = /var/log/sw.log
  loglevel                      = 1
  select_local                  = true # Not implemented
  reconfigure                   = false
  verbose                       = 1

  Swbis Implementation

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

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

RETURN VALUE

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

NOTES
 Multiple ssh-hops is an implementation extension.

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.

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

FILES

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

APPLICABLE STANDARDS

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

SEE ALSO

info swbis

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

IDENTIFICATION
 swconfig(8): The package configuration utility of the swbis project.
 Author: Jim Lowe Email: jhlowe at acm.org
 Version: 1.6
 Last Updated: 2010-01-22
 Copying: GNU Free Documentation License

BUGS

This section is left intentionally black