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.
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!
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.
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
./configure --prefix=/usr --with-kernel=/usr/src/kernels/`uname -r`-`uname -p`
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
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:
Installation is now complete.
This article was first published on http://www.dba-resources.com.