浏览代码

Document repository file system requirements

#2080
Steve Groesz 8 年之前
父节点
当前提交
605f281b37
共有 1 个文件被更改,包括 31 次插入0 次删除
  1. 31 0
      docs/installation.rst

+ 31 - 0
docs/installation.rst

@@ -20,6 +20,37 @@ There are different ways to install |project_name|:
     have the latest code or use revision control (each release is
     tagged).
 
+.. _installation-requirements:
+
+Pre-Installation Considerations
+-------------------------------
+
+Repository File System
+~~~~~~~~~~~~~~~~~~~~~~
+:ref:data-structures-and-file-formats
+- |project_name| stores data only 3 directory levels deep and uses short file and
+  directory names.
+- |project_name| requires read and write permissions on the repository file system.
+- |project_name| stores backup metadata and data into so-called segment files. The 
+  target size of these files and also the count of these files per directory is set 
+  in the :ref:config-file.
+- |project_name| uses a generic and very portable mkdir-based `locking<https://en.wikipedia.org/wiki/File_locking#Lock_files`_ mechanism.
+  POSIX locks, NFS locks, windows file locks, lockf(), flock() and hardlinks are
+  **not** used.
+- Hardlinks are only required when performing an in-place upgrade of an Attic
+  repository. 
+- A journaling file system is strongly recommended. More information can be
+  found in :ref:`file-systems`.
+- |project_name| requires the following file system operations:
+  - create, open, read, write, seek, close, rename, delete
+  - link - when upgrading an Attic repo in-place
+  - listdir, stat
+  - posix_fadvise - to not flood the operating system's cache
+  - sync on files and directories to ensure data is written onto storage media
+
+:ref:data-structures-and-file-formats contains additional information about how |project_name|
+manages data.
+
 .. _distribution-package:
 
 Distribution Package