FUSE - Filesystem in Userspace

From SME Server
Revision as of 13:17, 28 December 2008 by Cactus (talk | contribs) (Remove redundant header, insert Template:Languages)
Jump to navigationJump to search



PythonIcon.png Skill level: Medium
The instructions on this page require a basic knowledge of linux.


Maintainer

Michael Weinberger

Description

FUSE is a kernel module that allows non-privileged users to run file system drivers in user space. With FUSE virtual files systems can be realized that can expose any data source as a filesystem. There are already many filesystems available that uses FUSE. more info

Warning.png Warning:
This contrib installs gcc, cpp and some *-devel RPMs. Do not use the contrib, if you have security concerns with those packages installed.


Installation

Configuring the Dag Repositoy

The following command will configure the dag repository on SME Server. EDIT NOT COMPLETE!


To create an entry in the database for the epel repository we open put the following commands in a terminal window or in a shell window:

/sbin/e-smith/db yum_repositories set epel repository \

Name 'SME Server - epel' \
BaseURL 'http://<http://download.fedoraproject.org/pub/epel/7/$basearch' \
EnableGroups yes \
GPGCheck yes \
Visible no \
status disabled

To enable the changes:

    signal-event yum-modify

Just to be sure, give yum a fresh start:

    yum clean all

After adding it to the database we have to update the changes to the configuration file:

signal-event yum-modify

Installing FUSE

Download the smeserver-fuse RPM from http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/FUSE

Install the package with all dependencies

/usr/bin/yum --enable=dag localinstall smeserver-fuse-*.el4.sme.noarch.rpm

Testing

To verify the installation mount a directory from a remote server you can access via ssh.

Installing the FUSE SSH Filesystem

 /usr/bin/yum --enable=dag install fuse-sshfs

Mount a remote directory

mkdir /mnt/fuse-ssh-test
sshfs <REMOTE_HOST_IP>:/var/log /mnt/fuse-ssh-test

When everything works you can see the log files of the remote server

ls /mnt/fuse-ssh-test

Cleaning up

umount /mnt/fuse-ssh-test
rm -rf /mnt/fuse-ssh-test
rpm -e fuse-sshfs

Uninstall

Unmount all FUSE filesystems.

Remove the base RPMs

rpm -e smeserver-fuse dkms dkms-fuse fuse fuse-sshfs 

and the dependencies if no longer needed

rpm -e cpp gcc glibc-devel glibc-headers glibc-kernheaders kernel-devel