8 Accessing file systems with FUSE #
FUSE is the acronym for file system in user space.
This means you can configure and mount a file system as an unprivileged
user. Normally, you need to be
root
for this task. FUSE alone is
a kernel module. Combined with plug-ins, it allows you to extend FUSE to
access almost all file systems like remote SSH connections, ISO images, and
more.
8.1 Configuring FUSE #
Before you can use FUSE, you need to install the package
fuse
. Depending which file system
you want to use, you need additional plug-ins available as separate
packages. For an overview, see
Section 8.5, “Available FUSE plug-ins”.
Generally you do not need to configure FUSE. However, it is a good idea to
create a directory where all your mount points are combined. For example,
you can create a directory ~/mounts
and insert your
subdirectories for your different file systems there.
8.2 Mounting an NTFS partition #
NTFS, the New Technology File System, is the default file system of Windows. Since under normal circumstances the unprivileged user cannot mount NTFS block devices using the external FUSE library, the process of mounting a Windows partition described below requires root privileges.
Become
root
and install the packagentfs-3g
.Create a directory that is to be used as a mount point, for example
~/mounts/windows
.Find out which Windows partition you need. Use YaST and start the partitioner module to see which partition belongs to Windows, but do not modify anything. Alternatively, become
root
and execute/sbin/fdisk
-l
. Look for partitions with a partition type ofHPFS/NTFS
.Mount the partition in read-write mode. Replace the placeholder DEVICE with your respective Windows partition:
>
ntfs-3g /dev/DEVICE MOUNT POINTTo use your Windows partition in read-only mode, append
-o ro
:>
ntfs-3g /dev/DEVICE MOUNT POINT -o roThe command
ntfs-3g
uses the current user (UID) and group (GID) to mount the given device. If you want to set the write permissions to a different user, use the commandid
USER
to get the output of the UID and GID values. Set it with:#
id tux uid=1000(tux) gid=100(users) groups=100(users),16(dialout),33(video) ntfs-3g /dev/DEVICE MOUNT POINT -o uid=1000,gid=100Find additional options in the man page.
To unmount the resource, run fusermount -u
MOUNT POINT.
8.3 Mounting remote file system with SSHFS #
SSH, the secure shell network protocol, can be used to exchange data between two computers using a secure channel. To establish an SSH connection through FUSE, proceed as follows:
Install the package
sshfs
.Create a directory that is to be used as a mount point. A good idea is to use
~/mounts/HOST
. Replace HOST with the name of your remote computer.Mount the remote file system:
#
sshfs USER@HOST MOUNT POINTEnter your password for the remote computer.
To unmount the resource, run fusermount -u
MOUNT POINT.
8.4 Mounting an ISO file system #
To look into an ISO image, you can mount it with the
fuseiso
package:
Install the package
fuseiso
.Create a directory that is to be used as a mount point, for example
~/mounts/iso
.Mount the ISO image:
#
fuseiso ISO_IMAGE MOUNT POINT
You can only read content from the ISO image, but you can not write back. To
unmount the resource, use fusermount -u
MOUNT POINT.
8.5 Available FUSE plug-ins #
FUSE is dependent on plug-ins. The following table lists common plug-ins.
|
mount FTP servers |
|
mount encrypted file systems |
|
mounts CD-ROM images with ISO9660 file systems in them |
|
mount iPods |
|
mount browseable Samba clients or Windows shares |
|
mount supported digital cameras through gPhoto |
|
mount NTFS volumes (with read and write support) |
|
mount Bluetooth devices |
|
file system client based on SSH file transfer protocol |
|
mount WebDAV file systems |
8.6 More information #
For more information, see the home page of FUSE at https://github.com/libfuse/libfuse.