mirror of
https://github.com/trapexit/mergerfs.git
synced 2024-11-25 09:03:37 +08:00
Lots of misc README updates
This commit is contained in:
parent
b48d368130
commit
e25fa1954e
301
man/mergerfs.1
301
man/mergerfs.1
|
@ -1,7 +1,7 @@
|
|||
.\"t
|
||||
.\" Automatically generated by Pandoc 2.9.2.1
|
||||
.\"
|
||||
.TH "mergerfs" "1" "2023-02-23" "mergerfs user manual" ""
|
||||
.TH "mergerfs" "1" "" "mergerfs user manual" ""
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
|
@ -74,12 +74,12 @@ A + B = C
|
|||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
mergerfs does \f[B]NOT\f[R] support the copy-on-write (CoW) or whiteout
|
||||
mergerfs does \f[B]not\f[R] support the copy-on-write (CoW) or whiteout
|
||||
behaviors found in \f[B]aufs\f[R] and \f[B]overlayfs\f[R].
|
||||
You can \f[B]not\f[R] mount a read-only filesystem and write to it.
|
||||
However, mergerfs will ignore read-only drives when creating new files
|
||||
so you can mix read-write and read-only drives.
|
||||
It also does \f[B]NOT\f[R] split data across drives.
|
||||
It also does \f[B]not\f[R] split data across drives.
|
||||
It is not RAID0 / striping.
|
||||
It is simply a union of other filesystems.
|
||||
.SH TERMINOLOGY
|
||||
|
@ -110,6 +110,38 @@ start with one of the following option sets.
|
|||
.SS You don\[cq]t need \f[C]mmap\f[R]
|
||||
.PP
|
||||
\f[C]cache.files=off,dropcacheonclose=true,category.create=mfs\f[R]
|
||||
.SS Command Line
|
||||
.PP
|
||||
\f[C]mergerfs -o create.files=partial,dropcacheonclose=true,category.create=mfs /mnt/hdd0:/mnt/hdd1 /media\f[R]
|
||||
.SS /etc/fstab
|
||||
.PP
|
||||
\f[C]/mnt/hdd0:/mnt/hdd1 /media fuse.mergerfs create.files=partial,dropcacheonclose=true,category.create=mfs 0 0\f[R]
|
||||
.SS systemd mount
|
||||
.PP
|
||||
https://github.com/trapexit/mergerfs/wiki/systemd
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
[Unit]
|
||||
Description=mergerfs service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
KillMode=none
|
||||
ExecStart=/usr/bin/mergerfs \[rs]
|
||||
-f \[rs]
|
||||
-o create.files=partial \[rs]
|
||||
-o dropcacheonclose=true \[rs]
|
||||
-o category.create=mfs \[rs]
|
||||
/mnt/hdd0:/mnt/hdd1 \[rs]
|
||||
/media
|
||||
ExecStop=/bin/fusermount -uz /media
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
See the mergerfs wiki for real world
|
||||
deployments (https://github.com/trapexit/mergerfs/wiki/Real-World-Deployments)
|
||||
|
@ -168,6 +200,11 @@ The request will succeed but do nothing.
|
|||
Useful for benchmarking mergerfs.
|
||||
(default: false)
|
||||
.IP \[bu] 2
|
||||
\f[B]lazy-umount-mountpoint=BOOL\f[R]: mergerfs will attempt to
|
||||
\[lq]lazy umount\[rq] the mountpoint before mounting itself.
|
||||
Useful when performing live upgrades of mergerfs.
|
||||
(default: false)
|
||||
.IP \[bu] 2
|
||||
\f[B]ignorepponrename=BOOL\f[R]: Ignore path preserving on rename.
|
||||
Typically rename and link act differently depending on the policy of
|
||||
\f[C]create\f[R] (read below).
|
||||
|
@ -364,11 +401,22 @@ Use \f[C]async_read=false\f[R] instead.
|
|||
\f[B]splice_write\f[R]: deprecated - Does nothing.
|
||||
.IP \[bu] 2
|
||||
\f[B]splice_move\f[R]: deprecated - Does nothing.
|
||||
.IP \[bu] 2
|
||||
\f[B]allow_other\f[R]: deprecated - mergerfs always sets this FUSE
|
||||
option as normal permissions can be used to limit access.
|
||||
.IP \[bu] 2
|
||||
\f[B]use_ino\f[R]: deprecated - mergerfs should always control inode
|
||||
calculation so this is enabled all the time.
|
||||
.PP
|
||||
\f[B]NOTE:\f[R] Options are evaluated in the order listed so if the
|
||||
options are \f[B]func.rmdir=rand,category.action=ff\f[R] the
|
||||
\f[B]action\f[R] category setting will override the \f[B]rmdir\f[R]
|
||||
setting.
|
||||
.PP
|
||||
\f[B]NOTE:\f[R] Always look at the documentation for the version of
|
||||
mergerfs you\[cq]re using.
|
||||
Not all features are available in older releases.
|
||||
Use \f[C]man mergerfs\f[R] or find the docs as linked in the release.
|
||||
.SS Value Types
|
||||
.IP \[bu] 2
|
||||
BOOL = `true' | `false'
|
||||
|
@ -403,7 +451,7 @@ calculation and a individual minfreespace value.
|
|||
The values are set by prepending an \f[C]=\f[R] at the end of a branch
|
||||
designation and using commas as delimiters.
|
||||
Example: /mnt/drive=RW,1234
|
||||
.SS branch type
|
||||
.SS branch mode
|
||||
.IP \[bu] 2
|
||||
RW: (read/write) - Default behavior.
|
||||
Will be eligible in all policy categories.
|
||||
|
@ -417,7 +465,7 @@ NC: (no-create) - Will be excluded from \f[C]create\f[R] policies.
|
|||
You can\[cq]t create on that branch but you can change or delete.
|
||||
.SS minfreespace
|
||||
.PP
|
||||
Same purpose as the global option but specific to the branch.
|
||||
Same purpose and syntax as the global option but specific to the branch.
|
||||
If not set the global value is used.
|
||||
.SS globbing
|
||||
.PP
|
||||
|
@ -428,12 +476,12 @@ the shell itself will apply the glob itself.\f[R]
|
|||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
# mergerfs /mnt/disk\[rs]*:/mnt/cdrom /media/drives
|
||||
# mergerfs /mnt/hdd\[rs]*:/mnt/ssd /media
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
The above line will use all mount points in /mnt prefixed with
|
||||
\f[B]disk\f[R] and the \f[B]cdrom\f[R].
|
||||
\f[B]hdd\f[R] and \f[B]ssd\f[R].
|
||||
.PP
|
||||
To have the pool mounted at boot or otherwise accessible from related
|
||||
tools use \f[B]/etc/fstab\f[R].
|
||||
|
@ -441,7 +489,7 @@ tools use \f[B]/etc/fstab\f[R].
|
|||
.nf
|
||||
\f[C]
|
||||
# <file system> <mount point> <type> <options> <dump> <pass>
|
||||
/mnt/disk*:/mnt/cdrom /mnt/pool fuse.mergerfs minfreespace=16G 0 0
|
||||
/mnt/hdd*:/mnt/ssd /media fuse.mergerfs minfreespace=16G 0 0
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
|
@ -532,7 +580,7 @@ This tuple is not client facing.
|
|||
The inode that is presented to the client is passed through the kernel
|
||||
uninterpreted.
|
||||
.PP
|
||||
From FUSE docs regarding \f[C]use_ino\f[R]:
|
||||
From FUSE docs for \f[C]use_ino\f[R]:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
@ -879,7 +927,7 @@ a branch.
|
|||
\f[B]ENOENT\f[R] will be returned if no eligible branch is found.
|
||||
.SS Path Preservation
|
||||
.PP
|
||||
Policies, as described below, are of two basic types.
|
||||
Policies, as described below, are of two basic classifications.
|
||||
\f[C]path preserving\f[R] and \f[C]non-path preserving\f[R].
|
||||
.PP
|
||||
All policies which start with \f[C]ep\f[R] (\f[B]epff\f[R],
|
||||
|
@ -897,8 +945,6 @@ With the \f[C]msp\f[R] or \f[C]most shared path\f[R] policies they are
|
|||
defined as \f[C]path preserving\f[R] for the purpose of controlling
|
||||
\f[C]link\f[R] and \f[C]rename\f[R]\[cq]s behaviors since
|
||||
\f[C]ignorepponrename\f[R] is available to disable that behavior.
|
||||
In mergerfs v3.0 the path preserving behavior of rename and link will
|
||||
likely be separated from the policy all together.
|
||||
.SS Policy descriptions
|
||||
.PP
|
||||
A policy\[cq]s behavior differs, as mentioned above, based on the
|
||||
|
@ -906,7 +952,6 @@ function it is used with.
|
|||
Sometimes it really might not make sense to even offer certain policies
|
||||
because they are literally the same as others but it makes things a bit
|
||||
more uniform.
|
||||
In mergerfs 3.0 this might change.
|
||||
.PP
|
||||
.TS
|
||||
tab(@);
|
||||
|
@ -1249,10 +1294,99 @@ For create functions \f[C]mkdir\f[R], \f[C]mknod\f[R], and
|
|||
\f[C]symlink\f[R] which don\[cq]t return a file descriptor and therefore
|
||||
can have \f[C]all\f[R] or \f[C]epall\f[R] policies it will return
|
||||
success if any of the calls succeed and an error otherwise.
|
||||
.SH BUILD / UPDATE
|
||||
.SH INSTALL
|
||||
.PP
|
||||
https://github.com/trapexit/mergerfs/releases
|
||||
.PP
|
||||
If your distribution\[cq]s package manager includes mergerfs check if
|
||||
the version is up to date.
|
||||
If out of date it is recommended to use the latest release found on the
|
||||
release page.
|
||||
Details for common distros are below.
|
||||
.SS Debian
|
||||
.PP
|
||||
Most Debian installs are of a stable branch and therefore do not have
|
||||
the most up to date software.
|
||||
While mergerfs is available via \f[C]apt\f[R] it is suggested that uses
|
||||
install the most recent version available from the releases
|
||||
page (https://github.com/trapexit/mergerfs/releases).
|
||||
.SS prebuilt deb
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
wget https://github.com/trapexit/mergerfs/releases/download/<ver>/mergerfs_<ver>.debian-<rel>_<arch>.deb
|
||||
dpkg -i mergerfs_<ver>.debian-<rel>_<arch>.deb
|
||||
\f[R]
|
||||
.fi
|
||||
.SS apt
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
sudo apt install -y mergerfs
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Ubuntu
|
||||
.PP
|
||||
Most Ubuntu installs are of a stable branch and therefore do not have
|
||||
the most up to date software.
|
||||
While mergerfs is available via \f[C]apt\f[R] it is suggested that uses
|
||||
install the most recent version available from the releases
|
||||
page (https://github.com/trapexit/mergerfs/releases).
|
||||
.SS prebuilt deb
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
wget https://github.com/trapexit/mergerfs/releases/download/<version>/mergerfs_<ver>.ubuntu-<rel>_<arch>.deb
|
||||
dpkg -i mergerfs_<ver>.ubuntu-<rel>_<arch>.deb
|
||||
\f[R]
|
||||
.fi
|
||||
.SS apt
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
sudo apt install -y mergerfs
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Raspberry Pi OS
|
||||
.PP
|
||||
Effectively the same as Debian or Ubuntu.
|
||||
.SS Fedora
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
wget https://github.com/trapexit/mergerfs/releases/download/<ver>/mergerfs-<ver>.fc<rel>.<arch>.rpm
|
||||
sudo rpm -i mergerfs-<ver>.fc<rel>.<arch>.rpm
|
||||
\f[R]
|
||||
.fi
|
||||
.SS CentOS / Rocky
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
wget https://github.com/trapexit/mergerfs/releases/download/<ver>/mergerfs-<ver>.el<rel>.<arch>.rpm
|
||||
sudo rpm -i mergerfs-<ver>.el<rel>.<arch>.rpm
|
||||
\f[R]
|
||||
.fi
|
||||
.SS ArchLinux
|
||||
.IP "1." 3
|
||||
Setup AUR
|
||||
.IP "2." 3
|
||||
Install \f[C]mergerfs\f[R]
|
||||
.SS Other
|
||||
.PP
|
||||
Static binaries are provided for situations where native packages are
|
||||
unavailable.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
wget https://github.com/trapexit/mergerfs/releases/download/<ver>/mergerfs-static-linux_<arch>.tar.gz
|
||||
sudo tar xvf mergerfs-static-linux_<arch>.tar.gz -C /
|
||||
\f[R]
|
||||
.fi
|
||||
.SH BUILD
|
||||
.PP
|
||||
\f[B]NOTE:\f[R] Prebuilt packages can be found at and recommended for
|
||||
most users: https://github.com/trapexit/mergerfs/releases
|
||||
.PP
|
||||
\f[B]NOTE:\f[R] Only tagged releases are supported.
|
||||
\f[C]master\f[R] and other branches should be considered works in
|
||||
progress.
|
||||
|
@ -1276,7 +1410,7 @@ $ make deb
|
|||
$ sudo dpkg -i ../mergerfs_<version>_<arch>.deb
|
||||
\f[R]
|
||||
.fi
|
||||
.SS RHEL / CentOS /Fedora
|
||||
.SS RHEL / CentOS / Rocky / Fedora
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
|
@ -1287,7 +1421,7 @@ $ su -
|
|||
# rpm -i rpmbuild/RPMS/<arch>/mergerfs-<version>.<arch>.rpm
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Generically
|
||||
.SS Generic
|
||||
.PP
|
||||
Have git, g++, make, python installed.
|
||||
.IP
|
||||
|
@ -1339,6 +1473,8 @@ continue to run even if the software using it stop or are restarted.
|
|||
To work around this you can use a \[lq]lazy umount\[rq].
|
||||
Before mounting over top the mount point with the new instance of
|
||||
mergerfs issue: \f[C]umount -l <mergerfs_mountpoint>\f[R].
|
||||
Or you can let mergerfs do it by setting the option
|
||||
\f[C]lazy-umount-mountpoint=true\f[R].
|
||||
.SH RUNTIME CONFIG
|
||||
.SS .mergerfs pseudo file
|
||||
.IP
|
||||
|
@ -1825,8 +1961,6 @@ enable (or disable) page caching (\f[C]cache.files\f[R])
|
|||
.IP \[bu] 2
|
||||
enable \f[C]cache.writeback\f[R]
|
||||
.IP \[bu] 2
|
||||
enable \f[C]cache.open\f[R]
|
||||
.IP \[bu] 2
|
||||
enable \f[C]cache.statfs\f[R]
|
||||
.IP \[bu] 2
|
||||
enable \f[C]cache.symlinks\f[R]
|
||||
|
@ -1856,6 +1990,8 @@ increase readahead on all devices:
|
|||
.PP
|
||||
If you come across a setting that significantly impacts performance
|
||||
please contact trapexit so he may investigate further.
|
||||
Please test both against your normal setup, a singular branch, and with
|
||||
\f[C]nullrw=true\f[R]
|
||||
.SH BENCHMARKING
|
||||
.PP
|
||||
Filesystems are complicated.
|
||||
|
@ -1959,19 +2095,16 @@ echo 3 | sudo tee /proc/sys/vm/drop_caches
|
|||
.fi
|
||||
.SH TIPS / NOTES
|
||||
.IP \[bu] 2
|
||||
This document is very literal and thorough.
|
||||
Unless there is a bug things work as described.
|
||||
This document is literal and thorough.
|
||||
If a suspected feature isn\[cq]t mentioned it doesn\[cq]t exist.
|
||||
If certain libfuse arguments aren\[cq]t listed they probably
|
||||
shouldn\[cq]t be used.
|
||||
.IP \[bu] 2
|
||||
Ensure you\[cq]re using the latest version.
|
||||
Few distros have the latest version.
|
||||
.IP \[bu] 2
|
||||
Run mergerfs as \f[C]root\f[R] unless you\[cq]re merging paths which are
|
||||
owned exclusively and fully by the same user otherwise strange
|
||||
permission issues may arise.
|
||||
mergerfs is designed and intended to be run as \f[C]root\f[R].
|
||||
Run mergerfs as \f[C]root\f[R].
|
||||
mergerfs is designed and intended to be run as \f[C]root\f[R] and may
|
||||
exibit incorrect behavior if run otherwise..
|
||||
.IP \[bu] 2
|
||||
If you don\[cq]t see some directories and files you expect, policies
|
||||
seem to skip branches, you get strange permission errors, etc.
|
||||
|
@ -2077,8 +2210,8 @@ noforget
|
|||
inodecalc=path-hash
|
||||
.SS rtorrent fails with ENODEV (No such device)
|
||||
.PP
|
||||
Be sure to set \f[C]cache.files=partial|full|auto-full\f[R] or turn off
|
||||
\f[C]direct_io\f[R].
|
||||
Be sure to set \f[C]cache.files=partial|full|auto-full|per-processe\f[R]
|
||||
or turn off \f[C]direct_io\f[R].
|
||||
rtorrent and some other applications use
|
||||
mmap (http://linux.die.net/man/2/mmap) to read and write to files and
|
||||
offer no fallback to traditional methods.
|
||||
|
@ -2232,45 +2365,6 @@ There might be a hack to work around this (make mergerfs read the
|
|||
would be limited to Linux and the /etc/group DB.
|
||||
Preferably users would mount in the host group file into the containers
|
||||
or use a standard shared user & groups technology like NIS or LDAP.
|
||||
.SS mergerfs or libfuse crashing
|
||||
.PP
|
||||
First\&... always upgrade to the latest version unless told otherwise.
|
||||
.PP
|
||||
If using mergerfs below 2.22.0:
|
||||
.PP
|
||||
If suddenly the mergerfs mount point disappears and
|
||||
\f[C]Transport endpoint is not connected\f[R] is returned when
|
||||
attempting to perform actions within the mount directory \f[B]and\f[R]
|
||||
the version of libfuse (use \f[C]mergerfs -v\f[R] to find the version)
|
||||
is older than \f[C]2.9.4\f[R] its likely due to a bug in libfuse.
|
||||
Affected versions of libfuse can be found in Debian Wheezy, Ubuntu
|
||||
Precise and others.
|
||||
.PP
|
||||
In order to fix this please install newer versions of libfuse.
|
||||
If using a Debian based distro (Debian,Ubuntu,Mint) you can likely just
|
||||
install newer versions of
|
||||
libfuse (https://packages.debian.org/unstable/libfuse2) and
|
||||
fuse (https://packages.debian.org/unstable/fuse) from the repo of a
|
||||
newer release.
|
||||
.PP
|
||||
If using mergerfs at or above 2.22.0:
|
||||
.PP
|
||||
First upgrade if possible, check the known bugs section, and contact
|
||||
trapexit.
|
||||
.SS mergerfs appears to be crashing or exiting
|
||||
.PP
|
||||
There seems to be an issue with Linux version \f[C]4.9.0\f[R] and above
|
||||
in which an invalid message appears to be transmitted to libfuse (used
|
||||
by mergerfs) causing it to exit.
|
||||
No messages will be printed in any logs as it\[cq]s not a proper crash.
|
||||
Debugging of the issue is still ongoing and can be followed via the
|
||||
fuse-devel
|
||||
thread (https://sourceforge.net/p/fuse/mailman/message/35662577).
|
||||
.SS rm: fts_read failed: No such file or directory
|
||||
.PP
|
||||
Please update.
|
||||
This is only happened to mergerfs versions at or below v2.25.x and will
|
||||
not occur in more recent versions.
|
||||
.SH FAQ
|
||||
.SS How well does mergerfs scale? Is it \[lq]production ready?\[rq]
|
||||
.PP
|
||||
|
@ -2352,7 +2446,7 @@ the documentation will be improved.
|
|||
.PP
|
||||
That said, for the average person, the following should be fine:
|
||||
.PP
|
||||
\f[C]-o cache.files=off,dropcacheonclose=true,category.create=mfs\f[R]
|
||||
\f[C]cache.files=off,dropcacheonclose=true,category.create=mfs\f[R]
|
||||
.SS Why are all my files ending up on 1 drive?!
|
||||
.PP
|
||||
Did you start with empty drives?
|
||||
|
@ -2470,7 +2564,7 @@ Some of these also affect the use of mergerfs from container platforms
|
|||
such as Docker.
|
||||
.SS Why use FUSE? Why not a kernel based solution?
|
||||
.PP
|
||||
As with any two solutions to a problem there are advantages and
|
||||
As with any solutions to a problem there are advantages and
|
||||
disadvantages to each one.
|
||||
.PP
|
||||
A FUSE based solution has all the downsides of FUSE:
|
||||
|
@ -2497,8 +2591,6 @@ Allows more flexibility in design and features
|
|||
.IP \[bu] 2
|
||||
Overall easier to write, secure, and maintain
|
||||
.IP \[bu] 2
|
||||
Ability to run without root access or need to change the kernel
|
||||
.IP \[bu] 2
|
||||
Much lower barrier to entry (getting code into the kernel takes a lot of
|
||||
time and effort initially)
|
||||
.PP
|
||||
|
@ -2517,33 +2609,6 @@ to using \f[C]fuse.mergerfs\f[R] as the type in \f[C]/etc/fstab\f[R].
|
|||
If \f[C]mergerfs\f[R] doesn\[cq]t work as a type it could be due to how
|
||||
the \f[C]mount.mergerfs\f[R] tool was installed.
|
||||
Must be in \f[C]/sbin/\f[R] with proper permissions.
|
||||
.SS Why was libfuse embedded into mergerfs?
|
||||
.IP "1." 3
|
||||
A significant number of users use mergerfs on distros with old versions
|
||||
of libfuse which have serious bugs.
|
||||
Requiring updated versions of libfuse on those distros isn\[cq]t
|
||||
practical (no package offered, user inexperience, etc.).
|
||||
The only practical way to provide a stable runtime on those systems was
|
||||
to \[lq]vendor\[rq] / embed the library into the project.
|
||||
.IP "2." 3
|
||||
mergerfs was written to use the high level API.
|
||||
There are a number of limitations in the HLAPI that make certain
|
||||
features difficult or impossible to implement.
|
||||
While some of these features could be patched into newer versions of
|
||||
libfuse without breaking the public API some of them would require hacky
|
||||
code to provide backwards compatibility.
|
||||
While it may still be worth working with upstream to address these
|
||||
issues in future versions, since the library needs to be vendored for
|
||||
stability and compatibility reasons it is preferable / easier to modify
|
||||
the API.
|
||||
Longer term the plan is to rewrite mergerfs to use the low level API.
|
||||
.SS Why did support for system libfuse get removed?
|
||||
.PP
|
||||
See above first.
|
||||
.PP
|
||||
If/when mergerfs is rewritten to use the low-level API then it\[cq]ll be
|
||||
plausible to support system libfuse but till then it\[cq]s simply too
|
||||
much work to manage the differences across the versions.
|
||||
.SS Why was splice support removed?
|
||||
.PP
|
||||
After a lot of testing over the years splicing always appeared to be at
|
||||
|
@ -2733,11 +2798,6 @@ Disable file caching.
|
|||
If you aren\[cq]t using applications which use \f[C]mmap\f[R] it\[cq]s
|
||||
probably simpler to just disable it all together.
|
||||
The kernel won\[cq]t send the requests when caching is disabled.
|
||||
.SS What are these .fuse_hidden files?
|
||||
.PP
|
||||
Please upgrade.
|
||||
mergerfs >= 2.26.0 will not have these temporary files.
|
||||
See the notes on \f[C]unlink\f[R].
|
||||
.SS It\[cq]s mentioned that there are some security issues with mhddfs. What are they? How does mergerfs address them?
|
||||
.PP
|
||||
mhddfs (https://github.com/trapexit/mhddfs) manages running as
|
||||
|
@ -2789,11 +2849,11 @@ previously encountered questions/issues.
|
|||
\f[B]Please make sure you are using the latest
|
||||
release (https://github.com/trapexit/mergerfs/releases) or have tried it
|
||||
in comparison. Old versions, which are often included in distros like
|
||||
Debian and Ubuntu, are not ever going to be updated and your bug may
|
||||
have been addressed already.\f[R]
|
||||
Debian and Ubuntu, are not ever going to be updated and the issue you
|
||||
are encountering may have been addressed already.\f[R]
|
||||
.PP
|
||||
\f[B]For commercial support or feature requests please contact me
|
||||
directly.\f[R]
|
||||
directly. (mailto:support@spawn.link)\f[R]
|
||||
.SS Information to include in bug reports
|
||||
.IP \[bu] 2
|
||||
Information about the broader problem along with any attempted
|
||||
|
@ -2801,7 +2861,7 @@ solutions. (https://xyproblem.info)
|
|||
.IP \[bu] 2
|
||||
Solution already ruled out and why.
|
||||
.IP \[bu] 2
|
||||
Version of mergerfs: \f[C]mergerfs -V\f[R]
|
||||
Version of mergerfs: \f[C]mergerfs --version\f[R]
|
||||
.IP \[bu] 2
|
||||
mergerfs settings / arguments: from fstab, systemd unit, command line,
|
||||
OMV plugin, etc.
|
||||
|
@ -2848,21 +2908,26 @@ etc.
|
|||
.IP \[bu] 2
|
||||
github.com: https://github.com/trapexit/mergerfs/issues
|
||||
.IP \[bu] 2
|
||||
email: trapexit\[at]spawn.link
|
||||
.IP \[bu] 2
|
||||
discord: https://discord.gg/MpAr69V
|
||||
.IP \[bu] 2
|
||||
twitter: https://twitter.com/_trapexit
|
||||
.IP \[bu] 2
|
||||
reddit: https://www.reddit.com/user/trapexit
|
||||
.SS Support development
|
||||
.PP
|
||||
This software is released under the very liberal ISC license and is
|
||||
therefore free to use for personal or commercial uses.
|
||||
That said if you like this software and have the means please consider
|
||||
supporting its development.
|
||||
reddit: https://www.reddit.com/r/mergerfs
|
||||
.SS Donations
|
||||
.PP
|
||||
https://github.com/trapexit/support
|
||||
.PP
|
||||
Development and support of a project like mergerfs requires a
|
||||
significant amount of time and effort.
|
||||
The software is released under the very liberal ISC license and is
|
||||
therefore free to use for personal or commercial uses.
|
||||
.PP
|
||||
If you are a personal user and find mergerfs and its support valuable
|
||||
and would like to support the project financially it would be very much
|
||||
appreciated.
|
||||
.PP
|
||||
If you are using mergerfs commercially please consider sponsoring the
|
||||
project to ensure it continues to be maintained and receive updates.
|
||||
If custom features are needed feel free to contact me
|
||||
directly (mailto:support@spawn.link).
|
||||
.SH LINKS
|
||||
.IP \[bu] 2
|
||||
https://spawn.link
|
||||
|
@ -2876,5 +2941,3 @@ https://github.com/trapexit/mergerfs-tools
|
|||
https://github.com/trapexit/scorch
|
||||
.IP \[bu] 2
|
||||
https://github.com/trapexit/bbf
|
||||
.SH AUTHORS
|
||||
Antonio SJ Musumeci <trapexit@spawn.link>.
|
||||
|
|
Loading…
Reference in New Issue
Block a user