ncs-installer
ncs-installer
- NCS installation script
Synopsis
ncs-VSN.OS.ARCH.installer.bin [--local-install] LocalInstallDir
ncs-VSN.OS.ARCH.installer.bin --system-install [--install-dir InstallDir] [--config-dir ConfigDir] [--run-dir RunDir] [--log-dir LogDir] [--run-as-user User] [--keep-ncs-setup] [--non-interactive] [--ignore-init-scripts] [--ignore-systemd-script]
Description
The NCS installation script can be invoked to do either a simple "local installation", which is convenient for test and development purposes, or a "system installation", suitable for deployment.
Local Installation
[ --local-install ] LocalInstallDir
When the NCS installation script is invoked with this option, or is given only the <LocalInstallDir> argument, NCS will be installed in the <LocalInstallDir> directory only.
System Installation
--system-install
When the NCS installation script is invoked with this option, it will do a system installation that uses several different directories, in accordance with Unix/Linux application installation standards. The first time a system installation is done, the following actions are taken:
The directories described below are created and populated.
An init script for start of NCS at system boot is installed.
User profile scripts that set up
$PATH
and other environment variables appropriately for NCS users are installed.A symbolic link that makes the installed version the currently active one is created (see the
--install-dir
option).
[ --install-dir InstallDir ]
This is the directory where static files, primarily the code and libraries for the NCS daemon, are installed. The actual directory used for a given invocation of the installation script is
InstallDir/ncs-VSN
, allowing for coexistence of multiple installed versions. The currently active version is identified by a symbolic linkInstallDir/current
pointing to one of thencs-VSN
directories. If the--install-dir
option is omitted,/opt/ncs
will be used for <InstallDir>.
[ --config-dir ConfigDir ]
This directory is used for config files, e.g.
ncs.conf
. If the--config-dir
option is omitted,/etc/ncs
will be used for <ConfigDir>.
[ --run-dir RunDir ]
This directory is used for run-time state files, such as the CDB data base and currently used packages. If the
--run-dir
option is omitted,/var/opt/ncs
will be used for <RunDir>.
[ --log-dir LogDir ]
This directory is used for the different log files written by NCS. If the
--log-dir
option is omitted,/var/log/ncs
will be used for <LogDir>.
[ --run-as-user User ]
By default, the system installation will run NCS as the
root
user. If a different user is given via this option, NCS will instead be run as that user. The user will be created if it does not already exist. This mode is only supported on Linux systems that have thesetcap
command, since it is needed to give NCS components the required capabilities for some aspects of the NCS functionality.When the option is used, the following executable files (assuming that the default
/opt/ncs
is used for--install-dir
) will be installed with elevated privileges:
/opt/ncs/current/lib/ncs/lib/core/pam/priv/epam
Setuid to root. This is typically needed for PAM authentication to work with a local password file. If PAM authentication is not used, or if the local PAM configuration does not require root privileges, the setuid-root privilege can be removed by using
chmod u-s
.
/opt/ncs/current/lib/ncs/erts/bin/ncs
/opt/ncs/current/lib/ncs/erts/bin/ncs.smp
Capability
cap_net_bind_service
. One of these files (normallyncs.smp
) will be used as the NCS daemon. The files have execute access restricted to the user given via--run-as-user
. The capability is needed to allow the daemon to bind to ports below 1024 for northbound access, e.g. port 443 for HTTPS or port 830 for NETCONF over SSH. If this functionality is not needed, the capability can be removed by usingsetcap -r
.
/opt/ncs/current/lib/ncs/bin/ip
Capability
cap_net_admin
. This is a copy of the OSip(8)
command, with execute access restricted to the user given via--run-as-user
. The program is not used by the core NCS daemon, but provided for packages that need to configure IP addresses on interfaces (such as thetailf-hcc
package). If no such packages are used, the file can be removed.
/opt/ncs/current/lib/ncs/bin/arping
Capability
cap_net_raw
. This is a copy of the OSarping(8)
command, with execute access restricted to the user given via--run-as-user
. The program is not used by the core NCS daemon, but provided for packages that need to send gratuitous ARP requests (such as thetailf-hcc
package). If no such packages are used, the file can be removed.[!NOTE] When the
--run-as-user
option is used, all OS commands executed by NCS will also run as the given user, rather than as the user specified for custom CLI commands (e.g. through clispec definitions).
[ --keep-ncs-setup ]
The
ncs-setup
command is not usable in a "system installation", and is therefore by default excluded from such an installation to avoid confusion. This option instructs the installation script to includencs-setup
in the installation despite this.
[ --non-interactive ]
If this option is given, the installation script will proceed with potentially disruptive changes (e.g. modifying or removing existing files) without asking for confirmation.
[ --ignore-init-scripts ]
If given this option, the installation script will not install systemd or SysV scripts. This can be useful when running in, for example, a containerized environment where init scripts are typically not used.
[ --ignore-systemd-script ]
If given this option, the installation script will not install systemd script. The script installs SysV scripts instead.
Last updated
Was this helpful?