November, 2010



ctys-distribute - local and remote installation, bulk-distribution



   [-d <debug-options>]
   [-F (1|2|3|force|forceclean|forceall)]
   [-H <help-options>]
   [-l <remote login>]
   [-M <access-mask>]
   [-P (


ctys-distribute is the main interface for local and remote installation. The installation of a single target and an arbitrary list of remote targets for automated bulk installations is provided.

Various distribution and installation methods for distribution packages and installation types could be applied, these are for the current version:

File based installation:
File based installation uses an existing installation or an arbitrary copy of a valid directory tree. The contained revision could be either installed as a copy or as refrences by symbolic links for execution only. The configuration files are installed locally for the calling user in any case. These are nor replaced by default, just when '-F' option is used.

The ctys-distribute utility therefore resolves the actual physical location of the executable and performes the installation solely based on it's own physical directory tree. Therefore any copy of the ctys subtree could be used for independent local and remote installation, which is consistent as defined by the implemented release.

This has particularly some advance for custom installations, e.g. when the set of documents is required to be reduced it is sufficient just to delete the relevant files/directories.

In case of remote installation the current version uses excessive local-remote-interaction by ssh/scp based commands, thus for practical reasons requires automated remote login procedures. These could be for example either based on Kerberos or SSH-Keys. This might be reduced to at least one authentication in future versions.

The call of
  <path-to>/ctys-distribute.sh -F 2 -P UHC userA@hostB
installs the complete copy contained within the '<path-to>' directory tree. Therefore symbolic links are resolved to their actual physical paths, the resulting directory path to a valid copy is used. The copy has to be valid, but not neccessarily to be installed, or the current users active installation. The default when omitting a '<path-to>' is resolved by the PATH search algorithm and proceeded similar to the previos case. Resulting in using the current installation as the install source for the user 'userA@hostB', where the current configuration for 'userA@hostB' is deleted and replaced completely due to the '-F 2' option. Where UHC is the shortcut for 'UserHomeCopy'

The call of
  <path-to>/ctys-distribute.sh -F 2 -P UHL
installs the complete current installation on for the user 'userA@hostB', where the current configuration is deleted and replaced completely by '-F 2', and the source executables are referenced by symbolic links only. The documents are physically shared by search-path references. Where UHL is the shortcut for 'UserHomeLinkonly'

Once installed one of the following calls may be applied for further help. When a full installation with has proceeded, the suffix '.sh' could be omitted for the created symbolic links:
  <path-to>/ctys-distribute.sh -H man
  <path-to>/ctys-distribute.sh -H html=base
  <path-to>/ctys-distribute.sh -H html=doc
  <path-to>/ctys.sh -H man
  <path-to>/ctys.sh -H pdf
  <path-to>/ctys.sh -H html
  <path-to>/ctys.sh -H html=base
  <path-to>/ctys.sh -H html=doc
  <path-to>/ctys.sh -H path
  <path-to>/ctys.sh -H list

The following keys are not case sensitive, additionally the uppercase letters could be used as abbreviations - which are not case sensitive too, e.g. 'UHC' for 'UserHomeCopy', or 'uHc'.

UserHomeCopy installs for the current local or remote user a user-local copy into it's HOME directory with the standard ctys-directory structure.

UserHomeLinkonly installs for the current local or remote user a partial user-local copy, where the specific configuration files are copied, whereas the executables and documentation is set as symbolic links only.

SharedAnyDirectory variant installs a local copy for share usaged, thus sets up a common installation within any directory, but should be in accordance to common standards of the actual UNIX variant.

AnyDirectory variant installs a local copy only for shared usage.

Package based installation
Package based installation is forseen by means of the standard mechanisms. "ctys-distribute" could be used as a installer for the following install applications:

rpm The distributions rpm-CentOS, rpm-Fedora, and rpm-OpenSUSE are supported by the provided rpms. In the "install section" ctys-distribute can be applied as:

  ${PWD}/bin/ctys-distribute.sh -F 1 -P AnyDirectory,${INSTTARGET} localhost

This installs the complete package without configuration of user accounts.

The user accounts have to be configured by calling:

  /usr/share/bin/ctys-distribute.sh -F 1 -P UserHomeLinkonly localhost

When a previous installation is present the configuration directories should be updated too due to the circumstance, that these also contain some dynamic evaluation code. But these probably may contain some custom patches, thus the '-F 1' option preserves the configuration directory '$HOME/.ctys'. For forced update these may either be removed manually, or by usage of '-F 2' option.

deb ffs.

pkg-OpenBSD ffs.

pkg-Solaris ffs.

The utilitiy scp of the OpenSSH package is used for any transfer, thus remote SSH access is required.

The call evaluates its own actual physical file location by recursive dereferencing symbolic links and uses the actual containing distribution for further steps. Thus if a specific distribution outside the search path is to be installed, the call path has to be provided explicitly: <path-to-installbase>/bin/ctys-distribute




-d <debug-args>
Refer to "ctys" generic options for additional information.

-F (1|2|3|force|forceclean|forceall)
Bypassed to ctys-install1.sh

Print help, refer to "-H" for additional information.

-H <help-option>
The extended help option is based on system interfaces for display of manpages, PDF and HTML documents. This comprises the man pages and installed manuals.

For additional help refer to the documents or type ctys -H help.

-l <remote login>
The remote USER to be used as a EMail style prefix for all given remote hostnames within the <list-of-target-acounts>. This option is supported with hostname-only targets, it cannot be intermixed with EMail style <USER>@<HOST> targets.

-M <access-mask>
Access mask for post-chmod, where the value is literally passed to:

"chmod -R <access-mask> <base-lib-dir>"

The user-local file access permissions remain unmodified.

Creates menu entries during installation by call of ctys-xdg. The creation of SHARED manus requires root permissions. The --force option is not provided, thus the entries could be installed on supported and verified desktops only. For the remaining the tool ctys-xdg has to be called manually.

-P <pkg-type>
This option supports the selection of prepared installation packages, which are automated by preconfigured parameters or to be finished by interactive dialogue from the command line interface.

The packages are prepared during build operations within the local "packages" directory for the current version.

For system directory appropriate access permissions are required.


Terse output format, effects "-V" when set left-of.



The target accounts appropriate for the ssh/scp-call, where the install process shout be executed.

The provided formats are a list of EMail style hostnames or pure hostnames. EMail style hostnames are not supported in conjunction with the "-l" option.

For any hostname without a user-prefix either the current USER or the user from the "-l" option is prepended.



0: OK:
Result is valid.

1: NOK:
Erroneous parameters.

2: NOK:
Missing an environment element like files or databases.


ctys use-cases

ctys plugins
ctys-KVM(7), ctys-QEMU(7), ctys-VMV(7), ctys-XEN(7), ctys-VBOX(7)
ctys-CLI(7), ctys-PM(7), ctys-VNC(7), ctys-X11(7)

ctys executables
ctys-genmconf(1), ctys-install(1), ctys-plugins(1), ctys-vhost(1)

system executables


Written and maintained by Arno-Can Uestuensoez:

Maintenance: <<acue_sf1 (a) sourceforge net>>
Homepage: <http://www.UnifiedSessionsManager.org>
Sourceforge.net: <http://sourceforge.net/projects/ctys>
Berlios.de: <http://ctys.berlios.de>
Commercial: <http://www.i4p.com>


Copyright (C) 2008, 2009, 2010 Ingenieurbuero Arno-Can Uestuensoez

This is software and documentation from BASE package,

For additional information refer to enclosed Releasenotes and License files.