Changer le répertoire d'installation des snaps
C'est un problème commun que beaucoup demandent. Il semble que les développeurs d'instantanés n'aient pas l'intention de le résoudre bientôt, donc certaines solutions ont été suggérées.
La première solution qui a été fortement refusée par la communauté, mais je n'ai pas essayé, est d'utiliser des liens symboliques pour lier les répertoires qui mènent aux snaps. Cette méthode ne semble pas fonctionner car la communauté répond que l'apparmom ne fonctionne pas avec des liens symboliques.
La deuxième solution est mount --bind
le répertoire /val/lib/snapd/snaps
qui fonctionne bien pour moi avec les applications déjà installées mais n'a pas réussi à installer de nouvelles applications parce que je déplaçais le répertoire vers une autre partition. Cela m'a donné une erreur sur la liaison difficile de l'application snap avec le répertoire cache qui se trouve dans /var/lib/snapd/cache
. Je ne sais pas si cette solution peut fonctionner si l'emplacement est dans la même partition ou non; mais c'est la raison pour laquelle je déplace le répertoire snap pour libérer de l'espace de la partition vers une autre.
La troisième option qui fonctionne est de déplacer le /var/lib/snapd
répertoire dans son ensemble puis mount --bind
d'y accéder à partir d'un autre emplacement et cela a fonctionné pour moi et voici les étapes.
Juste une petite note, vous savez déjà, une fois la rsync effectuée dans les étapes ci-dessous, vous pouvez sauvegarder les données à l'intérieur /var/lib/snapd
vers un autre emplacement jusqu'à ce que le processus soit terminé avec succès, puis vous pouvez supprimer les données de sauvegarde si vous souhaitez libérer plus d'espace.
##############################################################################
# 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 !!!
##############################################################################
Références
- Emplacement du disque personnalisé pour certains problèmes de snapshots
- poser une question à ubuntu (Pas la meilleure solution) Lien
- Suggestion d'utiliser bind mount au lieu de liens symboliques dans le déplacement des répertoires d'accrochage Lien
- Différences entre le montage de liaison et les liens symboliques Lien
- Rendre le montage permanent permanent