瀏覽代碼

update install docs, fixes #6180

Thomas Waldmann 3 年之前
父節點
當前提交
faf980cb69
共有 1 個文件被更改,包括 18 次插入15 次删除
  1. 18 15
      docs/installation.rst

+ 18 - 15
docs/installation.rst

@@ -50,7 +50,7 @@ Fedora/RHEL  `Fedora official repository`_                 ``dnf install borgbac
 FreeBSD      `FreeBSD ports`_                              ``cd /usr/ports/archivers/py-borgbackup && make install clean``
 FreeBSD      `FreeBSD ports`_                              ``cd /usr/ports/archivers/py-borgbackup && make install clean``
 macOS        `Homebrew`_                                   | ``brew install borgbackup`` (official formula, **no** FUSE support)
 macOS        `Homebrew`_                                   | ``brew install borgbackup`` (official formula, **no** FUSE support)
                                                            | **or**
                                                            | **or**
-                                                           | ``brew install --cask macfuse`` (`private Tap`_, FUSE support) 
+                                                           | ``brew install --cask macfuse`` (`private Tap`_, FUSE support)
                                                            | ``brew install borgbackup/tap/borgbackup-fuse``
                                                            | ``brew install borgbackup/tap/borgbackup-fuse``
 Mageia       `cauldron`_                                   ``urpmi borgbackup``
 Mageia       `cauldron`_                                   ``urpmi borgbackup``
 NetBSD       `pkgsrc`_                                     ``pkg_add py-borgbackup``
 NetBSD       `pkgsrc`_                                     ``pkg_add py-borgbackup``
@@ -108,7 +108,7 @@ Standalone Binary
 Borg x86/x64 amd/intel compatible binaries (generated with `pyinstaller`_)
 Borg x86/x64 amd/intel compatible binaries (generated with `pyinstaller`_)
 are available on the releases_ page for the following platforms:
 are available on the releases_ page for the following platforms:
 
 
-* **Linux**: glibc >= 2.13 (ok for most supported Linux releases).
+* **Linux**: glibc >= 2.28 (ok for most supported Linux releases).
   Older glibc releases are untested and may not work.
   Older glibc releases are untested and may not work.
 * **MacOS**: 10.12 or newer (To avoid signing issues download the file via
 * **MacOS**: 10.12 or newer (To avoid signing issues download the file via
   command line **or** remove the ``quarantine`` attribute after downloading:
   command line **or** remove the ``quarantine`` attribute after downloading:
@@ -159,9 +159,7 @@ Dependencies
 To install Borg from a source package (including pip), you have to install the
 To install Borg from a source package (including pip), you have to install the
 following dependencies first:
 following dependencies first:
 
 
-* `Python 3`_ >= 3.6.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.
+* `Python 3`_ >= 3.8.0, plus development headers.
 * OpenSSL_ >= 1.0.0, plus development headers.
 * OpenSSL_ >= 1.0.0, plus development headers.
 * libacl_ (which depends on libattr_), both 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
 * We have bundled code of the following packages, but borg by default (see
@@ -170,11 +168,12 @@ following dependencies first:
 
 
   - liblz4_ >= 1.7.0 (r129)
   - liblz4_ >= 1.7.0 (r129)
   - libzstd_ >= 1.3.0
   - 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
 * pkg-config (cli tool) and pkgconfig python package (borg uses these to
   discover header and library location - if it can't import pkgconfig and
   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],
   is not pointed to header/library locations via env vars [see setup.py],
   it will fall back to using the bundled code, see above).
   it will fall back to using the bundled code, see above).
-  These must be present before invoking setup.py!
+  **These must be present before invoking setup.py!**
 * some other Python dependencies, pip will automatically install them for you.
 * 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
 * optionally, if you wish to mount an archive as a FUSE filesystem, you need
   a FUSE implementation for Python:
   a FUSE implementation for Python:
@@ -204,7 +203,7 @@ Install the dependencies with development headers::
     sudo apt-get install python3 python3-dev python3-pip python3-virtualenv \
     sudo apt-get install python3 python3-dev python3-pip python3-virtualenv \
     libacl1-dev libacl1 \
     libacl1-dev libacl1 \
     libssl-dev \
     libssl-dev \
-    liblz4-dev libzstd-dev \
+    liblz4-dev libzstd-dev libxxhash-dev \
     build-essential \
     build-essential \
     pkg-config python3-pkgconfig
     pkg-config python3-pkgconfig
     sudo apt-get install libfuse-dev fuse    # needed for llfuse
     sudo apt-get install libfuse-dev fuse    # needed for llfuse
@@ -222,7 +221,7 @@ Install the dependencies with development headers::
     sudo dnf install python3 python3-devel python3-pip python3-virtualenv \
     sudo dnf install python3 python3-devel python3-pip python3-virtualenv \
     libacl-devel libacl \
     libacl-devel libacl \
     openssl-devel \
     openssl-devel \
-    lz4-devel libzstd-devel \
+    lz4-devel libzstd-devel xxhash-devel \
     pkgconf python3-pkgconfig
     pkgconf python3-pkgconfig
     sudo dnf install gcc gcc-c++ redhat-rpm-config
     sudo dnf install gcc gcc-c++ redhat-rpm-config
     sudo dnf install fuse-devel fuse         # needed for llfuse
     sudo dnf install fuse-devel fuse         # needed for llfuse
@@ -239,7 +238,8 @@ Alternatively, you can enumerate all build dependencies in the command line::
 
 
     sudo zypper install python3 python3-devel \
     sudo zypper install python3 python3-devel \
     libacl-devel openssl-devel \
     libacl-devel openssl-devel \
-    python3-Cython python3-Sphinx python3-msgpack-python \
+    libxxhash-devel \
+    python3-Cython python3-Sphinx python3-msgpack-python python3-pkgconfig pkgconf \
     python3-pytest python3-setuptools python3-setuptools_scm \
     python3-pytest python3-setuptools python3-setuptools_scm \
     python3-sphinx_rtd_theme gcc gcc-c++
     python3-sphinx_rtd_theme gcc gcc-c++
     sudo zypper install python3-llfuse  # llfuse
     sudo zypper install python3-llfuse  # llfuse
@@ -252,7 +252,7 @@ dependencies manually::
 
 
     brew install python3 openssl zstd lz4 xxhash
     brew install python3 openssl zstd lz4 xxhash
     brew install pkg-config
     brew install pkg-config
-    pip3 install virtualenv
+    pip3 install virtualenv pkgconfig
 
 
 For FUSE support to mount the backup archives, you need at least version 3.0 of
 For FUSE support to mount the backup archives, you need at least version 3.0 of
 macFUSE, which is available via `github
 macFUSE, which is available via `github
@@ -287,10 +287,10 @@ and commands to make FUSE work for using the mount command.
 
 
      pkg install -y python3 pkgconf
      pkg install -y python3 pkgconf
      pkg install openssl
      pkg install openssl
-     pkg install liblz4 zstd
+     pkg install liblz4 zstd xxhash
      pkg install fusefs-libs  # needed for llfuse
      pkg install fusefs-libs  # needed for llfuse
      pkg install -y git
      pkg install -y git
-     python3.5 -m ensurepip # to install pip for Python3
+     python3 -m ensurepip # to install pip for Python3
      To use the mount command:
      To use the mount command:
      echo 'fuse_load="YES"' >> /boot/loader.conf
      echo 'fuse_load="YES"' >> /boot/loader.conf
      echo 'vfs.usermount=1' >> /etc/sysctl.conf
      echo 'vfs.usermount=1' >> /etc/sysctl.conf
@@ -344,6 +344,9 @@ This will use ``pip`` to install the latest release from PyPi::
     # might be required if your tools are outdated
     # might be required if your tools are outdated
     pip install -U pip setuptools wheel
     pip install -U pip setuptools wheel
 
 
+    # pkgconfig MUST be available before borg is installed!
+    pip install pkgconfig
+
     # install Borg + Python dependencies into virtualenv
     # install Borg + Python dependencies into virtualenv
     pip install borgbackup
     pip install borgbackup
     # or alternatively (if you want FUSE support):
     # or alternatively (if you want FUSE support):
@@ -394,9 +397,9 @@ If you need to use a different version of Python you can install this using ``py
 
 
     ...
     ...
     # create a virtual environment
     # create a virtual environment
-    pyenv install 3.6.0
-    pyenv global 3.6.0
-    pyenv local 3.6.0
+    pyenv install 3.8.0  # minimum, preferably use something more recent!
+    pyenv global 3.8.0
+    pyenv local 3.8.0
     virtualenv --python=${pyenv which python} borg-env
     virtualenv --python=${pyenv which python} borg-env
     source borg-env/bin/activate   # always before using!
     source borg-env/bin/activate   # always before using!
     ...
     ...