summaryrefslogtreecommitdiffstats
path: root/docs/installation.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/installation.rst')
-rw-r--r--docs/installation.rst94
1 files changed, 70 insertions, 24 deletions
diff --git a/docs/installation.rst b/docs/installation.rst
index 82a0cba6f..561ce9102 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -42,28 +42,25 @@ package which can be installed with the package manager.
Distribution Source Command
============ ============================================= =======
Arch Linux `[community]`_ ``pacman -S borg``
-Debian `jessie-backports`_, `stretch`_, `sid`_ ``apt install borgbackup``
+Debian `Debian packages`_ ``apt install borgbackup``
Gentoo `ebuild`_ ``emerge borgbackup``
GNU Guix `GNU Guix`_ ``guix package --install borg``
-Fedora/RHEL `Fedora official repository`_, `EPEL`_ ``dnf install borgbackup``
+Fedora/RHEL `Fedora official repository`_ ``dnf install borgbackup``
FreeBSD `FreeBSD ports`_ ``cd /usr/ports/archivers/py-borgbackup && make install clean``
Mageia `cauldron`_ ``urpmi borgbackup``
NetBSD `pkgsrc`_ ``pkg_add py-borgbackup``
-NixOS `.nix file`_ N/A
+NixOS `.nix file`_ ``nix-env -i borgbackup``
OpenBSD `OpenBSD ports`_ ``pkg_add borgbackup``
OpenIndiana `OpenIndiana hipster repository`_ ``pkg install borg``
-openSUSE `openSUSE official repository`_ ``zypper in python3-borgbackup``
+openSUSE `openSUSE official repository`_ ``zypper in borgbackup``
OS X `Brew cask`_ ``brew cask install borgbackup``
Raspbian `Raspbian testing`_ ``apt install borgbackup``
-Ubuntu `16.04`_, backports (PPA): `15.10`_, `14.04`_ ``apt install borgbackup``
+Ubuntu `Ubuntu packages`_, `Ubuntu PPA`_ ``apt install borgbackup``
============ ============================================= =======
.. _[community]: https://www.archlinux.org/packages/?name=borg
-.. _jessie-backports: https://packages.debian.org/jessie-backports/borgbackup
-.. _stretch: https://packages.debian.org/stretch/borgbackup
-.. _sid: https://packages.debian.org/sid/borgbackup
+.. _Debian packages: https://packages.debian.org/search?keywords=borgbackup&searchon=names&exact=1&suite=all&section=all
.. _Fedora official repository: https://apps.fedoraproject.org/packages/borgbackup
-.. _EPEL: https://admin.fedoraproject.org/pkgdb/package/rpms/borgbackup/
.. _FreeBSD ports: http://www.freshports.org/archivers/py-borgbackup/
.. _ebuild: https://packages.gentoo.org/packages/app-backup/borgbackup
.. _GNU Guix: https://www.gnu.org/software/guix/package-list.html#borg
@@ -73,11 +70,10 @@ Ubuntu `16.04`_, backports (PPA): `15.10`_, `14.04`_ ``apt install borgbac
.. _OpenBSD ports: http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/sysutils/borgbackup/
.. _OpenIndiana hipster repository: http://pkg.openindiana.org/hipster/en/search.shtml?token=borg&action=Search
.. _openSUSE official repository: http://software.opensuse.org/package/borgbackup
-.. _Brew cask: http://caskroom.io/
+.. _Brew cask: https://caskroom.github.io/
.. _Raspbian testing: http://archive.raspbian.org/raspbian/pool/main/b/borgbackup/
-.. _16.04: https://launchpad.net/ubuntu/xenial/+source/borgbackup
-.. _15.10: https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/borgbackup
-.. _14.04: https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/borgbackup
+.. _Ubuntu packages: http://packages.ubuntu.com/xenial/borgbackup
+.. _Ubuntu PPA: https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/borgbackup
Please ask package maintainers to build a package or, if you can package /
submit it yourself, please help us with that! See :issue:`105` on
@@ -88,11 +84,14 @@ github to followup on packaging efforts.
Standalone Binary
-----------------
+.. note:: Releases are signed with an OpenPGP key, see
+ :ref:`security-contact` for more instructions.
+
|project_name| binaries (generated with `pyinstaller`_) are available
on the releases_ page for the following platforms:
-* **Linux**: glibc >= 2.13 (ok for most supported Linux releases). Maybe older
- glibc versions also work, if they are compatible to 2.13.
+* **Linux**: glibc >= 2.13 (ok for most supported Linux releases).
+ Older glibc releases are untested and may not work.
* **Mac OS X**: 10.10 (does not work with older OS X releases)
* **FreeBSD**: 10.2 (unknown whether it works for older releases)
@@ -129,24 +128,35 @@ To install on Windows just extract the zip anywhere and add the bin directory to
From Source
-----------
+.. note::
+
+ Some older Linux systems (like RHEL/CentOS 5) and Python interpreter binaries
+ compiled to be able to run on such systems (like Python installed via Anaconda)
+ might miss functions required by Borg.
+
+ This issue will be detected early and Borg will abort with a fatal error.
+
Dependencies
~~~~~~~~~~~~
To install |project_name| from a source package (including pip), you have to install the
following dependencies first:
-* `Python 3`_ >= 3.4.0, plus development headers. Even though Python 3 is not
+* `Python 3`_ >= 3.5.0, plus development headers. Even though Python 3 is not
the default Python version on most systems, it is usually available as an
optional install.
* OpenSSL_ >= 1.0.0, plus development headers.
-* libacl_ (that pulls in libattr_ also), both plus development headers.
+* libacl_ (which depends on libattr_), both plus development headers.
* liblz4_, plus development headers.
+* ZeroMQ_ >= 4.0.0, plus development headers.
* some Python dependencies, pip will automatically install them for you
* optionally, the llfuse_ Python package is required if you wish to mount an
archive as a FUSE filesystem. See setup.py about the version requirements.
+* optionally libb2_. If it is not found a bundled implementation is used instead.
If you have troubles finding the right package names, have a look at the
-distribution specific sections below and also at the Vagrantfile in our repo.
+distribution specific sections below or the Vagrantfile in the git repository,
+which contains installation scripts for a number of operating systems.
In the following, the steps needed to install the dependencies are listed for a
selection of platforms. If your distribution is not covered by these
@@ -166,6 +176,7 @@ Install the dependencies with development headers::
libssl-dev openssl \
libacl1-dev libacl1 \
liblz4-dev liblz4-1 \
+ libzmq3-dev libzmq3 \
build-essential
sudo apt-get install libfuse-dev fuse pkg-config # optional, for FUSE support
@@ -176,6 +187,8 @@ group, log out and log in again.
Fedora / Korora
+++++++++++++++
+.. todo:: Add zeromq, use python 3.5 or 3.6
+
Install the dependencies with development headers::
sudo dnf install python3 python3-devel python3-pip python3-virtualenv
@@ -186,14 +199,33 @@ Install the dependencies with development headers::
sudo dnf install redhat-rpm-config # not needed in Korora
sudo dnf install fuse-devel fuse pkgconfig # optional, for FUSE support
+openSUSE Tumbleweed / Leap
+++++++++++++++++++++++++++
+
+.. todo:: Add zeromq, use python 3.5 or 3.6
+
+Install the dependencies automatically using zypper::
+
+ sudo zypper source-install --build-deps-only borgbackup
+
+Alternatively, you can enumerate all build dependencies in the command line::
+
+ sudo zypper install python3 python3-devel \
+ libacl-devel liblz4-devel openssl-devel \
+ python3-Cython python3-Sphinx python3-msgpack-python \
+ python3-pytest python3-setuptools python3-setuptools_scm \
+ python3-sphinx_rtd_theme python3-llfuse gcc gcc-c++
Mac OS X
++++++++
+.. todo:: Add zeromq, use python 3.5 or 3.6
+
Assuming you have installed homebrew_, the following steps will install all the
dependencies::
brew install python3 lz4 openssl
+ brew install pkg-config # optional, for FUSE support
pip3 install virtualenv
For FUSE support to mount the backup archives, you need at least version 3.0 of
@@ -204,8 +236,11 @@ FUSE for OS X, which is available as a pre-release_.
FreeBSD
++++++++
-Listed below are packages you will need to install |project_name|, its dependencies,
-and commands to make fuse work for using the mount command.
+
+.. todo:: Add zeromq, use python 3.5 or 3.6
+
+Listed below are packages you will need to install Borg, its dependencies,
+and commands to make FUSE work for using the mount command.
::
@@ -217,7 +252,16 @@ and commands to make fuse work for using the mount command.
echo 'vfs.usermount=1' >> /etc/sysctl.conf
kldload fuse
sysctl vfs.usermount=1
-
+
+
+Windows 10's Linux Subsystem
+++++++++++++++++++++++++++++
+
+.. note::
+ Running under Windows 10's Linux Subsystem is experimental and has not been tested much yet.
+
+Just follow the Ubuntu Linux installation steps. You can omit the FUSE stuff, it won't work anyway.
+
Windows
+++++++
@@ -232,11 +276,13 @@ Cygwin
.. note::
Running under Cygwin is experimental and has only been tested with Cygwin
- (x86-64) v2.5.2.
+ (x86-64) v2.5.2. Remote repositories are known broken, local repositories should work.
+
+.. todo:: Add zeromq, use python 3.5 or 3.6
Use the Cygwin installer to install the dependencies::
- python3 python3-setuptools
+ python3 python3-devel python3-setuptools
binutils gcc-g++
libopenssl openssl-devel
liblz4_1 liblz4-devel
@@ -293,9 +339,9 @@ While we try not to break master, there are no guarantees on anything. ::
source borg-env/bin/activate # always before using!
# install borg + dependencies into virtualenv
- pip install sphinx # optional, to build the docs
cd borg
pip install -r requirements.d/development.txt
+ pip install -r requirements.d/docs.txt # optional, to build the docs
pip install -r requirements.d/fuse.txt # optional, for FUSE support
pip install -e . # in-place editable mode