Leopard Amazon S3 network storage
- create an amazon web services account
- sign up for amazon S3
- download MacOS X S3 Browser
- install MacFUSE Core for OSX 10.5
- get your Amazon S3 key ID & secret (you'll get an email from Amazon with an url about that after signing up)
- login and create an Amazon S3 bucket using the S3 Browser you downloaded (I called my bucket "12inch-timemachine" for backing up my 12" Powerbook)
- download s3fs.cpp from the s3fs project
- you'll need to add the following line to the top of the file somewhere:
#define __off_t off_t(props to Roberto Saccon for figuring this out)
- compile s3fs.cpp with the following incantation:g++ -Wall -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64 -I/usr/local/include/fuse -L/usr/local/lib -lfuse -pthread -lcurl -lcrypto `xml2-config --cflags --libs` -ggdb s3fs.cpp -o s3fs
- create the file /etc/passwd-s3fs with your amazon s3 key id and secret separated by a colon ie:
example-id:example-secret-key (note that you'll want to be careful about the permissions on this file)
- mount the S3 bucket as an OSX directory like so eg:
mkdir ~/s3where Flubber can be whatever you want the mounted volume to appear named as
./s3fs your-bucket-name ~/s3 -ovolname=Flubber
- you can now access the mounted volume at your mount point (in the above example ~/s3) or as a Finder Volume which you can see by going to "Computer" in the Finder's "Go" menu. Not sure why it doesn't show up in the Sidebar)
Update: It seems Leopard, by default, doesn't show network volumes on the desktop by default. You can turn that on in finder preferences, but your volume still won't show up in the sidebar (under either Devices or Shared). A simple solution is to us the local option like so:
./s3fs your-bucket-name ~/s3 -olocal,volname=FlubberUnfortunately that still doesn't allow it to work with time machine. You also get a folder icon on the desktop instead of a disk icon, but it's in the sidebar under Devices now. The icon even has a working eject icon which is handy, but it leaves an annoying folder icon in the sidebar.
Update 2: the ping_diskarb option seems to help keeping the Devices icon current:
./s3fs your-bucket-name ~/s3 -olocal,ping_diskarb,volname=Flubber
Update 3: The previous must be in my imagination:
On Mac OS X 10.5.x, both these options [ping_diskarb, noping_diskarb] are no-ops
05:18 AM, 28 Oct 2007 by Mark Aufflick Permalink
Installing with Mac Ports
Howdy Mark! I also found that s3fs builds very well if you have MacPorts installed. This is what I did: $ sudo port install macfuse $ mkdir -p ~/Projects $ cd !$ $ svn checkout http://s3fs.googlecode.com/svn/trunk/s3fs s3fs $ cd !$ $ make $ sudo cp s3fs /opt/local/bin/. Then I edited the /etc/passwd-s3fs file and entered my credentials. --gordon
by Unregistered Visitor on 09/25/08
Is that message during compilation normal: s3fs.cpp:443: warning: ‘size_t readCallback(void*, size_t, size_t, void*)’ defined but not used ?
by Unregistered Visitor on 03/05/09
I'm having issues as well
normal: s3fs.cpp:443: warning: ‘size_t readCallback(void*, size_t, size_t, void*)’ defined but not used is easily fixed by commenting out around 443.
However, I'm also getting:
/usr/local/include/fuse/fuse_common.h:30:2: error: #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
So I added it:
g++ -ggdb -Wall -D_FILE_OFFSET_BITS=64 $(shell pkg-config fuse --cflags --libs) $(shell pkg-config libcurl --cflags --libs) $(shell xml2-config --cflags --libs) -lcrypto s3fs.cpp -o s3fsBut it still doesn't compile:
make: pkg-config: Command not found make: pkg-config: Command not found g++ -ggdb -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2 -L/usr/lib -lxml2 -lz -lpthread -licucore -lm -lcrypto s3fs.cpp -o s3fs Undefined symbols: "_curl_multi_perform", referenced from: ...I'm not sure where to go from here, but I'll be playing with it for a while.
by Tim Barsness on 10/02/09
Seem to have fixed the issue
I figured the issue was dependencies and seem to have fixed it:
sudo port install curl
by Tim Barsness on 10/02/09
i have this working on a couple of leopards, but snow leopard is broken, receiving input/output error when trying to access the drive. seems like the mount is invalid.
by Unregistered Visitor on 10/10/09
Diito... Snow Leopard no worky
s3fs appears to compile ok... df -h show's something has mounted... but ls ~/ssh returns "Input / Output Error" as described above :-(
by Unregistered Visitor on 04/07/10
using Amazon S3
Amazon S3 is wonderful and scalable service provider. You can use my own very tools Bucket Explorer.. Its an easy GUI interface and flexible as well to work with it.
by Unregistered Visitor on 11/24/11