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
, orx86_32
withSSE2
, orARM
(see below) - Kernel 2.6.23 or later
- Dependencies
-bash
,xz
, GNUawk
, and standard GNU/Linux system utilities
-ca-certificates
andtzdata
(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
ortimezone
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
- install the software into a branded
/opt/BRANDNAME/
subdirectory - prompt you for an initial username and password
- register the current Linux device into that Magnus Box account
- 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 (includinghttp
/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.
- Run
crontab -e -u root
to launch a crontab editor - 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
- Stop all Magnus Box processes
- Remove the relevant subdirectory under
/opt/
- 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