1Support for file metadata 2~~~~~~~~~~~~~~~~~~~~~~~~~ 3 4Besides regular file and directory structures, Borg can preserve 5 6* symlinks (stored as symlink, the symlink is not followed) 7* special files: 8 9 * character and block device files (restored via mknod) 10 * FIFOs ("named pipes") 11 * special file *contents* can be backed up in ``--read-special`` mode. 12 By default the metadata to create them with mknod(2), mkfifo(2) etc. is stored. 13* hardlinked regular files, devices, FIFOs (considering all items in the same archive) 14* timestamps in nanosecond precision: mtime, atime, ctime 15* other timestamps: birthtime (on platforms supporting it) 16* permissions: 17 18 * IDs of owning user and owning group 19 * names of owning user and owning group (if the IDs can be resolved) 20 * Unix Mode/Permissions (u/g/o permissions, suid, sgid, sticky) 21 22On some platforms additional features are supported: 23 24.. Yes/No's are grouped by reason/mechanism/reference. 25 26+-------------------------+----------+-----------+------------+ 27| Platform | ACLs | xattr | Flags | 28| | [#acls]_ | [#xattr]_ | [#flags]_ | 29+=========================+==========+===========+============+ 30| Linux | Yes | Yes | Yes [1]_ | 31+-------------------------+----------+-----------+------------+ 32| Mac OS X | Yes | Yes | Yes (all) | 33+-------------------------+----------+-----------+------------+ 34| FreeBSD | Yes | Yes | Yes (all) | 35+-------------------------+----------+-----------+------------+ 36| OpenBSD | n/a | n/a | Yes (all) | 37+-------------------------+----------+-----------+------------+ 38| NetBSD | n/a | No [2]_ | Yes (all) | 39+-------------------------+----------+-----------+------------+ 40| Solaris and derivatives | No [3]_ | No [3]_ | n/a | 41+-------------------------+----------+-----------+------------+ 42| Windows (cygwin) | No [4]_ | No | No | 43+-------------------------+----------+-----------+------------+ 44 45Other Unix-like operating systems may work as well, but have not been tested at all. 46 47Note that most of the platform-dependent features also depend on the file system. 48For example, ntfs-3g on Linux isn't able to convey NTFS ACLs. 49 50.. [1] Only "nodump", "immutable", "compressed" and "append" are supported. 51 Feature request :issue:`618` for more flags. 52.. [2] Feature request :issue:`1332` 53.. [3] Feature request :issue:`1337` 54.. [4] Cygwin tries to map NTFS ACLs to permissions with varying degrees of success. 55 56.. [#acls] The native access control list mechanism of the OS. This normally limits access to 57 non-native ACLs. For example, NTFS ACLs aren't completely accessible on Linux with ntfs-3g. 58.. [#xattr] extended attributes; key-value pairs attached to a file, mainly used by the OS. 59 This includes resource forks on Mac OS X. 60.. [#flags] aka *BSD flags*. The Linux set of flags [1]_ is portable across platforms. 61 The BSDs define additional flags. 62