Snaps and NFS /home

backlog
zyga

#22

Hi everybody,

I’ve got the same issue. My home dir isn’t mounted at /home, but on /Users, using NFS from AWS EFS.

dmesg output is:

audit: type=1400 audit(1532535640.798:165): apparmor=“DENIED” operation=“sendmsg” profile="/usr/lib/snapd/snap-confine" pid=5570 comm=“snap-confine” laddr=172.30.2.79 lport=53172 faddr=172.30.2.25 fport=2049 family=“inet” sock_type=“stream” protocol=6 requested_mask=“send” denied_mask=“send”

Like the others, I can only use docker as superuser… otherwise it throws this error:

cannot create user data directory: /Users/arkaitz/snap/docker/179: Read-only file system

Eclipse, which is not suitable for been executed like superuser, throws this error:

cannot create user data directory: /Users/arkaitz/snap/eclipse/29: Stale file handle

If I understood, the problem is going to be solved in a future release. Will it be available on Ubuntu 18.04’s repos?


#23

Hey there,

for me it’s the same. I’d prefer to keep my nfs mounted home but with that I can not use any snap.
In the case of vectr i.e.:

$vectr 
$2018/08/15 19:04:34.854496 system_key.go:127: cannot determine nfs usage in generateSystemKey: cannot parse /etc/fstab: open /etc/fstab: permission denied
$2018/08/15 19:04:34.858470 cmd_run.go:708: WARNING: cannot create user data directory: cannot update the 'current' symlink of "/gpfs01/berens/user/slaturnus/snap/vectr/current": symlink 2 /gpfs01/berens/user/slaturnus/snap/vectr/current: operation not supported
$cannot create user data directory: /gpfs01/berens/user/slaturnus/snap/vectr/2: Read-only file system

executing with sudo yields

snap run vectr
mkdir: cannot create directory '/run/user/0': Permission denied
No protocol specified

It’ll be great if someone could come back to it


#24

A followup on the current fix committed at https://github.com/snapcore/snapd/pull/3958

This only handles the case where NFS directories are mounted on boot (typically from /etc/fstab). This has always been strongly discouraged by Ubuntu/Debian because of the race conditions between networking and filesystem mounting.

For that reason, as well as performance and mounting-storms, most people use AutoFS /home/* directories which only mount on first access.

This fix doesn’t handle this use case because when snapd starts it detects no NFS mounted directories and doesn’t enable NFS support. If a user logs in and snapd is restart, NFS support is then enabled.