Cambiar el directorio de instalación de instantáneas
Este es un problema común que muchos piden. Parece que los desarrolladores rápidos no tienen la intención de resolverlo pronto, por lo que se sugirieron algunas soluciones.
La primera solución que fue fuertemente rechazada por la comunidad, pero no lo intenté, es usar enlaces simbólicos para vincular los directorios que conducen a las instantáneas. Este método parece no funcionar ya que las respuestas de la comunidad dicen que apparmom no funciona con enlaces simbólicos.
La segunda solución es mount --bind
el directorio /val/lib/snapd/snaps
que funciona bien para mí con las aplicaciones ya instaladas, pero no pude instalar nuevas aplicaciones porque estaba moviendo el directorio a otra partición. Eso me dio un error acerca de la vinculación de la aplicación instantánea con el directorio de caché que se encuentra en /var/lib/snapd/cache
. No sé si esta solución puede funcionar si la ubicación está en la misma partición o no; pero esta es la razón por la que estoy moviendo el directorio snap para liberar espacio de la partición a otra.
En tercer lugar, la opción de trabajo es mover el /var/lib/snapd
directorio como un todo mount --bind
desde otra ubicación y eso funcionó para mí y aquí están los pasos.
Solo una pequeña nota, ya lo sabe, después de que rsync se realiza en los pasos a continuación, puede hacer una copia de seguridad de los datos dentro /var/lib/snapd
de otra ubicación hasta que todo el proceso se complete con éxito, luego puede eliminar los datos de la copia de seguridad si desea liberar más espacio.
##############################################################################
# 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 !!!
##############################################################################
Referencias
- Ubicación de disco personalizada para cierto problema de instantáneas
- preguntar ubuntu Pregunta (No es la mejor solución) Enlace
- Sugerencia para usar el montaje de enlace en lugar de enlaces simbólicos en directorios de ajuste de movimiento Enlace
- Diferencias entre montaje de enlace y enlaces simbólicos Enlace
- Haga que el montaje de unión sea permanente