Installation - boxbackup/boxbackup GitHub Wiki

Download and Installation Instructions

Warning: Several people have complained that when old files are deleted from the client, they are removed very quickly by housekeeping. This is a known limitation of the housekeeping algorithm. We are working on a solution. In the mean time we advise all users to have alternative backup arrangements for unchanging (archived) files, to protect them in case of deletion.

Other Languages

Important Note

Please pay attention to the Upgrading section below if you:

  • have previously run any version of Box Backup on any of your systems; or
  • plan to run different versions on different systems; or
  • copy configuration files from an older installation of Box Backup; or
  • configure Box Backup without using the bbackupd-config command.

Please pay special attention to the Upgrading to 0.11 page if you want to run 0.11 on any of your systems.

Binary Packages

The easiest way to install Box Backup is to download and install a binary package. These are available for the following operating systems:

If you know of any pre-packaged and supported versions for other architectures then please update this part of the wiki.

If you have a system not listed above, or you need a more recent version to fix a bug, then you can download and compile the source code.

Packaged Versions

Debian

Official packages are available for Box Backup in Debian main:

thus, if you are running debian unstable, you are ready to install.

Box Backup 0.11 (rc8 or later) packages built for lenny can be found here, maintained by Reinhard Tartler:

These commands will enable the debian-backports repository:

$ echo deb http://backports.debian.org/debian-backports lenny-backports-sloppy main >
/etc/apt/sources.list.d/debian-backports.list
$ apt-get update

Build status (with logs) is here: https://buildd.debian.org/status/package.php?p=boxbackup&suite=lenny-backports-sloppy

if you are running debian etch, a backport of the official packages is available on backports.org - see http://backports.org/dokuwiki/doku.php?id=instructions for instructions on how to use packages from backports.org.

if you are running sarge (oldstable) on i386 the following unofficial repository from Jérôme Schell may still be of interest: (but upgrading to etch may be the better plan ;)

deb http://debian.myreseau.org/ sarge main
deb-src http://debian.myreseau.org/ sarge main

in either case use something like

apt-get install boxbackup-client

to install.

RPM Packages

Instructions on building your own Redhat packages (RPMs), also applicable to Fedora, SuSE and Mandriva, are available on the CompileLinuxRPM page. If you know of any supported pre-built packages then please update this part of the wiki.

Windows

To install the Windows client, please follow these steps:

If you have a deep desire to build your own binaries from source, it is possible, but if it doesn't work then we may not be able to help you much. The source code can be downloaded and compiled by following the Windows build instructions.

FreeBSD

A FreeBSD port is also available. This can be installed by either:

  • Running the binary package: pkg_add -r boxbackup
  • Compiling from ports: cd /usr/ports/sysutils/boxbackup; make install clean

Notes:

  • GNU Readline support has been disabled by default, but can be enabled by installing from ports.
  • If GNU Readline is not enabled, then bbackupquery has no line editing ability, due to FreeBSD's implementation of libedit not being detected by autoconf. Hopefully this will be fixed in a future release.

Gentoo Linux

Box Backup is available within the standard Portage tree as app-backup/boxbackup, although version 0.10 is currently marked as unstable and so you'll have to unmask it to install it. Do that as follows:

echo ~app-backup/boxbackup-0.10 ~x86 >> /etc/portage/package.keywords
emerge -aDvt boxbackup

The ebuild will, by default, install both the client and server portions. If you're installing a machine that will only be a client then you can add the client-only USE flag for a slightly smaller install. There are also a couple of path differences to be aware of:

  • The configuration files live in /etc/boxbackup rather than the /etc/box directory often discussed in this documentation. The contents of this directory are the same, however.
  • The binaries and scripts are installed into /usr/sbin rather than /usr/local/bin.

Arch Linux

Box Backup is availabe as AUR package for the BoxBackup Server and BoxBackup Client.

The package must be build before it can be installed (example for the server below). For further information, see the section Installing packages of the AUR User Guidelines

mkdir -p /usr/src/aur
cd /usr/src/aur
wget https://aur.archlinux.org/packages/bo/boxbackup-server/boxbackup-server.tar.gz
tar -xf boxbackup-server.tar.gz
cd boxbackup-server
makepkg --asroot -s

After building the package you can install it with the following steps (package names may differ):

pacman -U boxbackup-server-0.11.1-0-x86_64.pkg.tar.xz

After that, follow the instructions to configure the server. The same steps work for the client, followed by the instructions in configure the client.

  • The binaries and scripts are installed into /usr/bin rather than /usr/local/bin.
  • The packae does not install default configuration files. These must be created manually.
  • Currently, there are no systemd files included in the package. But you can use the following examples (Adopt the config paths to you installation):
# /etc/systemd/system/boxbackup.service
# This service file runs an Box Backup daemon that listens on the public IP.

[Unit]
Description=Box Backup Server
Wants=network.target
After=network.target

[Service]
ExecStart -F -c /etc/boxbackup/bbstored.conf
KillMode=process
Restart=always

[Install]
WantedBy=multi-user.target
# /etc/systemd/system/boxclient.service
# This service file runs an Box Backup daemon that runs backups on demand.

[Unit]
Description=Box Backup Client
Wants=network.target
After=network.target

[Service]
ExecStart=/usr/bin/bbackupd -F -c /etc/boxclient/bbackupd.conf
KillMode=process
Restart=always

[Install]
WantedBy=multi-user.target

Compiling from Source

Please use the latest commit on the master branch on GitHub unless you have a very good reason not to (for example, if you know for sure that it has an issue that was recently introduced and not yet fixed).

We use continuous integration to test new commits before pushing them to the master branch. This should ensure that the master branch always passes all of our tests, and is of sufficient quality for a release. We do not plan to make any specific numbered version releases any more, since the master branch is always of release quality.

Problems in older releases will likely only be fixed by a new commit on the master branch, not by backporting to a maintenance branch. We hope to avoid maintenance branches completely.

Linux, Mac OS X and FreeBSD

Please follow the instructions on the general installation page.

Solaris and OpenSolaris

Please install Blastwave and then use it to install the following packages:

  • autoconf and automake if building from the repository (not needed if building from a release tarball)
  • berkeleydb44 (optional but recommended)
  • openssl and openssl_devel
  • zlib
  • readline (optional but recommended)

Bootstrap if necessary, and then configure as follows:

./configure \
  --with-ssl-headers=/opt/csw/include \
  --with-ssl-lib=/opt/csw/lib \
  --with-bdb-headers=/opt/csw/bdb4/include \
  --with-bdb-lib=/opt/csw/bdb4/lib \
  LDFLAGS="-R /opt/csw/lib:/opt/csw/bdb4/lib" \
  --prefix=/opt/boxbackup

Note: it is recommended but not required to install Box Backup in /opt/boxbackup rather than /usr/local, using the --prefix option to the configure script.

Then follow the remaining instructions on the general installation page.

Windows

Please follow the Windows compilation instructions.

Upgrading

Unless otherwise stated for a particular Box Backup version, both the client and server should be running the same software version (i.e. if you upgrade the server then you must also upgrade all of your clients). We try to maintain backwards compatibility between newer servers and older clients, so you should be able to upgrade the server first, and then the clients. If you find an incompatibility, please let us know, and we will either fix it or document it here.

Generally speaking, the data held by your backup server should be preserved when upgrading the server. Note that even though the data might be preserved when moving up in version (eg from 0.09 to 0.10), the same is not generally true when downgrading the server as the server data format may have been changed by the upgrade.

⚠️ **GitHub.com Fallback** ⚠️