swconfig(8)							   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



								   swconfig(8)
