flucFS is using FUSE to mount an existing directory in some other folder. Everything written to the mounted folder is transparently converted, encrypted, compressed as defined in the configuration. If no match is found in its configuration, the data is passed through without any change. The configuration is done with the argument strings of the FLUC byte interface API. However, since flucFS is a filesystem and uses only the read and write functions of the API, the element access features of the API are not useable with flucFS.
Dependencies
Kernel module
The fuse kernel module must be loaded in order to use any fuse filesystem. This kernel module is usually installed with the linux kernel.
This can be checked with
lsmod | grep fuse
To load it, just run
modprobe fuse
with root permissions.
In unusual circumstances, FUSE support might be built into the kernel image.
Library
flucFS depends on the FUSE user space library. This library and the required utilities are installed with
yum install fuse fuse-libs
on RedHat Enterprise Linux or CentOS.
zypper install fuse libfuse2
apt-get install fuse
pacman -S fuse3 fuse2
Usage
The current version of the FUSE library is 3.1.1 and uses a slightly different API than older versions (starting with 2). It is possible to have both versions of the FUSE library installed at the same time. Since some Linux distributions only provide an older version (2) two executables are shipped: flucFS and flucFS2
In case only an older version is available the executable flucFS will NOT work. Use flucFS2 instead when executing any of the following commands.
To mount the folder /var/data on the folder /home/hugo/mydata execute this command:
flucFS -l logfile /var/data /home/hugo/mydata
If this is started from within the folder /home/hugo it can be abbreviated with
flucFS -l logfile /var/data mydata
If no logfile is specified, flucFS will NOT run as daemon and the logging is done to stderr.
To unmount the filesystem execute
fusermount -u /home/hugo/mydata
or, if it was not running as a daemon, just hit <Ctrl>-c
After it is unmounted all data was written to the logfile. In case of errors the contents will help us at limes datentechnik to figure out the cause.
Known issues
If a mount command fails with this message:
fuse: failed to open /dev/fuse: Permission denied
Users NOT belonging to the group fuse are usally denied access to /dev/fuse
Solution: The preferred solution is to add the required users to the fuse group. This is done by adding them to end of the line starting with fuse in /etc/group
An alternative solution is to alter the permissions of the device node /dev/fuse to allow read and write for any user in order to mount a FUSE filesystem by a user other than root. This can be done by executing
chmod ugo+rw /dev/fuse
If a mount command fails with this message:
version `FUSE_2.8' not found (required by ./flucFS2)
the FUSE library is too old for the shipped flucFS2.
Solution:
-
Get a newer version of libfuse.so , at least 2.8
-
Contact limes datentechnik to provide You with an version of flucFS2, built for such an old library. 2.8.0 was released on August 18th 2009 (see: FUSE releases)