mirror of
https://github.com/borgbackup/borg.git
synced 2026-02-20 00:10:35 -05:00
docs: update install docs, nothing bundled anymore! fixes #8342.
borg 1.2.x used to bundle some source code for lz4, zstd and xxhash, but borg 1.4.x got rid of that - all that is meanwhile available as a library in all OSes we support. also, the python package pkgconfig does not need to be "preinstalled" anymore, because our pyproject.toml cares for that. otoh, the cli tool pkg-config must be preinstalled so that libs and headers can be found automagically. Also be a bit more clear about the FUSE stuff.
This commit is contained in:
parent
d94b954da2
commit
095b43ba3e
2 changed files with 25 additions and 34 deletions
|
|
@ -13,6 +13,7 @@
|
|||
.. _ACL: https://en.wikipedia.org/wiki/Access_control_list
|
||||
.. _libacl: https://savannah.nongnu.org/projects/acl/
|
||||
.. _libattr: https://savannah.nongnu.org/projects/attr/
|
||||
.. _libxxhash: https://github.com/Cyan4973/xxHash
|
||||
.. _liblz4: https://github.com/Cyan4973/lz4
|
||||
.. _libzstd: https://github.com/facebook/zstd
|
||||
.. _OpenSSL: https://www.openssl.org/
|
||||
|
|
|
|||
|
|
@ -155,30 +155,26 @@ Dependencies
|
|||
~~~~~~~~~~~~
|
||||
|
||||
To install Borg from a source package (including pip), you have to install the
|
||||
following dependencies first:
|
||||
following dependencies first. For the libraries you will also need their
|
||||
development header files (sometimes in a separate `-dev` or `-devel` package).
|
||||
|
||||
* `Python 3`_ >= 3.9.0, plus development headers.
|
||||
* OpenSSL_ >= 1.0.0, plus development headers.
|
||||
* libacl_ (which depends on libattr_), both plus development headers.
|
||||
* We have bundled code of the following packages, but borg by default (see
|
||||
setup.py if you want to change that) prefers a shared library if it can
|
||||
be found on the system (lib + dev headers) at build time:
|
||||
|
||||
- liblz4_ >= 1.7.0 (r129)
|
||||
- libzstd_ >= 1.3.0
|
||||
- libxxhash >= 0.8.1 (0.8.0 might work also)
|
||||
* pkg-config (cli tool) and pkgconfig python package (borg uses these to
|
||||
discover header and library location - if it can't import pkgconfig and
|
||||
is not pointed to header/library locations via env vars [see setup.py],
|
||||
it will fall back to using the bundled code, see above).
|
||||
**These must be present before invoking setup.py!**
|
||||
* some other Python dependencies, pip will automatically install them for you.
|
||||
* optionally, if you wish to mount an archive as a FUSE filesystem, you need
|
||||
* `Python 3`_ >= 3.9.0
|
||||
* OpenSSL_ >= 1.0.0
|
||||
* libacl_ (which depends on libattr_)
|
||||
* libxxhash_ >= 0.8.1
|
||||
* liblz4_ >= 1.7.0 (r129)
|
||||
* libzstd_ >= 1.3.0
|
||||
* pkg-config (cli tool) - Borg uses this to discover header and library
|
||||
locations automatically. Alternatively, you can also point to them via some
|
||||
environment variables, see setup.py.
|
||||
* Some other Python dependencies, pip will automatically install them for you.
|
||||
* Optionally, if you wish to mount an archive as a FUSE filesystem, you need
|
||||
a FUSE implementation for Python:
|
||||
|
||||
- Either pyfuse3_ (preferably, newer and maintained) or llfuse_ (older,
|
||||
unmaintained now). See also the BORG_FUSE_IMPL env variable.
|
||||
- See pyproject.toml about the version requirements.
|
||||
- pyfuse3_ >= 3.1.1 (for fuse 3, use `pip install borgbackup[pyfuse3]`), or
|
||||
- llfuse_ >= 1.3.8 (for fuse 2, use `pip install borgbackup[llfuse]`).
|
||||
- Additionally, your OS will need to have FUSE support installed
|
||||
(e.g. a package `fuse` for fuse 2 or a package `fuse3` for fuse 3 support).
|
||||
|
||||
If you have troubles finding the right package names, have a look at the
|
||||
distribution specific sections below or the Vagrantfile in the git repository,
|
||||
|
|
@ -186,9 +182,7 @@ 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
|
||||
instructions, try to use your package manager to install the dependencies. On
|
||||
FreeBSD, you may need to get a recent enough OpenSSL version from FreeBSD
|
||||
ports.
|
||||
instructions, try to use your package manager to install the dependencies.
|
||||
|
||||
After you have installed the dependencies, you can proceed with steps outlined
|
||||
under :ref:`pip-installation`.
|
||||
|
|
@ -199,11 +193,10 @@ Debian / Ubuntu
|
|||
Install the dependencies with development headers::
|
||||
|
||||
sudo apt-get install python3 python3-dev python3-pip python3-virtualenv \
|
||||
libacl1-dev libacl1 \
|
||||
libacl1-dev \
|
||||
libssl-dev \
|
||||
liblz4-dev libzstd-dev libxxhash-dev \
|
||||
build-essential \
|
||||
pkg-config python3-pkgconfig
|
||||
build-essential pkg-config
|
||||
sudo apt-get install libfuse-dev fuse # needed for llfuse
|
||||
sudo apt-get install libfuse3-dev fuse3 # needed for pyfuse3
|
||||
|
||||
|
|
@ -217,10 +210,10 @@ Fedora
|
|||
Install the dependencies with development headers::
|
||||
|
||||
sudo dnf install python3 python3-devel python3-pip python3-virtualenv \
|
||||
libacl-devel libacl \
|
||||
libacl-devel \
|
||||
openssl-devel \
|
||||
lz4-devel libzstd-devel xxhash-devel \
|
||||
pkgconf python3-pkgconfig
|
||||
pkgconf
|
||||
sudo dnf install gcc gcc-c++ redhat-rpm-config
|
||||
sudo dnf install fuse-devel fuse # needed for llfuse
|
||||
sudo dnf install fuse3-devel fuse3 # needed for pyfuse3
|
||||
|
|
@ -263,7 +256,7 @@ Brewfile::
|
|||
|
||||
brew install python@3.11 # can be any supported python3 version
|
||||
brew bundle install # install requirements from borg repo's ./Brewfile
|
||||
pip3 install virtualenv pkgconfig
|
||||
pip3 install virtualenv
|
||||
|
||||
Be aware that for all recent macOS releases you must authorize full disk access.
|
||||
It is no longer sufficient to run borg backups as root. If you have not yet
|
||||
|
|
@ -314,7 +307,7 @@ Cygwin
|
|||
|
||||
Use the Cygwin installer to install the dependencies::
|
||||
|
||||
python39 python39-devel python39-pkgconfig
|
||||
python39 python39-devel
|
||||
python39-setuptools python39-pip python39-wheel python39-virtualenv
|
||||
libssl-devel libxxhash-devel liblz4-devel libzstd-devel
|
||||
binutils gcc-g++ git make openssh
|
||||
|
|
@ -345,9 +338,6 @@ This will use ``pip`` to install the latest release from PyPi::
|
|||
# might be required if your tools are outdated
|
||||
pip install -U pip setuptools wheel
|
||||
|
||||
# pkgconfig MUST be available before borg is installed!
|
||||
pip install pkgconfig
|
||||
|
||||
# install Borg + Python dependencies into virtualenv
|
||||
pip install borgbackup
|
||||
# or alternatively (if you want FUSE support):
|
||||
|
|
|
|||
Loading…
Reference in a new issue