ctys-distribute
November, 2010
.
NAME
ctys-distribute - local and remote installation, bulk-distribution
SYNTAX
ctys-distribute
[-d <debug-options>]
[-F (1|2|3|force|forceclean|forceall)]
[-h]
[-H <help-options>]
[-l <remote login>]
[-M <access-mask>]
[--menu-create=(PRIVATE|SHARED)]
[-P (
(UserHomeCopy|UHC)
|(UserHomeLinkonly|UHL)
|(SharedAnyDirectory|SAD),<subopts>
|(SharedAnyLinkonly|SAL),<subopts>
|(AnyDirectory|AD),<subopts>
)]
[-V]
[-X]
<list-of-target-acounts>
DESCRIPTION
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:
INSTBASE=${RPM_BUILD_ROOT}/usr/share
INSTTARGET=${INSTBASE}/${RPM_PACKAGE_NAME}-${RPM_PACKAGE_VERSION}
${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
ATTENTION:
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
.
OPTIONS
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
- -h
-
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.
- --menu-create=(PRIVATE|SHARED)
-
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.
- (UserHomeCopy|UHC):
Creates a copy in $HOME/lib and sets links to $HOME/bin.
- (UserHomeLinkonly|UHL):
Creates sets links to $HOME/bin from execution directory.
- (SharedAnyDirectory|SAD),<install-directory>[,<link-directory>]:
The links will be set within the standard directory conventions.
- <install-directory>:
Directory for installation of non-user specific files.
- <link-directory>:
The links to be set, default is "${HOME}/bin".
- (SharedAnyLinkonly|SAL),<reference-directory>,<link-directory>:
Any directory could be linked, this could be used e.g. for providing
sysmbolic links within standard search PATH.
- <reference-directory>:
Directory for targets of symbolic links to non-user specific files.
- <link-directory>:
The links to be set.
- (AnyDirectory|AD),<install-directory>:
Copies only without setup of configuration.
Foreseen for build process only.
- <install-directory>:
Directory for installation of non-user specific files.
- -V
-
Version.
- -X
-
Terse output format, effects "-V" when set left-of.
.
ARGUMENTS
- <list-of-target-acounts>
-
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.
.
EXIT-VALUES
- 0: OK:
-
Result is valid.
- 1: NOK:
-
Erroneous parameters.
- 2: NOK:
-
Missing an environment element like files or databases.
SEE ALSO
- ctys use-cases
-
ffs.
- ctys plugins
-
- PMs
-
ctys-PM(7)
- VMs
-
ctys-KVM(7), ctys-QEMU(7), ctys-VMV(7), ctys-XEN(7), ctys-VBOX(7)
- HOSTS
-
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
-
ffs.
AUTHOR
Written and maintained by Arno-Can Uestuensoez:
COPYRIGHT
Copyright (C) 2008, 2009, 2010 Ingenieurbuero Arno-Can Uestuensoez
This is software and documentation from BASE package,
- for software see GPL3 for license conditions,
- for documents see GFDL-1.3 with invariant sections for license conditions.
The whole document - all sections - is/are defined as invariant.
For additional information refer to enclosed Releasenotes and License files.