Acronis Incompatible with Kernel 6.8 on Ubuntu 24.04: How to Resolve?

Hello everyone, good morning. I’m facing an issue with a production server running Ubuntu 24.04. We use Acronis, but it only works with kernel 5.10 and earlier, while Ubuntu currently uses 6.8, which is not compatible with the installation of the CloudBackup.bin agent. This is significantly affecting our operations. Is it possible to somehow install the agent in a way that it uses kernel 5.10 while the rest of the applications on the server run on 6.8?

I tried using UML, but I couldn’t get it to work. Does anyone have any suggestions to help resolve this issue?

Mmm, seems strange that an application would rely on a specific kernel version. I don’t suppose you know what kernel feature in particular it uses that doesn’t work with a newer kernel?
I suspect (as with most version issues) the issue will be with the application and the shared libraries with which it is linked. Newer distributions (which do carry new kernel versions) will have newer versions of system shared libraries which may not be compatible with older applications.
(which is why you typically see downloads for applications vs specific versions of a distribution, i.e. typically this is nothing to do with the kernel version)

To check this out, find your agent binary and do;

ldd (agent binary file)

For example if you try this on a binary, you’ll get something like this;

# type python3
python3 is /usr/bin/python3
root@borg:~# ldd /usr/bin/python3
	linux-vdso.so.1 (0x0000ffffbe48a000)
	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffbe3a0000)
	libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffffbe360000)
	libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000ffffbe310000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbe150000)
	/lib/ld-linux-aarch64.so.1 (0x0000ffffbe44d000)

May not mean much, but this lists the shared libraries that python3 is linked to that MUST exist for python3 (in this instance) to run. If you try ldd on your agent binary, my guess is that it will list at least one of these files as “missing”.

If this is the case, what you can “try” is to grab a copy of the missing library from an old system that has the specific version your need, stick it in a separate folder in your newer machine, say /usr/local/lib/legacy/, then try running the binary with something like;;

LD_CONFIG=/usr/local/lib/legacy/ (binary name)

The LD_CONFIG environment variable should override the search path the system uses to try to find shared libraries, in this instance you just want to do this for your one legacy application. (i.e. your acronis agent)

It may be that there are some other missing dependencies that mean it won’t work, however in many cases this fix will get older code working on newer systems.