Fuse-3.17.4

Introduction to Fuse

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.

Package Information

Fuse Dependencies

Optional

"doxygen" (to rebuild the API documentation), "pytest" (required for tests), and looseversion (for tests)

Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]

Character devices in userspace should be enabled too for running the tests:

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]
  <*/M>   Character device in Userspace support                           [CUSE]

Installation of Fuse

The sed ... util/meson.build command removes the installation of an unnecessary boot script and udev rule. After applying this change, prepare Fuse by running the following commands:

sed -i '/^udev/,$ s/^/#/' util/meson.build
meson setup build --prefix=/usr --buildtype=release

Compile Fuse by running the following commands:

ninja -C build

To test the results not recommended in the limited chroot environment as it requires packages not installed yet, issue:

python3 -m venv --system-site-packages testenv
source testenv/bin/activate
pip3 install looseversion
python3 -m pytest
deactivate

The "pytest" 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. One test, test/util.py, will output a warning due to the usage of an unknown mark in pytest.

Now, Install Fuse by running the following commands:

ninja -C build install
chmod u+s /usr/bin/fusermount3

cp -Rv doc/html -T /usr/share/doc/fuse-3.17.4
install -v -m644   doc/{README.NFS,kernel.txt} \
                   /usr/share/doc/fuse-3.17.4

Configuring fuse

Config Files

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.

Contents

Installed Programs: fusermount3 and mount.fuse3
Installed Libraries: libfuse3.so
Installed Directory: /usr/include/fuse3 and /usr/share/doc/fuse-3.17.4

Short Descriptions

fusermount3

is a suid root program to mount and unmount Fuse filesystems

mount.fuse3

is the command mount calls to mount a Fuse filesystem

libfuse3.so

contains the FUSE API functions