Alterar diretório de instalação de snaps
Este é um problema comum que muitos pedem. Parece que os desenvolvedores rápidos não pretendem resolvê-lo em breve, então algumas soluções foram sugeridas.
A primeira solução que foi fortemente recusada pela comunidade, mas não tentei, é usar links simbólicos para vincular os diretórios que levam a snaps. Esse método parece não funcionar, pois a comunidade responde que o aparato não funciona com links simbólicos.
A segunda solução é mount --bind
o diretório /val/lib/snapd/snaps
que funciona bem para mim com os aplicativos já instalados, mas não conseguiu instalar novos aplicativos porque eu estava movendo o diretório para outra partição. Isso me deu um erro ao vincular fortemente o aplicativo snap ao diretório de cache localizado em /var/lib/snapd/cache
. Não sei se esta solução pode funcionar se o local estiver na mesma partição ou não; mas essa é a razão pela qual estou movendo o diretório snap para liberar espaço da partição para outra.
A terceira opção de trabalho é mover o /var/lib/snapd
diretório como um todo e depois mount --bind
para outro local, e isso funcionou para mim e aqui estão as etapas.
Apenas uma pequena nota, você já sabe, depois que o rsync é feito nas etapas abaixo, você pode fazer backup dos dados dentro /var/lib/snapd
para outro local até que todo o processo seja concluído com êxito e remover os dados de backup, se desejar liberar mais espaço.
##############################################################################
# Take Care this section may break the System !!!
##############################################################################
##Move snap folder to Home instead of root.
#Create the directory : you can change the location
mkdir /home/$USER/snap/snapd
#Copy the data
sudo rsync -avzP /var/lib/snapd/ /home/$USER/snap/snapd/
#Do backups
sudo mv /var/lib/snapd /var/lib/snapd.bak
sudo cp /etc/fstab /etc/fstab.bak
#Change fstab (Change $USER with your name or change the path totally)
echo "/home/$USER/snap/snapd /var/lib/snapd none bind 0 0" | sudo tee -a /etc/fstab
#remount fstab Or reboot.
sudo mkdir /var/lib/snapd
sudo mount -a
if ls /var/lib/snapd/ | grep snaps
then
echo "Re-mounting snapd folder is done successfully. !!!!"
sudo rm -rf /var/lib/snapd.bak
else
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
# Trying to revert automatically
sudo cp /etc/fstab.bak /etc/fstab
sudo mount -a
sudo umount /var/lib/snapd
sudo mv /var/lib/snapd.bak /var/lib/snapd
echo "Files located at ~/snap/snapd should be removed, but it keeped for
recovery until you ,manually, reboot the system and make sure the service
is running correctly then manually you can remove that folder ~/snap/snapd
!!!!!!!!!!!!!!, you should do that manually."
fi
##############################################################################
# Take Care the pervious section may break the System !!!
##############################################################################
Referências
- Local do disco personalizado para certos problemas de snaps
- ask ubuntu Pergunta (Não é a melhor solução) Link
- Sugestão de uso bind de montagem em vez de links simbólicos em mover diretórios de encaixe Ligação
- Diferenças entre o ligamento montagem e links simbólicos link
- Tornar a montagem de ligação permenante