Mount Amazon S3 Buckets with s3fs

Dmitri Popov

Productivity Sauce

Dec 16, 2011 GMT
Dmitri Popov

There is no lack of third-party tools that allow you to access storage offered by the Amazon S3 service in one way or another. But in case you need to mount an Amazon S3 bucket as a local file system with read/write access, s3fs got you covered. Using this software, you can access an Amazon S3 bucket as if it were a regular directory on your local machine. To compile s3fs, you need to install a handful of dependencies first. On Debian and Ubuntu-based distros, this can be done by running the following command as root:

apt-get install build-essential libfuse-dev fuse-utils libcurl4-openssl-dev libxml2-dev mime-support

Grab then the latest release of s3fs from the project's website, unpack the downloaded archive, and switch to the resulting directory in the terminal. Run then the commands below to compile and install s3fs:

./configure --prefix=/usr
make
make install

The last command should be executed as root. Create a new file in a text editor, and enter your Amazon credentials as follows:

accessKeyId:secretAccessKey

Save the file as .passwd-s3fs in your home directory, and change the file's permissions:

chmod 600 ~/.passwd-s3fs

Finally, mount the desired bucket (replace bucket with the actual bucket name):

/usr/bin/s3fs bucket /mnt

Alternatively, you can enable caching to reduce the amount of downloaded data:

/usr/bin/s3fs bucket /mnt -ouse_cache=/tmp

That's all there is to it. You can now access the contents of the specified bucket in the mnt directory.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News