A FUSE-based file system that allows Linux, macOS, and FreeBSD to mount an S3 bucket as a local file system.
s3fs-fuse is a FUSE (Filesystem in Userspace) implementation that allows operating systems like Linux, macOS, and FreeBSD to mount an Amazon S3 bucket as a local file system. It preserves the native object format for files, enabling seamless interoperability with other tools like the AWS CLI, and makes cloud storage accessible through standard file operations. This bridges cloud object storage with traditional file system interfaces, addressing the need for familiar file management in S3 environments.
System administrators, DevOps engineers, and developers who need to interact with S3 or S3-compatible object storage as if it were a local file system, particularly for tasks like file backups, data migration, or integrating cloud storage into legacy applications. It is also suitable for users on non-AWS platforms who require compatibility with various S3-based object stores.
Developers choose s3fs-fuse for its POSIX compatibility, which supports a large subset of operations including reading/writing files, directories, and symlinks, making it feel like a native file system. Its unique selling point is the ability to mount S3 buckets directly, enabling use of standard file operations and tools without modifying applications, while offering features like multi-part uploads for large files, server-side encryption, and support for multiple authentication methods.
FUSE-based file system backed by Amazon S3
Supports a large subset of POSIX operations including reading/writing files, directories, symlinks, and extended attributes, making S3 buckets feel like native file systems without modifying applications.
Compatible not only with Amazon S3 but also with various S3-based object stores from other providers, as noted in the wiki, allowing seamless use with platforms like Backblaze B2 or Microsoft Azure.
Enables random writes, appends, and renames via server-side copy with multi-part upload for large files, leveraging S3's capabilities while maintaining file system semantics.
Includes in-memory metadata caching and local disk data caching, which help mitigate network latency and improve efficiency for repeated file accesses, as highlighted in the features.
Directory listings and other metadata operations have poor performance due to network latency, a limitation explicitly admitted in the README, making it sluggish for frequent file system scans.
No support for atomic renames or coordination between multiple clients mounting the same bucket, and non-AWS providers may have eventual consistency, leading to potential stale data reads.
Inotify only detects local modifications, not external changes by other clients or tools like AWS CLI, making it unsuitable for scenarios requiring immediate synchronization across systems.
MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.
"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files
:file_folder: File Management Platform / Universal Data Access Layer (without FUSE)
a high-performance, POSIX-ish Amazon S3 file system written in Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.