Installation on Linux

This article guides you through the installation process of the ABB Ability™ History on Linux. The article covers installation on Debian-based distributions, as well as on Arch Linux.

Currently, ABB Ability™ History the installation packages are only available within ABB's intranet, but they are planned to be released on a public internet server at a later date.

As part of the ABB Ability™ History like is written in managed code, you will need to install one of the managed code frameworks. There are currently two versions of the managed components provided — one set targeting Microsoft's .NET Core and another set targeting Mono framework. The .NET Core version is a bit more lightweight and does not include all the functionality (like Vtrin GUI). Although at the time of writing the .NET Core version is a bit more unstable and might require more fine-tuning, it is aimed that in the future it will be the officially supported version (which does not mean that Mono could not be officially supported as well). Both Mono and .NET Core versions can co-exist in the same machine, so you can easily try them both.

There are multiple versions of packages available, the Main and QA are mainly for testing purposes and then versions with a version number like 5.2 that are production releases.

📘

Currently, there is no way to create an RTDB database within ARM-based Linux. You need to create the database in Windows or x86/x64 Linux and copy it over. The default database location is /var/lib/rtdbdata.

Supported distributions and platforms

Summary of supported distributions:

Distro namePlatform(s)
Arch Linuxx86_64
Arch Linux ARMarmv7h, aarch64
Debian Stretchx86, x86_64, armv7h, aarch64
Debian Busterx86, x86_64, armv7h, aarch64
Fedora 27+x86_64, aarch64 (coming soon)

Debian versions might, but are not guaranteed to work on other Debian based distributions, like Ubuntu as long as the correct set of packages is used. To find the Debian version the installed Ubuntu is based on top of, please check /etc/debian_version. Currently, there is a known issue with Ubuntu 18.04 that prevents OPCUAClient from starting up due to incorrect OpenSSL version shipped with Ubuntu (Debian Buster ships with 1.1.1, while Ubuntu 18.04 has 1.1.0 based).

Arch Linux support also covers all other Arch-based distributions like Manjaro. While not guaranteed, it is not expected that there are similar problems as with Ubuntu as Arch philosophy of versioning is fundamentally different from Debian's.

Installation on Debian

Prerequisites

You need to be able to access the internet and install packages to the Linux system. To access ABB's repository, you will need to set up your package management system's proxy (/etc/apt/apt.conf) the following way.

Acquire::http::Proxy::cpmplus-repository.abb.com DIRECT;
Acquire::http::Proxy "http://access1109.cws.sco.cisco.com:8080";

The package configuration should have main and updates components in Debian. Some systems deployed by ABB IS seem to lack the "main" repository for some reason. So a line similar to this should be in the /etc/apt/sources.list.

deb http://deb.debian.org/debian stretch main

Add the repository

To use the Main build, run the following command as root, it will update your package manager with our repository:

echo "deb [trusted=yes] https://cpmplus.net/D809E078-AAD4-40E8-9636-B9BE0D86AF48/debian/ stretch main" | sudo tee /etc/apt/sources.list.d/cpmplus.list
📘

Instead of HTTPS, you may want to use HTTP. If you want to use HTTPS, you need to install the ABB root certificate and also the intermediate certificates as trusted root certificates.

Installing Mono versions

The Mono installation method varies between different versions of Debian. Debian buster contains the supported version of mono currently and no further actions are needed. For Debian Stretch, the included mono is too old. For that version, you need to add the repository as described in the next step. The main branch version in mono repo is now at version 6, which has an issue and cannot be used.

Preliminary Step On Debian Stretch

When using Mono on Debian Stretch, the version 5.16 or newer is required from outside sources (Debian Buster has 5.18 in its repo, so this step should NOT be executed), see instructions. If you are using Ubuntu instead of Debian, you can follow instructions from the Ubuntu tab. Ubuntu universe repositories also have mono-devel but its older version. Make sure it doesn't conflict with the 5.16 from mono repositories.

📘

When adding the Mono Project GPG key, it might be necessary to add the following option to the apt-key command right after the --keyserver xxx parameter:

--keyserver-options http-proxy=http://access1109.cws.sco.cisco.com:8080

On all Debian versions

Update the package metadata and install the packages by running the following commands as root.

sudo apt-get update
sudo apt-get install cpmplushistorymono

The Mono based ABB Ability™ History is installed to /usr/share/cpmplus/mono.

Installing .NET Core versions

When using .NET Core, version 2.2 or newer is required. You can use a pre-installed version, a version installed by you from Microsoft repositories, or you can use ABB Ability™ History packaged version of the .NET Core from the cpmplusdotnerruntime package. To support the pre-installed .NET runtime the cpmplusdotnetruntime package is NOT a dependency for any of the other ABB Ability™ History packages, although the .NET runtime is required. To install ABB Ability™ History and .NET runtime from ABB Ability™ History repositories run the following commands (omit the cpmplusdotnetruntime if you want to install it separately):

sudo apt-get update
sudo apt-get install cpmplusdotnetruntime cpmplushistory

The .NET Core based ABB Ability™ History is installed to /usr/share/cpmplus/netcore.

Uninstalling

It is possible to uninstall each package separately. Their dependency definitions should notify if it's not possible to remove some packages. Package is removed with apt-get remove <package> or apt-get remove --purge <package>. The difference is that --purge also removes the configuration files. With remove, the configuration should remain and get reused if reinstalled.

sudo apt-get remove cpmplushistory

If you first install the whole meta package and then try to remove one of the installed dependencies, it should not allow that.

sudo apt-get install cpmplushistory
sudo apt-get remove cpmplusvtrinlib

Installation on Arch Linux

Add the repository

Run the following command as root:

echo -e '[abb_cpm_rnd]
SigLevel = Optional TrustAll
Server = https://cpmplus.net/D809E078-AAD4-40E8-9636-B9BE0D86AF48/arch/$arch' >> /etc/pacman.conf
📘

Instead of HTTPS, you may want to use HTTP. If you want to use HTTPS, you need to install the ABB root certificate and also the intermediate certificates as trusted root certificates.

Installing Mono versions

After adding the repository URL, update the package metadata, and install the packages by running the following commands as root:

pacman -Syu
pacman -S cpmPlusHistoryMono-Main

The Mono based ABB Ability™ History is installed to /usr/share/cpmplus/mono.

Installing .NET Core versions

x64 platform

After adding the repository URL, update the package metadata, and install the packages by running the following commands as root:

pacman -Syu
pacman -S cpmPlusHistory-Main

The .NET Core based ABB Ability™ History is installed to /usr/share/cpmplus/netcore.

ARM platforms

As Arch Linux ARM does not currently provide an installation package for .NET Core, you need to install it manually or use a package from the ABB Ability™ History repository. In order to support the pre-installed .NET runtime, the "cpmplusdotnetruntime" package is NOT a dependency for any of the other ABB Ability™ History packages, although the .NET runtime is required. To install ABB Ability™ History and .NET runtime from ABB Ability™ History repositories run the following commands (omit the "cpmplusdotnetruntime" if you want to install it separately):

pacman -Syu
pacman -S cpmPlusdotnetruntime cpmPlusHistory-Main

The .NET Core based ABB Ability™ History is installed to /usr/share/cpmplus/netcore.

Upgrading

Note: Starting from 5.3_25.05 version, manually upgrading the database is no longer mandatory. The upgrade is now performed automatically if there's any changes found.

To upgrade the software, stop the RTDB service:

sudo systemctl stop rtdb@-var-lib-rtdbdata

Upgrade the product to new version using the package manager commands of the distribution.

sudo apt-get update
sudo apt-get upgrade
sudo pacman -Syu

If in Manjaro, the update fails to some Manjaro specific packages you may need to run Manjaro's tool pamac update

Upgrade the database with the following command:

runcpm RTDB_Upgrade_Database /var/lib/rtdbdata/

The command is able to upgrade the RTDB 5.2 and later version database to the current version. It updates the TableDefinition structure of all standard RTDB database tables and copies any tables that are missing from the database, and loads new UIClass and UIString settings.

Note: Upgrading of RTDB 5.2 or RTDB 5.3_20.3 databases to the current version is mandatory because of the structure changes done to AlarmLog and EventEngineering tables (in 5.3_20.04 version) and for CurrentValue* tables (in 5.3_19.11 version).

To upgrade a system that runs on other CPU than x86 and x64, you need to copy the database to a system where the upgrade procedure is available (can be upgraded also in a Windows machine).

After done with upgrade, you can restart the service:

sudo systemctl start rtdb@-var-lib-rtdbdata

Troubleshooting

If you are unable to fetch some archives and error 404 received when running apt-get install cpmplushistorymono, you can try to remove contents of /var/lib/apt/lists directory and then updating the package metadata:

sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update

Installing Software

Service Configuration

If you wish to see further information of system configurations, please see further guidance here Service configuration on system.

HTTP Certificate

If you wish to find information on how to install HTTP Certificate, please find installation guide here Installing an HTTPS certificate.

Vtrin Server

If you wish to find information on how to configure Vtrin Server, please find installation guide here Configuring Vtrin Server.

ABB Root Certificate

If you wish to find information on how to install ABB Root certificate, please find installation guide here Installing the ABB root certificate.


What’s Next

By now you have installed ABB Ability™ History on Linux. These selected articles will help you to keep going.