Como usar os Snap Packages quando $ HOME não é / home / $ USER?

1

Tentando usar qualquer pacote instantâneo, me deparo com o seguinte problema:

$ gimp
cannot create user data directory: /local/home/user/snap/gimp/40: Read-only file system

(o Gimp é apenas um exemplo).

Eu tenho meu $HOME em /local/home/$USER/ (não posso mudar isso!) e descobri que as pessoas têm o mesmo problema no fórum de armazenamento instantâneo: link e link

Neste tópico, as pessoas dizem que /home está codificado em snap e sugerem usar uma montagem de ligação para resolver isso.

O que eu tentei:

$ sudo mount --bind $HOME /home/$USER

ls lista corretamente o conteúdo do meu $HOME

$ ls /home/$USER

Também adicionei o diretório inicial adicional a /etc/apparmor.d/tunables/home.d/my-homes :

$ cat /etc/apparmor.d/tunables/home.d/my-homes
@{HOMEDIRS}+=/local/home/

e para /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/,

Executando o snap novamente com a montagem de ligação E, assim como OU alterando arquivos, ocorre o mesmo erro de antes.
Como posso resolver isso?

$ 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
    
por RoVo 25.05.2018 / 13:18

1 resposta

0

criador de snapd aqui

Sinto muito que isso seja um problema para você, porque você não deu detalhes sobre a versão do snapd que você está usando (sugira, execute snap version e cole isso aqui) ou o arranjo detalhado de sua real o diretório inicial está ligado (infelizmente também é importante).

Eu pessoalmente não tentei isso sozinho, mas você deve ser bom o suficiente com uma montagem de ligação como esta:

sudo mount --bind /some/random/place/home/zyga /home/zyga

Você pode torná-lo permanente se você adicioná-lo ao seu arquivo /etc/fstab . Depois disso, você deve também alterar seu diretório pessoal para estar em /home/zyga e não no local original.

Se isso falhar, por favor snap install hello-world e adicione a saída dos seguintes comandos:

SNAP_CONFINE_DEBUG=yes hello-world dmesg | grep DENIED

    
por Zygmunt Krynicki 25.05.2018 / 16:40