docs/fuse: updating installation instructions

This commit is contained in:
Juan Batiz-Benet 2015-02-02 05:06:55 -08:00
parent 22cf7d6a9f
commit ecfae897b9

View File

@ -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 <username>:<groupname> /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 <username> /ipfs
sudo chown <username> /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 <username>:<groupname> /etc/fuse.conf
```
Install Fuse with `sudo apt-get install fuse`.
Change permissions on the fuse config: `sudo chown <username>:<groupname> /etc/fuse.conf`
(note `<groupname>` 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