Goofys is a high-performance, POSIX-ish S3 file system written in Go. It allows you to mount an S3 bucket as a POSIX file system.

The obvious requirement for this client to work is to install golang and add Go binaries path to PATH environment variable.

Then create a directory ~/work and execute the following command:


export GOPATH=$HOME/work && go get github.com/kahing/goofys && go install github.com/kahing/goofys


This will install Goofys on your operating system.

At this point, you need to create a directory in order to locally mount your S3 bucket (e.g. mkdir pippo).

Besides, you have to create a file ~/.aws/credentials containing your S3 (Openstack EC2) credentials in the following way:


[s3]

aws_access_key_id=XXXX

aws_secret_access_key=XXXX


Finally, you can mount your S3 bucket on your local directory and manage your objects via POSIX:


fornari@pc-fornari:~/test_goofys$ cat goofys_mount.sh 

#!/bin/bash

$GOPATH/bin/goofys --region tier1 --profile s3 --endpoint https://tb-cloud-api-pub.cr.cnaf.infn.it:8080 pippo ./pippo

fornari@pc-fornari:~/test_goofys$ ./goofys_mount.sh 

fornari@pc-fornari:~/test_goofys$ ls pippo/

pippo.txt

fornari@pc-fornari:~/test_goofys$ cat pippo/pippo.txt 

pippo

fornari@pc-fornari:~/test_goofys$

  • No labels