From edba015e9ed1c5eb78f96b6974e856f11e3f5094 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Fri, 28 Nov 2014 01:54:52 -0500 Subject: [PATCH] docs folder and some fuse docs. closes #259 --- README.md | 1 + docs/fuse.md | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 docs/fuse.md diff --git a/README.md b/README.md index bd796793c..b1dd42417 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ dependencies as well. * *WARNING: older versions of OSX FUSE (for Mac OS X) can cause kernel panics when mounting!* We strongly recommend you use the [latest version of OSX FUSE](http://osxfuse.github.io/). (See https://github.com/jbenet/go-ipfs/issues/177) +* For more details on setting up FUSE (so that you can mount the filesystem), see the docs folder ## Usage diff --git a/docs/fuse.md b/docs/fuse.md new file mode 100644 index 000000000..fdf505ea7 --- /dev/null +++ b/docs/fuse.md @@ -0,0 +1,26 @@ +As a golang project, `go-ipfs` is easily downloaded and installed with `go get github.com/jbenet/go-ipfs`. All data is stored in a leveldb data store in `~/.go-ipfs/datastore`. If, however, you would like to mount the datastore (`ipfs mount /ipfs`) and use it as you would a normal filesystem, you will need to install fuse. + +As a precursor, you will have to create the `/ipfs` and `/ipns` directories explicitly, as they require sudo permissions to create (`sudo mkdir /ipfs; sudo mkdir /ipns`). Then `chown` them so `ipfs` can access them without root permission, eg `sudo chown : /ipfs` and same for `/ipns`. + +MacOSX (Mountain Lion) +---------------------- + +It has been discovered that versions of `osxfuse` prior to `2.7.0` will cause a kernel panic. For everyone's sake, please upgrade (latest at time of writing is `2.7.2`). The disk image can be found at https://osxfuse.github.io/. There is also a homebrew formula, if you like, `brew install osxfuse`. + +Note that `ipfs` attempts an automatic version check on `osxfuse` to prevent you from shooting yourself in the foot if you have pre `2.7.0`. However, that version check has become unreliable, and may fail even if you are up-to-date. If you are sure about your `osxfuse` version and would like to mount, simply add `return nil` at the top of this function: https://github.com/jbenet/go-ipfs/blob/master/cmd/ipfs/mount_darwin.go#L15. Then reinstall by running `go install` in `$GOPATH/src/github.com/jbenet/go-ipfs/cmd/ipfs` + +You should be good to go! If you're not, hop on IRC and speak with us, or if you figure something out, add to this wiki! + +Linux (Ubuntu 14.04) +-------------------- + +Install Fuse with `sudo apt-get install fuse`. +Change permissions on the fuse config: `sudo chown : /etc/fuse.conf` +(note `` should probably be `fuse`) + +If the mount command crashes and your mountpoint gets stuck, `sudo umount /ipfs` + + +Other +----- +If you manage to mount on other systems (or followed an alternative path to one above), please contribute to these docs :D