¿Cómo eliminar una instantánea btrfs?

8

Soy nuevo en btrfs y estoy tratando de eliminar algunas instantáneas que hice hace unos meses. Ocupan unos 20 GB de espacio, y necesito recuperar ese espacio.

Esto parece enumerar las instantáneas:

↪ sudo btrfs subvolume list /
ID 257 gen 82021 top level 5 path @
ID 258 gen 82021 top level 5 path @home
ID 263 gen 81983 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-04-29
ID 364 gen 81986 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-05-04
ID 376 gen 81996 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-05-14

¿Cómo los elimino? Cuando intento lo obvio, aparece un error:

↪ sudo btrfs subvolume delete root_post_install_2014-04-29
Delete subvolume '/home/mlissner/.btrfs/snapshots/root_post_install_2014-04-29'
ERROR: cannot delete '/home/mlissner/.btrfs/snapshots/root_post_install_2014-04-29' - Device or resource busy

Me siento un poco perdido y Google no revela ninguna ayuda real. Estoy feliz de publicar más información si eso ayudará, pero por ahora, estoy desconcertado sobre cómo proceder.

mlissner
fuente

Respuestas:

9

De la salida, supongo que el subvolumen del cual tiene instantáneas es en realidad un directorio privado ecryptfs. Si eso es correcto, ¿puede intentar desmontar el directorio privado y luego tratar de eliminar las instantáneas?

El mensaje de error indica que el dispositivo está en uso. Asumiendo que no está usando ese directorio como un directorio de trabajo actual, y ningún otro proceso está usando activamente los datos en la instantánea, eso deja a la capa de cifrado de la que preocuparse.

EDITAR: mi suposición original era que solo tenía una carpeta privada encriptada. De sus comentarios, supongo que toda su casa está encriptada. Entonces, si queremos manipular eso, necesitamos que su hogar esté inactivo. Para una forma conveniente de lidiar con esto, puede intentar lo siguiente:

A. Agregue otro usuario al sistema otorgándole a ese otro usuario derechos administrativos (es decir, el derecho a usar sudo). Instrucciones sobre cómo hacer esto en Ubuntu: agregue un usuario y luego otorgue derechos administrativos al usuario

B. Inicie sesión con el usuario recién creado. Ahora intenta enumerar y destruir las instantáneas. Asegúrese de que el usuario original no haya iniciado sesión, ya que eso desencadenará el descifrado (y, por lo tanto, el uso) de su directorio de inicio.

C. Elimine el usuario creado en el primer paso, a menos que vea la necesidad de mantenerlo disponible.

Ah, y, por favor asegúrese de que tiene una copia de seguridad de los sistemas de archivos que manipula. Se comete un error rápidamente.

Vincent De Baere
fuente
Eso tiene sentido. Sin embargo, no hice nada explícito para montar el directorio cifrado. ¿Sabes cómo desmontarlo?
mlissner
Intenta usarlo ecryptfs-umount-private.
Vincent De Baere
Bien, intenté hacerlo ecryptfs-umount-private --help, y en lugar de darme documentos de ayuda, rápidamente desmontó mi directorio de inicio, algo aterrador que rápidamente estaba bloqueando todo. Logré volver a montarlo, pero esto se siente muy mal, ya que no tuve que hacer nada como esto para hacer las instantáneas. Me encantaría una explicación de por qué esto es necesario ahora, ya que no era así, así como cómo hacerlo sin que todo mi sistema comience a desmoronarse.
mlissner
La salida de la lista de subvolúmenes btrfs muestra una ruta que incluye un directorio oculto (.ecryptfs). Ese directorio contiene datos que están encriptados. Supongo que de alguna manera eliges cifrar tu directorio de inicio durante la instalación del sistema operativo. Estoy editando mi respuesta con una posible forma de evitar esto.
Vincent De Baere
Desafortunadamente, el proceso anterior no funciona. Cuando el usuario no está conectado, la ruta al directorio no parece existir. Parece que el cifrado + btrfs es muy difícil de usar.
mlissner