La nueva función Versiones en Lion crea archivos ocultos que almacenan versiones antiguas del documento en el que está trabajando en caso de que desee volver a alguna versión anterior del documento. Si arrastro un documento a la Papelera, luego selecciono Secure Empty Trash en el menú Finder, ¿se borran de manera segura los archivos de la versión oculta junto con el documento?
12
Respuestas:
Mi suposición es no, pero esta no es una respuesta definitiva.
Primero creé un archivo .txt muy grande (~ 160 MB) e hice cambios en el archivo en TextEdit. Como se esperaba, ese archivo y sus versiones aparecieron en
/.DocumentRevisions-V100/PerUID
. Los archivos parecían ser de ~ 160 MBls
, pero segúndu -h
usaron 0B en el disco. El recuento de enlaces duros para cada archivo fue 1. Una carpeta llamada.cs
(almacenamiento de fragmentos) bajo/.DocumentRevisions-V100
había crecido en aproximadamente 110 MB.Cada vez que cambiaba el archivo, sucedía lo siguiente en
/.DocumentRevisions-V100
:/.DocumentRevisions-V100/staging/
. El recuento de enlaces duros para este archivo es 1./.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions
. El recuento de enlaces duros permaneció 1./.DocumentRevisions-V100/.cs
creció en aproximadamente 2 MB.El espacio libre de la unidad (
df
) fue consistente con lodu
que me dijo. El espacio libre se reduciría significativamente y luego volvería a casi lo que era antes de guardar una nueva versión.Luego, traté de destruir el archivo con Secure Empty Trash. OS X parece utilizar un programa llamado
Locum
para eliminar de forma segura el archivo. Adjuntarfs_usage
aLocum
muestra una gran cantidad de lecturas y escrituras en el archivo .txt original. MientrasLocum
hace lo suyo,/.DocumentRevisions-V100/PerUID
todavía se puede acceder a todas las versiones con datos intactos. Después deLocum
terminar de escribir sobre los datos, desvincula el archivo .txt original y las versiones/.DocumentRevisions-V100/PerUID
desaparecen repentinamente.Locum
luego pasa a cualquier otra cosa en la Papelera, sin tocar nunca/.DocumentRevisions-V100
.Lo que sea que esté adentro
/.DocumentRevisions-V100
no se borrará de manera segura.EDITAR: Debo agregar que lo que sea que esté adentro
/.DocumentRevisions-V100
está de alguna manera ofuscado o comprimido (la carpeta tenía solo ~ 120 MB). Todavía no he leído las versiones o las secciones del sistema de archivos de la revisión de Siracusa ... tal vez hay pistas allí.fuente
Acabo de probar esto, y parece que los archivos más antiguos sí se eliminan. No importaba si elegía Secure Empty Trash o simplemente vaciaba la basura normalmente, también se eliminaron.
Un poco más de detalle:
Para probar esto, habilité al usuario root para que me permitiera mirar
/.DocumentRevisions-V100
y los archivos dentro. La estructura exacta de esta carpeta y su contenido se explican mejor en la revisión Lion de John Siracusa (Internals, Document Revisions).Creé un par de archivos, luego hice algunos cambios, guardando nuevas versiones. La carpeta que contenía las revisiones se rellenó con nuevos archivos a medida que guardaba nuevas versiones. Dentro de esta carpeta de nivel superior, hay una carpeta llamada
PerUID
, que contiene subcarpetas para cada cuenta de usuario. Cada carpeta de cuenta de usuario contiene una serie de carpetas numeradas, una carpeta para cada archivo que tiene las revisiones guardadas. Por lo tanto, las revisiones reales se guardan como archivos unos niveles más abajo en esta jerarquía, con nombres de archivo hash. Vaciar la papelera (de cualquier manera) eliminaría estos archivos, pero la estructura de carpetas anterior permanecería en su lugar.Antes de eliminar:
/.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions
esta carpeta todavía tiene las versiones anteriores contenidas dentro.Después de eliminar:
/.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions
esta carpeta todavía existe, pero está vacía.No inspeccioné las otras carpetas dentro
/.DocumentRevisions-V100/
, por lo que no verifiqué las bases de datos que contienen. Siracusa entra en más detalles, pero parecen existir para contener bases de datos para rastrear cambios y asignar los archivos del usuario a las revisiones guardadas por el sistema. Estoy bastante seguro de que no se guardan contenidos del documento allí, aunque no estoy seguro acerca de los nombres de los archivos, y si los nombres de los archivos están presentes, si están en hash o no.fuente