FUSE (Filesystem in Userspace) is a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. Fuse also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations.
Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.
Download (HTTP): https://github.com/libfuse/libfuse/releases/download/fuse-3.14.0/fuse-3.14.0.tar.xz
Download MD5 sum: 2070c0f347e2304fa122d4cb0746e8a9
Download size: 4.2 MB
Estimated disk space required: 108 MB (with tests and documentation)
Estimated build time: 0.1 SBU (add 0.4 SBU for tests)
Doxygen-1.9.6 (to rebuild the API documentation) and pytest-7.2.2 (required for tests)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/fuse
Enable the following options in the kernel configuration and recompile the kernel if necessary:
File systems --->
<*/M> FUSE (Filesystem in Userspace) support [CONFIG_FUSE_FS]
Character devices in userspace should be enabled too for running the tests:
File systems --->
<*/M> FUSE (Filesystem in Userspace) support [CONFIG_FUSE_FS]
<*/M> Character device in Userspace support [CONFIG_CUSE]
Install Fuse by running the following commands:
sed -i '/^udev/,$ s/^/#/' util/meson.build && sed -i 's/HAVE_CONFIG_H/HAVE_LIBFUSE_PRIVATE_CONFIG_H/' meson.build && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja
The API documentation is included in the package, but if you have Doxygen-1.9.6 installed and wish to rebuild it, issue:
pushd .. && doxygen doc/Doxyfile && popd
To test the results, run (as the root
user):
python3 -m pytest test/
The pytest-7.2.2 Python module is required for
the tests. One test named test_cuse
will fail if the CONFIG_CUSE
configuration item was
not enabled when the kernel was built. Two tests, test_ctests.py
and test_examples.py
will produce a warning because a
deprecated Python module is used.
Now, as the root
user:
ninja install && chmod u+s /usr/bin/fusermount3 && cd .. && install -v -m755 -d /usr/share/doc/fuse-3.14.0 && install -v -m644 doc/{README.NFS,kernel.txt} \ /usr/share/doc/fuse-3.14.0 && cp -Rv doc/html /usr/share/doc/fuse-3.14.0
sed ... util/meson.build: This command disables the installation of a boot script and udev rule that are not needed.
sed ... meson.build: This command fixes a bug with the test_passthrough_hp test.
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
Some options regarding mount policy can be set in the file
/etc/fuse.conf
. To install the file
run the following command as the root
user:
cat > /etc/fuse.conf << "EOF"
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000
# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
#user_allow_other
EOF
Additional information about the meaning of the configuration options are found in the man page.