#### Beyond Linux® From Scratch (systemd Edition) - Version 10.1

### Chapter 5. File Systems and Disk Management

- Prev

  dosfstools-4.2

- Next

  jfsutils-1.1.15

- Up
- Home

# Fuse-3.10.2

## 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.

This package is known to build and work properly using an LFS-10.1 platform.

### Package Information

- Download (HTTP): https://github.com/libfuse/libfuse/releases/download/fuse-3.10.2/fuse-3.10.2.tar.xz

- Download MD5 sum: 1c60ab35e72f1b6cb3903a49f3563aee

- Download size: 2.0 MB

- Estimated disk space required: 146 MB

- Estimated build time: 0.1 SBU (add 0.4 SBU for tests)

### Fuse Dependencies

#### Optional

Doxygen-1.9.1 (to rebuild the API documentation) and pytest (for tests)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/fuse

## Kernel Configuration

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 user space 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]

## Installation of Fuse

Install Fuse by running the following commands:

    sed -i '/^udev/,$ s/^/#/' util/meson.build &&

    mkdir build &&
    cd    build &&

    meson --prefix=/usr .. &&
    ninja

The API documentation is included in the package, but if you have Doxygen-1.9.1 installed and wish to rebuild it, issue:

    doxygen doc/Doxyfile

To test the results, run (as the `root` user):

    python3 -m pytest test/

The pytest Python module is needed for the tests.

Now, as the `root` user:

    ninja install                                             &&

    mv -vf   /usr/lib/libfuse3.so.3*     /lib                 &&
    ln -sfvn ../../lib/libfuse3.so.3.10.2 /usr/lib/libfuse3.so &&

    mv -vf /usr/bin/fusermount3  /bin         &&
    mv -vf /usr/sbin/mount.fuse3 /sbin        &&
    chmod u+s /bin/fusermount3                &&

    install -v -m755 -d /usr/share/doc/fuse-3.10.2      &&
    install -v -m644    ../doc/{README.NFS,kernel.txt} \
                        /usr/share/doc/fuse-3.10.2      &&
    cp -Rv ../doc/html  /usr/share/doc/fuse-3.10.2

## Command Explanations

sed ... util/meson.build: This command disables the installation of a boot script and udev rule that are not needed.

mv ... libfuse3.so.3*; ln ... libfuse3.so: These commands install the libraries in the /lib directory.

## 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.10.2

### 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

Last updated on 2021-02-21 17:43:43 -0800

- Prev

  dosfstools-4.2

- Next

  jfsutils-1.1.15

- Up
- Home