FUSE-based file system backed by Amazon S3
Go to file
ggtakec@gmail.com c3c6c0f572 Summary of Changes(1.72 -> 1.73)
==========================
List of Changes
==========================
1) Added ahbe_conf option - r465
  - Added ahbe_conf option means the configuration file path, and
    this file specifies additional HTTP header by file(object)
    extension.( Issue 292 )
  - Added sample configuration file in test directory for ahbe_conf
    option.

2) Changed mount point permission - r465
  - Not allow group/other permission for mount point when s3fs runs
    without allow_other.
  - Allow permission to all user for mount point when specified
    allow_other option.

3) Fixed bugs - r465, r466, r467, r468, r470, r471
  - Changed a code which s3fs returns error as soon as possible
    when user tries to change mount point.( Issue 229 )
  - Fixed mis-format for debugging print.
  - Changed request type to "virtual hosted-style" for checking
    bucket when s3fs is starting.( Issue 362 )
  - Fixed bug issue(bug), when s3fs retry a request at something
    error occurred, s3fs is wrong usage curl handle and fails
    retrying request.( Issue 343 )
  - Fixed mis-coding about fonction prototype.( Issue 360/Issue 361 )
  - Fixed a bug about umask.( Issue 321 )
  - Fixed a bug which s3fs exit though specified correct 
    $HOME/.passwd-s3fs.( Issue 365 )
  - Fixed a bug which deleting stat cache information is bad
    posission in s3fs_release function.( Issue 363 )

4) Added sample script - 472, r473
  - Added sample_delcache.sh in test directory for deleting
    cahce files.

5) Added debugging messages - r467, r474
  - Changed debugging level for prepare_url function.
  - Specified f2 option, s3s_getattr puts detail for file attar.
  - Added new option as curldbg for curl http(s) debugging.



git-svn-id: http://s3fs.googlecode.com/svn/trunk@475 df820570-a93a-0410-bd06-b72b767a4274
2013-08-23 17:24:47 +00:00
doc Fixed Issue 229 and Changes codes 2013-08-16 19:24:01 +00:00
src Added debugging message 2013-08-23 16:28:50 +00:00
test Changed test/Makefile.am 2013-08-23 15:26:48 +00:00
.gitignore .gitignore 2013-02-08 15:52:44 +00:00
AUTHORS Summary of Changes(1.72 -> 1.73) 2013-08-23 17:24:47 +00:00
COPYING In preparation to remove the unnecessary "s3fs" 2010-11-13 23:59:23 +00:00
ChangeLog In preparation to remove the unnecessary "s3fs" 2010-11-13 23:59:23 +00:00
INSTALL In preparation to remove the unnecessary "s3fs" 2010-11-13 23:59:23 +00:00
Makefile.am Fixed a bug(doc/Makefile in tarball) 2013-05-31 02:40:05 +00:00
NEWS In preparation to remove the unnecessary "s3fs" 2010-11-13 23:59:23 +00:00
README Support for mounting a remote directory (issue #7). 2011-06-26 00:37:52 +00:00
autogen.sh In preparation to remove the unnecessary "s3fs" 2010-11-13 23:59:23 +00:00
configure.ac Summary of Changes(1.72 -> 1.73) 2013-08-23 17:24:47 +00:00

README

THIS README CONTAINS OUTDATED INFORMATION - please refer to the wiki or --help

S3FS-Fuse

S3FS is FUSE (File System in User Space) based solution to mount/unmount an Amazon S3 storage buckets and use system commands with S3 just like it was another Hard Disk.

In order to compile s3fs, You'll need the following requirements:

* Kernel-devel packages (or kernel source) installed that is the SAME version of your running kernel
* LibXML2-devel packages
* CURL-devel packages (or compile curl from sources at: curl.haxx.se/ use 7.15.X)
* GCC, GCC-C++
* pkgconfig
* FUSE (>= 2.8.4)
* FUSE Kernel module installed and running (RHEL 4.x/CentOS 4.x users - read below)
* OpenSSL-devel (0.9.8)
* Subversion

If you're using YUM or APT to install those packages, then it might require additional packaging, allow it to be installed.

Downloading & Compiling:
------------------------
In order to download s3fs, user the following command:
svn checkout http://s3fs.googlecode.com/svn/trunk/ s3fs-read-only

Go inside the directory that has been created (s3fs-read-only/s3fs) and run: ./autogen.sh
This will generate a number of scripts in the project directory, including a configure script which you should run with: ./configure
If configure succeeded, you can now run: make. If it didn't, make sure you meet the dependencies above.
This should compile the code. If everything goes OK, you'll be greated with "ok!" at the end and you'll have a binary file called "s3fs"
in the src/ directory.

As root (you can use su, su -, sudo) do: "make install" -this will copy the "s3fs" binary to /usr/local/bin.

Congratulations. S3fs is now compiled and installed.

Usage:
------
In order to use s3fs, make sure you have the Access Key and the Secret Key handy. (refer to the wiki)
First, create a directory where to mount the S3 bucket you want to use.
Example (as root): mkdir -p /mnt/s3
Then run: s3fs mybucket[:path] /mnt/s3

This will mount your bucket to /mnt/s3. You can do a simple "ls -l /mnt/s3" to see the content of your bucket.

If you want to allow other people access the same bucket in the same machine, you can add "-o allow _other" to read/write/delete content of the bucket.

You can add a fixed mount point in /etc/fstab, here's an example:

s3fs#mybucket /mnt/s3 fuse allow_other 0 0

This will mount upon reboot (or by launching: mount -a) your bucket on your machine.

All other options can be read at: http://code.google.com/p/s3fs/wiki/FuseOverAmazon

Known Issues:
-------------
s3fs should be working fine with S3 storage. However, There are couple of limitations:

* There is no full UID/GID support yet, everything looks as "root" and if you allow others to access the bucket, others can erase files. There is, however, permissions support built in.
* Currently s3fs could hang the CPU if you have lots of time-outs. This is *NOT* a fault of s3fs but rather libcurl. This happends when you try to copy thousands of files in 1 session, it doesn't happend when you upload hundreds of files or less.
* CentOS 4.x/RHEL 4.x users - if you use the kernel that shipped with your distribution and didn't upgrade to the latest kernel RedHat/CentOS gives, you might have a problem loading the "fuse" kernel. Please upgrade to the latest kernel (2.6.16 or above) and make sure "fuse" kernel module is compiled and loadable since FUSE requires this kernel module and s3fs requires it as well.
* Moving/renaming/erasing files takes time since the whole file needs to be accessed first. A workaround could be to use s3fs's cache support with the use_cache option.