From ecfae897b9e8d63e99acdd2210abedd80c7e2826 Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet Date: Mon, 2 Feb 2015 05:06:55 -0800 Subject: [PATCH] docs/fuse: updating installation instructions --- docs/fuse.md | 54 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 13 deletions(-) diff --git a/docs/fuse.md b/docs/fuse.md index fdf505ea7..56ec138b1 100644 --- a/docs/fuse.md +++ b/docs/fuse.md @@ -1,26 +1,54 @@ +# FUSE + 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`. +As a precursor, you will have to create the `/ipfs` and `/ipns` directories explicitly. Note that modifying root requires sudo permissions. -MacOSX (Mountain Lion) ----------------------- +```sh +# make the directories +sudo mkdir /ipfs +sudo mkdir /ipns -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`. +# chown them so ipfs can use them without root permissions +sudo chown /ipfs +sudo chown /ipns +``` -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` +## Mac OSX -- OSXFUSE -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! +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.4`). The installer can be found at https://osxfuse.github.io/. There is also a homebrew formula (`brew install osxfuse`) but users report best results installing from the official OSXFUSE installer package. -Linux (Ubuntu 14.04) --------------------- +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`. Since checking the OSXFUSE version [is more complicated than it should be], running `ipfs mount` may require you to install another binary: + +```sh +go get github.com/jbenet/go-fuse-version/fuse-version +``` + +If you run into any problems installing FUSE or mounting IPFS, hop on IRC and speak with us, or if you figure something new out, please add to this document! + +## Linux + +Install `fuse` with your favorite package manager: + +``` +sudo apt-get install fuse +``` + +Then change permissions on the fuse config: + +```sh +sudo chown : /etc/fuse.conf +``` -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` +## Troubleshooting +If the mount command crashes and your mountpoint gets stuck: + +``` +sudo umount /ipfs +sudo umount /ipns +``` -Other ------ If you manage to mount on other systems (or followed an alternative path to one above), please contribute to these docs :D