goofys
Mount a bucket on Linux for fast reading and writing of whole files.
goofys mounts a Zata bucket as a folder on Linux. It is fast for reading and writing whole files, but it is not a full disk — see What goofys cannot do. Its last release is from 2020. The examples use Indore (https://idr01.zata.ai); for a bucket in Mumbai, use https://bom01.zata.ai.
Before you start
- A bucket — see Create a bucket.
- An access key from the same region as the bucket — see Access keys.
- A Linux machine (x86_64).
Connection settings
| Setting | Value |
|---|---|
Endpoint (--endpoint) | https://idr01.zata.ai for Indore, https://bom01.zata.ai for Mumbai |
| Keys | in ~/.aws/credentials — the key must be from the same region as the bucket |
| Path-style | used by default — no option needed |
Set up goofys
Download the ready-made program:
curl -sL -o goofys https://github.com/kahing/goofys/releases/download/v0.24.0/goofys
chmod +x goofys
sudo mv goofys /usr/local/bin/
goofys --version
Open the credentials file:
mkdir -p ~/.aws
nano ~/.aws/credentials
Add your keys:
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
Then make the file private:
chmod 600 ~/.aws/credentials
Replace my-bucket with your bucket name:
mkdir -p ~/zata
goofys --endpoint https://idr01.zata.ai my-bucket ~/zata
To mount only one folder of the bucket, add it after a colon:
goofys --endpoint https://idr01.zata.ai my-bucket:folder ~/zata
Test it
echo "Hello from goofys" > ~/zata/hello.txt
ls -l ~/zata
The file hello.txt also appears in your bucket in the Zata console under Buckets.
Unmount
fusermount -u ~/zata
What goofys cannot do
| Action | On goofys |
|---|---|
Add to the end of a file (>>, log files) | Not supported — a file must be written in one go. |
| Change part of an existing file (databases, editing in place) | Not supported. |
| Symlinks and hard links | Not supported. |
chmod / chown | Ignored. Set the owner and mode for the whole mount with --uid, --gid, --file-mode and --dir-mode. |
| Local cache | Only with the separate catfs tool (--cache). |
If you need these, use s3fs or rclone mount (see rclone on Linux). Both are slower but behave more like a normal disk.
Troubleshooting
| Problem | Fix |
|---|---|
Operation not supported when saving a file | The app adds to or edits the file in place. goofys cannot do that — see the table above. |
| Access denied, or the mount fails | Check ~/.aws/credentials and that the key can use this bucket. Run goofys in the foreground with -f --debug_s3 to see the error. |
| Bucket not found | Use the endpoint of the region the bucket is in (idr01 or bom01). |
| Other users cannot see the files | Add -o allow_other. As a normal user, this needs user_allow_other in /etc/fuse.conf. |
For other errors, see Access denied and Endpoint and region.