I'm gathering together a few pieces of info on the FUSE interface here to hopefully save others the head-scratching it caused me. It can seem nonsensical or even broken at first glance, but it does actually work as intended once you know why certain things happen.
ipfs mount takes a really long time
The mount process tries to resolve /ipns/local on the filesystem to whatever you've put in ipfs name publish previously, which may end up timing out or incurring network delays for whatever reason.
One way to avoid that is re-running your last publish command, or putting the empty node there if you don't care (ipfs name publish QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn).
ls -l showing question marks for the mountpoints
FUSE on Linux is strict by default, and won't let users see each other's mountpoints at all. Even if you're root:
To override that you need to put user_allow_other in /etc/fuse.conf, and on the IPFS side do ipfs config --json Mounts.FuseAllowOther true. No need to restart the daemon, just umount them and then ipfs mount again.
ls -l showing weird permissions
Supposing you've just got past the previous point, now you'll see something like this:
d--x--x--x 1 root root 0 Oct 21 19:49 ipfs
d--x--x--x 1 root root 0 Oct 21 19:49 ipns
Read permission isn't set or needed here because that's for reading the directory, not accessing files within it. That's what the +x does. Reading a directory that can contain any valid ipfs hash would be impossible unless you were on a controlled, closed network.
The /ipns mountpoint
I'd recommend not using this — go umount ipns and use the ipfs name commands instead. But if you still want to…
/ipns/local is a symlink pointing to your node's local ID, so you can readlink it to get at that easily.
/ipns/${Your ID} is a visible directory you can write to. Or sometimes it's a file. It depends what you last published using the CLI. You can't switch between the two types from this interface.
Deleting files from the directory is possible but the deletions won't stick.
If it's a file, most operations will malfunction.
/ipns/${Someone Else's ID} will behave as a symlink, but doesn't currently resolve correctly.
The text was updated successfully, but these errors were encountered:
ghost commentedOct 22, 2016
I'm gathering together a few pieces of info on the FUSE interface here to hopefully save others the head-scratching it caused me. It can seem nonsensical or even broken at first glance, but it does actually work as intended once you know why certain things happen.
ipfs mounttakes a really long timeThe mount process tries to resolve
/ipns/localon the filesystem to whatever you've put inipfs name publishpreviously, which may end up timing out or incurring network delays for whatever reason.One way to avoid that is re-running your last publish command, or putting the empty node there if you don't care (
ipfs name publish QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn).ls -lshowing question marks for the mountpointsFUSE on Linux is strict by default, and won't let users see each other's mountpoints at all. Even if you're root:
To override that you need to put
user_allow_otherin/etc/fuse.conf, and on the IPFS side doipfs config --json Mounts.FuseAllowOther true. No need to restart the daemon, justumountthem and thenipfs mountagain.ls -lshowing weird permissionsSupposing you've just got past the previous point, now you'll see something like this:
Read permission isn't set or needed here because that's for reading the directory, not accessing files within it. That's what the +x does. Reading a directory that can contain any valid ipfs hash would be impossible unless you were on a controlled, closed network.
The
/ipnsmountpointI'd recommend not using this — go
umount ipnsand use theipfs namecommands instead. But if you still want to…/ipns/localis a symlink pointing to your node's local ID, so you canreadlinkit to get at that easily./ipns/${Your ID}is a visible directory you can write to. Or sometimes it's a file. It depends what you last published using the CLI. You can't switch between the two types from this interface./ipns/${Someone Else's ID}will behave as a symlink, but doesn't currently resolve correctly.The text was updated successfully, but these errors were encountered: