Linux Installation

Linux (Debian, Ubuntu)

Future versions of Magnus Box will provide .deb packages for Debian, Ubuntu, and compatible distributions. In the meantime, you can install Magnus Box using the "Other Distribution" package.

Linux (Red Hat Enterprise Linux (RHEL), CentOS)

Future versions of Magnus Box will provide .rpm packages for RHEL, CentOS, and compatible distributions. In the meantime, you can install Magnus Box using the "Other distribution" package.

Linux NAS (Synology, QNAP)

Future versions of Magnus Box will provide integrated packages for Synology and QNAP NAS devices. In the meantime, if you have SSH access to your NAS device, you can install Magnus Box using the "Other distribution" package.


Linux (Other Distribution)

This is a distribution-agnostic package that can be used if Magnus Box does not have a more specific package available for your Linux distribution.

Please note that in order to avoid distribution-specific differences, the package does not automatically start on boot. You should configure your system to run the launch script in /opt/ on boot (e.g. via a systemd unit, upstart script, /etc/init.d/ script, or a line in init.rc).

System Requirements

  • CPU: x86_64, or x86_32 with SSE2, or ARM (see below)
  • Kernel 2.6.23 or later
  • Dependencies
    - bash, xz, GNU awk, and standard GNU/Linux system utilities
    - ca-certificates and tzdata (see below)

ARM CPU support

Magnus Box is available for multiple ARM platform variants. The Magnus Box installer will select the best available binary for your hardware at install-time.

As of Magnus Box 18.8.0, the following platform variants are supported:

Platform Description

ARMv8l ARM 64-bit (Aarch64), no glibc required
ARMv7l ARM 32-bit with vfp, and a glibc-based OS with the "hard-float" ABI

ARMv6l ARM 32-bit with vfp, no glibc required

Timezone database dependency

Magnus Box on Linux requires the OS to provide an up-to-date timezone database, to perform timezone calculations

  • On many Linux distributions, installing the tzdata or timezone package should be sufficient
  • Otherwise, Magnus Box will look for a timezone database in all of the following locations; /usr/share/zoneinfo, /usr/share/lib/zoneinfo, or /usr/lib/locale/TZ

CA certificate database dependency

Magnus Box on Linux requires the OS to provide an up-to-date set of root certificate authorities, to validate HTTPS / SSL connections.

  • On many Linux distributions, installing the ca-certificates package should be sufficient
  • Otherwise, Magnus Box will look for a certificate bundle in all of the following locations;
    - /etc/ssl/certs/ca-certificates.crt (used by Debian/Ubuntu/Gentoo etc.)
    - /etc/pki/tls/certs/ca-bundle.crt (used by Fedora/RHEL 6)
    - /etc/ssl/ca-bundle.pem (used by OpenSUSE)
    - /etc/pki/tls/cacert.pem (used by OpenELEC)
    - /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem (used by CentOS/RHEL 7)

Installation

Run the .run file. This is a self-extracting archive.


The installer will

  1. install the software into a branded /opt/BRANDNAME/ subdirectory
  2. prompt you for an initial username and password
  3. register the current Linux device into that Magnus Box account
  4. start running Magnus Box in the background.

If you make a mistake with the username/password prompt, you should follow the instructions below to completely remove the software, and then start the installation again.


Linux Installation options

You can control the installer by setting environment variables in your shell before running the .run file.

The following options are available:

  • WRITE_INSTALL_LOG. Set this to a file path, to record details of the installation.
  • OVERRIDE_INSTALL_SERVER. Set this to a URL (including http/https and trailing slash) to override the Magnus Box Server URL used by Magnus Box.

You can set an environment variable in bash either on the same line (e.g. WRITE_INSTALL_LOG=install.log ./install.run) or as a separate export command (e.g. export WRITE_INSTALL_LOG=install.log followed by ./install.run).

Silent installation (Linux advanced)

Magnus Box allows you to install and configure the software silently by running ( echo $username ; echo $password ; ) | ./install.run via your remote management software.

Restarting at boot

The installer creates a backup-daemon-start.sh script that can start the service. The Magnus Box Backup agent on "Other Distribution" Linux can be restarted by running the backup-daemon-start.sh script.

In order for Magnus Box to start after a system reboot, you must configure this script to be run on system boot. Different Linux distributions support different methods for running commands on system boot: choose the most appropriate method for your Linux distribution. Some common choices are documented below.


Start in the background

If you are running commands over SSH, please be aware that the backup-daemon-start.sh script runs in the foreground and will die when the SSH session is closed. You can avoid this by running the script in the background.


You can run the script in the background (daemonize) by using the backup-daemon-start-background.sh file instead.


Startup via rc.local

You can make Magnus Box start at system boot by adding an entry to the rc.local file.

First, find the rc.local file on your system:

  • /etc/rc.local (Debian/Ubuntu)
  • /etc/rc.d/rc.local (CentOS/RHEL)

Add the following content to the rc.local file:


/opt/MagnusBox/backup-daemon-start.sh &


If the rc.local file contains an exit 0 statement, the additional command should be added before such a statement.

As of CentOS 7, the rc.local file is not executable by default. You should run chmod +x on the rc.local file to enable using this method for startup scripts.

Startup via rc.d

You can make Magnus Box start at system boot by adding a file to the rc.d directory.

First, find the rc.d directory on your system:

  • /usr/local/etc/rc.d (Synology DSM 6.1+)

Add a new file to the rc.d directory with the following contents:

#!/bin/bash /opt/MagnusBox/backup-daemon-start-background.sh

Mark the file as executable: chmod +x /usr/local/etc/rc.d/my-magnus-box-startup-script.sh


Startup via cron

You can make Magnus Box start at system boot by adding an entry to root's crontab.

  1. Run crontab -e -u root to launch a crontab editor
  2. Add the line @reboot /opt/MagnusBox/backup-daemon-start-background.sh

Startup via init.d

No further documentation is available for this topic.


Startup via systemd

You can use the following unit as an basic example:

[Unit] 
Description=Magnus Box Backup Client
After=network-online.target

[Service]
Type=simple
RemainAfterExit=true
User=root
ExecStart=/opt/MagnusBox/backup-daemon-start.sh

[Install]
WantedBy=multi-user.target

This unit file correctly starts the Magnus Box service at system boot.

However, the process management in systemd is not fully compatible with the way Magnus Box's multi-process model works. In particular, there are compatibility issues with the software updater. As a result, the above unit is (A) unable to take advantage of process group cleanup; (B) unable to auto-restart the Magnus Box backup agent service; and (C) after a software upgrade, Magnus Box will keep running but the unit will remain in "exited" state.

Upgrading

The "Other Distribution" version of Magnus Box supports upgrading the software, with some caveats:

  • The .run file will automatically upgrade the existing version
  • The software can be remotely upgraded via the Magnus Box web interface.

However, the existing service will only be replaced with the upgraded version if the product brand name is unchanged.

Future "Other Distribution" versions of Magnus Box will support upgrading between installations regardless of product brand name.

Note: If you delete the branded Magnus Box directory and all its contents in /opt/, this will trigger a full-reinstallation of the client software, requiring the username and password.

Uninstall

To uninstall "Other Distribution" versions of Magnus Box, you should

  1. Stop all Magnus Box processes
  2. Remove the relevant subdirectory under /opt/
  3. Remove any custom startup scripts

Change password on Linux client

Run backup-tool cmd -Action=change-password -Username USERNAME -Password OLDPASSWORD -Server http://YOURSERVER/ -ExtraData NEWPASSWORD

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us