github.com/Schaudge/grailbase@v0.0.0-20240223061707-44c758a471c0/cmd/grail-fuse/README.md (about) 1 # Grail-fuse 2 3 Grail-fuse allows reading and writing S3 files as if they are on the local file 4 system. It supports Linux and OSX. No extra step is needed for Linux. For OSX, 5 install osxfuse from https://github.com/osxfuse/osxfuse/releases 6 7 ## Usage 8 9 grail-fuse [-remote-root-dir DIR] [-daemon] [-log-dir LOGDIR] MOUNTPOINT 10 11 Example: 12 13 grail-fuse -daemon $HOME/s3 14 15 Flag `-mount-root-dir` defaults to `s3://`. Thus, after mounting grail-fuse on 16 `~/s3`, Toplevel directories under `~/s3` will list S3 buckets owned by the 17 default AWS account. You can descend into buckets to read files underneath. 18 19 If `-daemon` is set, `grail-fuse` runs as a daemon. 20 21 ## Unmounting the file system 22 23 To unmount `grail-fuse`, run: 24 25 fusermount -u $HOME/s3 26 27 on Linux, or 28 29 umount $HOME/s3 30 31 on OSX. 32 33 ## Bugs and limitations 34 35 - `mkdir` is not supported. `rmdir` is supported, but is is just a noop. You can 36 just create a file under a nonexisting subdirectory without `mkdir`ing it first. 37 38 - grail-fuse caches file attributes in memory for up to 5 minutes. Thus, if the 39 remote file system is updated by another user, it will not be reflected for up 40 to five minutes. You can send a SIGHUP to `grail-fuse` to invalidate the 41 cache. 42 43 - File contents are not written back to the remote file system until `close`. 44 45 - In general, random seeks are supported during writes.