$ HOME不是/ home / $ USER时如何使用Snap包?
尝试使用任何快照包,我遇到以下问题:
$ gimp cannot create user data directory: /local/home/user/snap/gimp/40: Read-only file system
(Gimp只是一个例子)。
我在/local/home/$USER/
我的$HOME
/local/home/$USER/
(我无法改变这个!)并发现人们在快照商店论坛上有同样的问题: https : //forum.snapcraft.io/t/how- can-i-use-snap-when-i-dont-use-home-user / 3352和https://bugs.launchpad.net/snapcraft/+bug/1620771
在这个post中,人们说/home
是快速编码的,他们建议使用bind-mount来解决这个问题。
我尝试了什么:
$ sudo mount --bind $HOME /home/$USER
我正确地列出了我的$HOME
的内容
$ ls /home/$USER
我还在/etc/apparmor.d/tunables/home.d/my-homes
添加了额外的主目录:
$ cat /etc/apparmor.d/tunables/home.d/my-homes @{HOMEDIRS}+=/local/home/
和/var/lib/snapd/apparmor/snap-confine/my-homes
:
$ cat /var/lib/snapd/apparmor/snap-confine/my-homes mount options=(rw rbind) @{HOMEDIRS}/ -> /tmp/snap.rootfs_*/home/,
使用bind-mount AND以及OR更改文件再次运行快照时,会发生与以前相同的错误。
我怎么解决这个问题?
$ snap list gimp Name Version Rev Tracking Developer Notes gimp 2.10.0 40 stable snapcrafters - $ snap --version snap 2.32.9 snapd 2.32.9 series 16 ubuntu 16.04 kernel 4.4.0-127-generic
snapd开发者在这里
对不起,这对你来说是一个问题,因为你没有提供你正在使用的snapd版本的详细信息(提示,运行snap version
并在此粘贴)或者你的真实主目录的详细安排(遗憾的是也很重要)。
我自己并没有亲自试过这个,但你应该用这样的绑定装置做得很好:
sudo mount --bind /some/random/place/home/zyga /home/zyga
如果将其添加到/etc/fstab
文件中,则可以使其永久化。 在此之后,您还必须将您的主目录更改为/home/zyga
而不是原始位置。
如果失败,请snap install hello-world
并添加以下命令的输出:
SNAP_CONFINE_DEBUG=yes hello-world dmesg | grep DENIED