From Fedora Project Wiki
(Started writing page, describing current status of FUSE.)
 
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
== About ==
== About ==
FUSE stands for Filesystem in USErspace, a mechanist to allow unprivileged user to mount different filesystems w/o hitting kernel too much. See its [http://fuse.sourceforge.net/ homepage] and [http://en.wikipedia.org/wiki/Filesystem_in_Userspace dedicated page on Wikipedia].
FUSE stands for Filesystem in USErspace, a mechanism to allow unprivileged user to mount different filesystems w/o hitting kernel too much. See its [http://fuse.sourceforge.net/ homepage] and [http://en.wikipedia.org/wiki/Filesystem_in_Userspace dedicated page on Wikipedia].


== Status ==
== Status ==
Line 8: Line 8:


== Available filesystems ==
== Available filesystems ==
The number of FUSE-based filesystems, available in Fedora, steadily grows. Currently ( Sat Sep 5 19:05:24 MSD 2009 ) available the following filesystems:
The number of FUSE-based filesystems, available in Fedora, steadily growing. Currently (  Wed May 22 11:18:32 CEST 2024 ) the following filesystems are available:


* {{package|afuse}}
* {{package|afuse}} - An automounter implemented with FUSE (v2)
* {{package|curlftpfs}}
* {{package|apfs-fuse}} - A read-only FUSE driver for Apple's APFS (v2)
* {{package|davfs2}}
* {{package|archivemount}} - FUSE based filesystem for mounting compressed archives (v3)
* {{package|fuse-encfs|encfs}}
* <s>{{package|barry}} - a desktop toolset for managing your BlackBerry device</s> (v2)
* {{package|funionfs}}
* {{package|bindfs}} - allows you to mirror a directory and also change the the permissions in the mirror directory (v2)
* {{package|afpfs-ng|fuse-afp}}
* {{package|btrfs-fuse}} - Read-only, license friendly, FUSE based btrfs implementation (v3)
* {{package|fuse-convmvfs}}
* {{package|ceph|ceph-fuse}} - Ceph fuse-based client (v3)
* {{package|fuse-gmailfs}}
* {{package|chunkfs}} - FUSE based filesystem that allows you to mount an arbitrary file or block device (v2)
* {{package|fuse-s3fs}}
* {{package|curlftpfs}} - a filesystem for accessing FTP hosts based on FUSE and libcurl (v2)
* {{package|fuse-smb}}
* {{package|davfs2}} - a filesystem driver for WebDAV (v???)
* {{package|fuse-zip}}
* {{package|disorderfs}} - FUSE filesystem that introduces non-determinism (v2)
* {{package|fusecompress}}
* {{package|fuse-encfs|encfs}} - Encrypted pass-thru filesystem in userspace (v2)
* {{package|fuseiso}}
* {{package|erofs-utils|erofs-fuse}} - FUSE support for mounting EROFS images (v3)
* {{package|glusterfs|glusterfs-client}}
* {{package|funionfs}} - Union filesystem in userspace (v2)
* {{package|gvfs|gvfs-fuse}}
* {{package|afpfs-ng|fuse-afp}} - Apple Filing Protocol client (v2)
* {{package|ifuse}}
* {{package|fuse-btfs}} - FUSE filesystem Bittorrent (v2)
* {{package|ltspfs}}
* <s>{{package|fuse-convmvfs}} - a filesystem to convert filesystem encodings</s> (v2)
* {{package|ntfs-3g}}
* {{package|dislocker|fuse-dislocker}} - FUSE filesystem to access BitLocker encrypted volumes (v2)
* {{package|obexfs}}
* <s>{{package|fuse-gmailfs}} - a filesystem which uses your Gmail account as its storage medium</s> (v2) (uses retired {{package|fuse-python}})
* {{package|fuse-sshfs|sshfs}}
* {{package|fuse-overlayfs}} - FUSE overlay+shiftfs implementation for rootless containers (v3)
* {{package|wdfs}}
* {{package|fuse-pingfs}} - Stores your data in ICMP ping packets (v2)
* <s>{{package|fuse-s3fs}} - a filesystem using Amazon Simple Storage Service as storage</s> (v2) (uses retired {{package|fuse-python}})
* <s>{{package|fuse-smb}} - a filesystem to fast and easy access remote resources via SMB</s> (v2)
* {{package|fuse-zip}} - a fs to navigate, extract, create and modify ZIP archives (v2)
* <s>{{package|fusecompress}} - a filesystem which transparently compresses its content</s> (v2)
* <s>{{package|fuseiso}} - a filesystem for accessing ISO images</s> (v2)
* <s>{{package|FUR}} - an application that let the user mount a Windows CE based device</s> (v2)
* {{package|glusterfs|glusterfs-client}} - Cluster File System (v3)
* {{package|gphotofs}} - A FUSE filesystem module to mount your camera as a filesystem (v2)
* {{package|gvfs|gvfs-fuse}} - FUSE support for gvfs (v3)
* {{package|ifuse}} - a filesystem for mounting iPhone and iPod touch devices (v2)
* {{package|jmtpfs}} - FUSE and libmtp based filesystem for accessing MTP devices (v2)
* {{package|kio-fuse}} - KIO FUSE (v3)
* <s>{{package|ltspfs}} - Fuse based remote filesystem for LTSP thin clients</s> (v2)
* {{package|lxcfs}} - FUSE based filesystem for LXC (v2)
* {{package|mp3fs}} - FUSE filesystem to transcode FLAC to MP3 on the fly (v2)
* {{package|libnbd|nbdfuse}} - FUSE support for libnbd (v3)
* {{package|ntfs-3g}} - NTFS userspace driver (bundled forked lite version)
* <s>{{package|obexfs}} - a filesystem to access to mobile phones</s> (v2)
* {{package|orangefs|orangefs-fuse}} - Parallel network file system FUSE client (v2)
* {{package|ceph|rbd-fuse}} - Ceph fuse-based client (v3)
* {{package|s3fs-fuse}} - FUSE-based file system backed by Amazon S3 (v2)
* {{package|fuse-sshfs|sshfs}} - a filesystem to access remote filesystems via SSH (v3)
* {{package|squashfuse}} - FUSE filesystem to mount squashfs archives (v2)
* <s>{{package|wdfs}} - a filesystem that makes it possible to mount a WebDAV share under Linux</s> (v2)
* {{package|xrootd|xrootd-fuse}} - Xrootd FUSE tool (v2)
* {{package|zfs-fuse}} - ZFS ported to Linux FUSE (v2)


Also, the following language bindings were providing:
Also, the following language bindings were providing:


* {{package|fuse-python}}
* {{package|golang-bazil-fuse}} (v???)
 
* <s>{{package|golang-github-rfjakob-gocryptfs|gocryptfs}}</s> (v2) using {{package|golang-github-hanwen-fuse}}
 
* {{package|golang-github-hanwen-fuse}} (v2)
* {{package|golang-github-hanwen-fuse-2}} (v???)
* <s>{{package|fuse-python}}</s> (v2)
* {{package|perl-Fuse}} - Write filesystems in Perl using FUSE (v2)
* {{package|python-fuse|python3-fusepy}} - Python module that provides a simple interface to FUSE and MacFUSE (v2)
* {{package|python-llfuse|python3-llfuse}} - Python Bindings for the low-level FUSE API Python 3.12 packages (v2)
* {{package|rust-fuse}} (v2)
== Packaging rules ==
== Packaging rules ==
Due to splitting the main package into '''fuse''' and '''fuse-libs''', every filesystem, based on FUSE, must explicitly add the following:
Due to splitting the main package into '''fuse''' and '''fuse-libs''', every filesystem, based on FUSE, must explicitly adds the following:


<code>'''Require: fuse'''</code>
<code>'''Requires: fuse'''</code>


to the head of its spec-file.
to the head of its spec-file. The '''fuse-libs''' part will be automatically picked up by rpmbuild.

Latest revision as of 19:04, 30 August 2024

About

FUSE stands for Filesystem in USErspace, a mechanism to allow unprivileged user to mount different filesystems w/o hitting kernel too much. See its homepage and dedicated page on Wikipedia.

Status

Fedora ships with FUSE since FC-4. It consists from the in-kernel module, the main package, called fuse, the fuse-devel subpackage (intended only for developers) and fuse-libs package. The split of package into fuse and fuse-libs was made due to different licensing schemes - fuse-libs licensed under LGPLv2+ while fuse licensed under GPL+.

RHEL provides in-kernel FUSE module since version 5.4.

Available filesystems

The number of FUSE-based filesystems, available in Fedora, steadily growing. Currently ( Wed May 22 11:18:32 CEST 2024 ) the following filesystems are available:

  • afuse - An automounter implemented with FUSE (v2)
  • apfs-fuse - A read-only FUSE driver for Apple's APFS (v2)
  • archivemount - FUSE based filesystem for mounting compressed archives (v3)
  • barry - a desktop toolset for managing your BlackBerry device (v2)
  • bindfs - allows you to mirror a directory and also change the the permissions in the mirror directory (v2)
  • btrfs-fuse - Read-only, license friendly, FUSE based btrfs implementation (v3)
  • ceph-fuse - Ceph fuse-based client (v3)
  • chunkfs - FUSE based filesystem that allows you to mount an arbitrary file or block device (v2)
  • curlftpfs - a filesystem for accessing FTP hosts based on FUSE and libcurl (v2)
  • davfs2 - a filesystem driver for WebDAV (v???)
  • disorderfs - FUSE filesystem that introduces non-determinism (v2)
  • encfs - Encrypted pass-thru filesystem in userspace (v2)
  • erofs-fuse - FUSE support for mounting EROFS images (v3)
  • funionfs - Union filesystem in userspace (v2)
  • fuse-afp - Apple Filing Protocol client (v2)
  • fuse-btfs - FUSE filesystem Bittorrent (v2)
  • fuse-convmvfs - a filesystem to convert filesystem encodings (v2)
  • fuse-dislocker - FUSE filesystem to access BitLocker encrypted volumes (v2)
  • fuse-gmailfs - a filesystem which uses your Gmail account as its storage medium (v2) (uses retired fuse-python)
  • fuse-overlayfs - FUSE overlay+shiftfs implementation for rootless containers (v3)
  • fuse-pingfs - Stores your data in ICMP ping packets (v2)
  • fuse-s3fs - a filesystem using Amazon Simple Storage Service as storage (v2) (uses retired fuse-python)
  • fuse-smb - a filesystem to fast and easy access remote resources via SMB (v2)
  • fuse-zip - a fs to navigate, extract, create and modify ZIP archives (v2)
  • fusecompress - a filesystem which transparently compresses its content (v2)
  • fuseiso - a filesystem for accessing ISO images (v2)
  • FUR - an application that let the user mount a Windows CE based device (v2)
  • glusterfs-client - Cluster File System (v3)
  • gphotofs - A FUSE filesystem module to mount your camera as a filesystem (v2)
  • gvfs-fuse - FUSE support for gvfs (v3)
  • ifuse - a filesystem for mounting iPhone and iPod touch devices (v2)
  • jmtpfs - FUSE and libmtp based filesystem for accessing MTP devices (v2)
  • kio-fuse - KIO FUSE (v3)
  • ltspfs - Fuse based remote filesystem for LTSP thin clients (v2)
  • lxcfs - FUSE based filesystem for LXC (v2)
  • mp3fs - FUSE filesystem to transcode FLAC to MP3 on the fly (v2)
  • nbdfuse - FUSE support for libnbd (v3)
  • ntfs-3g - NTFS userspace driver (bundled forked lite version)
  • obexfs - a filesystem to access to mobile phones (v2)
  • orangefs-fuse - Parallel network file system FUSE client (v2)
  • rbd-fuse - Ceph fuse-based client (v3)
  • s3fs-fuse - FUSE-based file system backed by Amazon S3 (v2)
  • sshfs - a filesystem to access remote filesystems via SSH (v3)
  • squashfuse - FUSE filesystem to mount squashfs archives (v2)
  • wdfs - a filesystem that makes it possible to mount a WebDAV share under Linux (v2)
  • xrootd-fuse - Xrootd FUSE tool (v2)
  • zfs-fuse - ZFS ported to Linux FUSE (v2)

Also, the following language bindings were providing:

Packaging rules

Due to splitting the main package into fuse and fuse-libs, every filesystem, based on FUSE, must explicitly adds the following:

Requires: fuse

to the head of its spec-file. The fuse-libs part will be automatically picked up by rpmbuild.