60852: Acronis Cyber Protect Cloud, Acronis Cyber Backup: how to pre-compile Linux SnapAPI module


use Google Translate

Operating Systems: 

Last update: 01-05-2020


Sometimes, kernel source packages that are required to install Acronis SnapAPI module cannot be installed on a Linux server due to security or any other reasons. In this situation, Acronis SnapAPI module can be prepared on another Linux machine (source) with the same or different kernel, then moved and installed on the required Linux server (target).


The source server either has the same kernel as the target machine or a different kernel version.

If source and target systems are the same (have exactly the same kernel that can be checked using the "#uname -a" command):

  • after the module is installed make tarball with built module:

              # dkms mktarball -m snapapi26 -v SNAPAPI_VERSION --archive=snapapi26-SNAPAPI_VERSION.tar.gz

If source and target systems are different:

  • Make sure that you have gcc on a source system with the same version as on target system. It can be checked using "gcc -v" command.
  • Make sure that the kernel sources must be identical to the kernel sources on the target system.
  • Then build Acronis modules to the specific kernel version:

#dkms build -m snapapi26 -v SNAPAPI_VERSION -k KERNEL_VERSION --arch KERNEL_ARCH --kernelsourcedir=KERNEL_SOURCES_DIR

#dkms mktarball -m snapapi26 -v SNAPAPI_VERSION --archive=snapapi26-SNAPAPI_VERSION.tar.gz


SNAPAPI_VERSION is a version of snapapi modules (see in /usr/src/ )

KERNEL_VERSION is the exact kernel version of the target system (as uname -r)

KERNEL_ARCH is the exact kernel architecture of the target system (as uname -m)

KERNEL_SOURCES_DIR is the directory with sources for KERNEL_VERSION

TARBALL_LOCATION is the directory that contains tarball with pre-built modules


After the module is prepared, it should be copied to the target server where the software should be installed:

  • Copy the built module to the target server
  • Install  Acronis software and refuse or fail the build Acronis SnapAPI module
  • Install the pre-built module:
    # dkms ldtarball --archive=TARBALL_LOCATION/snapapi26-SNAPAPI_VERSION.tar.gz
    # dkms install -m snapapi26 -v SNAPAPI_VERSION
  • restart Acronis Managed Machine service.
    # /etc/init.d/acronis_mms restart
    (or "#systemctl restart acronis_mms" if the systemd is used).

These steps allow building and installing the pre-compiled module. After that the software can be used to back up the target machine. 

More information

The information about packages that are required for the software installation can be found in the user guides.

If there are any issues with compiling the module, please get Linux system reports from source and target machines and contact Acronis Support with reference to this article.