Installing FUSE on linux (for DBFS)

Filesystem in Userspace (FUSE) is a loadable kernel module for Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a "bridge" to the actual kernel interfaces. It is a pre-requisite for using Oracle DBFS.

Manual Installation

Firstly, check whether FUSE has already been installed with the following command:

lsmod | grep fuse

If it has been installed then you don't need to continue reading!

Pre-Requisites

Ensure that the kernel development package is installed with the following command (the exact version will be displayed if it is installed):

rpm -q kernel-devel

If it is not installed, then ask your linux administrator to install  it for you.

Installing FUSE

1. Download the FUSE 2.7.3 package from http://fuse.sourceforge.net/ and transfer it onto the server.

2. Install the FUSE package as the "root" user using the following commands:

tar -xzvf fuse-2.7.3.tar.gz
cd fuse-2.7.3
./configure --prefix=/usr --with-kernel=/usr/src/kernels/`uname -r`-`uname -p`
make
make install
/sbin/depmod
/sbin/modprobe fuse
chmod 666 /dev/fuse
echo "/sbin/modprobe fuse" >> /etc/rc.modules
chmod 700 /etc/rc.modules

3. Reboot the server.

4. Check that Fuse is now available:

lsmod | grep fuse

5. Add a new library path

# Change ORACLE_HOME as appropriate for your installation 
ORACLE_HOME=/oracle/product/1120/rdbms/a
echo "/usr/local/lib" >> /etc/ld.so.conf.d/usr_local_lib.conf
ln -s $ORACLE_HOME/lib/libclntsh.so.11.1 /usr/local/lib/libclntsh.so.11.1
ln -s $ORACLE_HOME/lib/libnnz11.so /usr/local/lib/libnnz11.so
ln -s $ORACLE_HOME/bin/dbfs_client /sbin/mount.dbfs
ln -s /usr/lib/libfuse.so /usr/local/lib/libfuse.so

Reload the dynamic loadable library cache:

ldconfig

Installation is now complete.