3. Install Connext for Debian
3.1. Basic Installation
After configuring access to RTI’s public APT repository,
use the rti-connext-dds-<version>
metapackage to install a full version of
Connext:
sudo apt-get install rti-connext-dds-<version>
The installation, under /opt/rti.com/rti_connext_dds-<version>
, includes:
The SDK to build your distributed applications.
Tools that help you design, visualize, and debug your system.
Infrastructure services that perform dedicated functions in your system, such as recording, bridging, and persisting data.
Important
To successfully install an RTI Debian package, an interactive terminal and user input are required. When prompted to review the RTI License Agreement, you must accept its terms.
The installation process will fail if the user input cannot be gathered, or if the terms are refused.
See Non-interactive Installation for information on how to install Connext in unattended environments.
3.2. Loading Connext
The Debian packages include a license-managed version of Connext that requires a valid RTI license file to be made available on the system.
3.2.1. Evaluation License
To get a free evaluation license file, go to https://www.rti.com/free-trial.
After completing a brief form, you will receive an email with the license
file, rti_license.dat
. Save this file to a location on your system.
3.2.2. Configure Connext Environment
The rtienv
utility is used to manage the environment for Connext.
When Connext is installed with Debian packages, you can easily configure
your evironment using rtienv
. Use the following command to specify your
license file and activate it for the current user:
# Load the default RTI Connext installation using a custom license file path
eval $(rtienv -l <path to rti_license.dat>)
Upon running the above command:
All Connext components are automatically added to the shell’s
PATH
.The Connext C/C++ libraries are loaded through
LD_LIBRARY_PATH
.The license file is exported through
RTI_LICENSE_FILE
.
To install a license file globally for all users on the system, copy
rti_license.dat
into the Connext installation directory
(/opt/rti.com/rti_connext_dds-<version>
):
# Install license file as root
sudo cp /path/to/rti_license.dat /opt/rti.com/rti_connext_dds-<version>/rti_license.dat
# Users can now load Connext without specifying a license file
eval $(rtienv)
The global license file is preserved between upgrades,
and it is automatically deleted once you purge the package
rti-connext-dds-<version>-common
from your system.
3.3. Customized Installation
You can customize your Connext installation by only installing packages for the components required by your system.
Use the following command to see a full list of all available Connext packages:
apt-cache search rti-connext-dds-<version>
The following table summarizes some of the most common use cases and the packages required for each:
Package |
Use Case |
---|---|
|
Run a C/C++/Java application using the Connext Core APIs |
|
Debug a C/C++/Java application using the Connext Core APIs |
|
Build a C/C++/Java application using the Connext Core APIs |
|
Generate code using RTI Code Generator ( |
|
Install all Connext infrastructure services |
|
Run one of the Connext infrastructure services |
|
Build a C/C++/Java application using the SDK of one of the Connext infrastructure services |
|
Run one of the Connext infrastructure services in debug mode |
|
Run all Connext tools |
|
Run one of the Connext command-line tools |
|
Run one of the Connext GUI tools |
Warning
The following Connext tools and services are only available on
amd64
systems:
Cloud Discovery Service
All Connext GUI Tools
3.4. Non-Interactive Installation
All of the Connext Debian packages depend on the package
rti-connext-dds-<version>-common
. During installation, this package
requires you to explictly agree to the RTI License Agreement. The
installation will fail if this input cannot be requested (for example,
if the package is being installed from a non-interactive terminal).
The preferred way to enable unattended installation is by pre-configuring
your system’s debconf
database to accept the RTI License Agreement
before installing the package:
# Preseed debconf database
echo "rti-connext-dds-<version>-common rti-connext-dds-<version>/license/accepted select true" |
sudo debconf-set-selections
# Install rti-connext-dds-<version>-common
sudo apt-get install rti-connext-dds-<version>-common
Your selection is stored in the system database until the installed Debian
package is purged (for example, by using the apt purge
or
apt remove --purge
commands).
Alternatively, you can enable an unattended installation by setting the
RTI_LICENSE_AGREEMENT_ACCEPTED
variable for user root
to value
accepted
. This method is less convenient because environment variables are
not automatically propagated by the sudo
command; therefore, the following
command should only be used from a root
shell:
# Switch shell to root
sudo su -
# Set environment variable to accept the RTI License Agreement
export RTI_LICENSE_AGREEMENT_ACCEPTED=accepted
# Install rti-connext-dds-<version>-common
apt-get install rti-connext-dds-<version>-common
3.5. Handling Multiple Versions
The Connext Debian packages allow you to install multiple versions of
Connext on the same system. Use the rtienv
utility, included with all
installed versions of Connext, to easily switch between different
versions. rtienv
acts as a version alias; by default, it points
to the most recent version of Connext installed on the system.
To load the latest Connext version, run the following command:
# Load the most recent RTI Connext on the system
eval $(rtienv)
To load a specific Connext version, use the rtienv
alias for
that version. For example, to make sure you are using Connext, you would
use rtienv-<version>
:
# Load RTI Connext explicitly
eval $(rtienv-<version>)
To modify the version used to provision the rtienv
alias, use Debian’s
update-alternatives
command:
List available Connext versions:
update-alternatives --list rtienv
Print information about the currently selected version:
update-alternatives --display rtienv
Manually select a different version from those available:
sudo update-alternatives --config rtienv
To get a list of all versions of Connext installed on your system (ordered from oldest to newest), use the following command:
update-alternatives --list rtienv | xargs -n 1 basename | cut -d- -f2 | sort
3.6. Support for RTI Packages
Warning
Mixing Debian packages and RTI packages in the same Connext installation is not recommended. APT cannot manage files installed by an RTI package, nor differentiate between files installed by an RTI or a Debian package.
After installing Connext Professional using a Debian package, you may want to
install additional Connext components using an RTI installation package
(*.rtipkg
). While it is not recommended, RTI packages can be installed
using RTI Launcher or the rtipkginstall
CLI command.
RTI Packages must be installed as user root
because of the permissions on
the Connext installation directory.
To install an RTI package from the command line:
# Install the rtipkg file sudo /opt/rti.com/rti_connext_dds-<version>/bin/rtipkginstall <package>.rtipkg
To install an RTI package using RTI Launcher:
Start RTI Launcher as user root:
# Start RTI Launcher: sudo /opt/rti.com/rti_connext_dds-<version>/bin/rtilauncher <package>.rtipkg
From the Configuration tab, click Install RTI Packages. Add the location of your target file, then click Install.
Installed RTI packages are recorded in the file /opt/rti.com/rti_connext_dds-<version>/rti_versions.xml
.
This file is marked as a conffile (see Debian Policy Manual),
which means that APT will not overwrite nor delete it if you modify it
(unless Connext is purged from the system).
When mixing Debian packages and RTI packages in the same installation directory, it is important to keep in mind that APT does not know about files installed by an RTI package. For that reason:
Any file installed by a Debian package that is overwritten by an RTI package will be deleted when the Debian package is removed.
Any additional files installed by an RTI package into a Debian Connext installation will be left on disk, even when Connext is purged. Any such files must be deleted manually, as in the following example:
# Make sure Connext is purged from the system sudo apt purge rti-connext-dds-<version>-common # Delete left-over files sudo rm -rf /opt/rti.com/rti_connext_dds-<version>/