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.
This package is known to build and work properly using an LFS 11.3 platform.
Download (HTTP): https://github.com/libfuse/libfuse/releases/download/fuse-3.13.1/fuse-3.13.1.tar.xz
Download MD5 sum: f2830b775bcba2ab9cb94f2619c077a4
Download size: 3.9 MB
Estimated disk space required: 102 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.1 (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 && mkdir build && cd build && meson --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.1 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.13.1 && install -v -m644 doc/{README.NFS,kernel.txt} \ /usr/share/doc/fuse-3.13.1 && cp -Rv doc/html /usr/share/doc/fuse-3.13.1
sed ... util/meson.build: This command disables the installation of a boot script and udev rule that are not needed.
--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.