I learned that the in-kernel FAT implementation in Linux supports two ioctls, FAT_IOCTL_GET_ATTRIBUTES and FAT_IOCTL_SET_ATTRIBUTES, to get and set file attributes on a mounted file system. If this FUSE exFAT implementation (and/or the new in-kernel implementation on Linux) were to implement such an ioctl in future, it would be nice to be able to adjust this tool to support that usage without breaking its command-line arguments in a backwards-incompatible way. To future-proof against that, require a '-d' option to specify the target device. This would also allow the command to accept more that one path, like chmod.
About
This project aims to provide a full-featured exFAT file system implementation for Unix-like systems. It consists of a FUSE module (fuse-exfat) and a set of utilities (exfat-utils).
Supported operating systems:
- GNU/Linux
- Mac OS X 10.5 or later
- FreeBSD
Most GNU/Linux distributions already have fuse-exfat and exfat-utils in their repositories, so you can just install and use them. The next chapter describes how to compile them from source.
Compiling
To build this project on GNU/Linux you need to install the following packages:
On Mac OS X:
- autoconf
- automake
- pkg-config
- OSXFUSE
- Xcode (legacy versions include autotools but their versions are too old)
On OpenBSD:
- git
- autoconf (set AUTOCONF_VERSION environment variable)
- automake (set AUTOMAKE_VERSION environment variable)
Get the source code, change directory and compile:
git clone https://github.com/relan/exfat.git
cd exfat
autoreconf --install
./configure
make
Then install driver and utilities (from root):
make install
You can remove them using this command (from root):
make uninstall
Mounting
Modern GNU/Linux distributions (with util-linux 2.18 or later) will mount exFAT volumes automatically. Anyway, you can mount manually (from root):
mount.exfat-fuse /dev/spec /mnt/exfat
where /dev/spec is the device file, /mnt/exfat is a mountpoint.
Feedback
If you have any questions, issues, suggestions, bug reports, etc. please create an issue. Pull requests are also welcome!