FUSE can implement a fully functional filesystem in a userspace program.
Some projects include the whole FUSE package (for simpler installation). In other cases or just to try out the examples FUSE must be installed first. The installation is simple, after unpacking enter:
If this produces an error, please read on.
The configure script will try to guess the location of the kernel source. In case this fails, it may be specified using the --with-kernel parameter. Building the kernel module needs a configured kernel source tree matching the running kernel. If you build your own kernel this is no problem. On the other hand if a precompiled kernel is used, the kernel headers used by the FUSE build process must first be prepared. There are two possibilities:
1. A package containing the kernel headers for the kernel binary is available in the distribution (e.g. on Debian it's the kernel-headers-X.Y.Z package for kernel-image-X.Y.Z)
2. The kernel source must be prepared:
- Extract the kernel source to some directory
- Copy the running kernel's config (usually found in /boot/config-X.Y.Z) to .config at the top of the source tree
- Run make menuconfig, then make dep at the top of the source tree (only needed on 2.4 kernels)
If using the 2.6 kernel, then write access is needed to some files in the kernel source tree. Usually it is enough if you make .tmp_versions and .__modpost.cmd writable.
- Simple library API
- Simple installation (no need to patch or recompile the kernel)
- Secure implementation
- Userspace - kernel interface is very efficient
- Usable by non privileged users
- Runs on Linux kernels 2.4.X and 2.6.X
- Has proven very stable over time