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:
1 | lsmod | grep fuse |
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):
1 | rpm -q kernel-devel |
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:
1 2 3 4 5 6 7 8 9 10 | 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 |
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:
1 | lsmod | grep fuse |
lsmod | grep fuse
5. Add a new library path
1 2 3 4 5 6 7 | # 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 |
# 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:
1 | ldconfig |
ldconfig
Installation is now complete.