“安全清空废纸””是否可以安全删除OS X Lion中“废纸in”中文档的隐藏版本文件?


12

Lion中的新版本功能会创建隐藏文件,这些文件存储您正在处理的文档的旧版本,以防您想恢复到文档的某些旧版本。如果我将文档拖到垃圾箱,然后从“查找器”菜单中选择“安全清空垃圾箱”,隐藏版本文件是否随文档一起安全删除?


以及新的本地时间机器缓存中的副本如何?
Thilo

@thilo-根本不可能-为什么不问这个问题呢?
bmike

Answers:


7

我的猜测是否定的,但这不是一个明确的答案。

我首先创建了一个很大的(.160 MB).txt文件,并在TextEdit中对该文件进行了更改。如预期的那样,该文件及其版本显示在中/.DocumentRevisions-V100/PerUID。该文件似乎是〜160 MB到ls,但du -h据称它们在磁盘上使用了0B。每个文件的硬链接计数为1。下一个名为.cs(大块存储)的文件夹/.DocumentRevisions-V100增加了大约110 MB。

每次更改文件时,以下情况都会发生/.DocumentRevisions-V100

  1. 在中创建了一个约160 MB的文件/.DocumentRevisions-V100/staging/。该文件的硬链接数为1。
  2. 该文件似乎已移至/.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions。硬链接数保持为1。
  3. 约160 MB的文件变为0B,并且大小/.DocumentRevisions-V100/.cs增加了约2 MB。

驱动器(df)的可用空间与du告诉我的一致。可用空间将大大减少,然后恢复到几乎保存新版本之前的水平。

接下来,我尝试使用“安全清空垃圾箱”粉碎文件。OS X似乎使用了一个称为Locum安全删除文件的程序。附加fs_usage到会Locum显示对原始.txt文件的大量读写操作。在Locum执行此操作时,/.DocumentRevisions-V100/PerUID仍可以完整访问数据下的所有版本。之后Locum是写完过来的数据,它解除链接原来的txt文件,并在版本中/.DocumentRevisions-V100/PerUID突然消失。Locum然后移至垃圾箱中的其他任何位置,同时不要触碰/.DocumentRevisions-V100

里面的任何东西都/.DocumentRevisions-V100不会被安全擦除。

编辑:我要补充一点,无论/.DocumentRevisions-V100以某种方式混淆或压缩(该文件夹只是〜120 MB)。我尚未阅读Siracusa的评论的版本或文件系统部分……也许那里有线索。


7

我刚刚测试了一下,看来旧文件确实确实被删除了。我选择“安全清空垃圾箱”还是直接清空垃圾箱都没关系,它们也被删除了。

更多细节:

为了测试这一点,我启用了root用户,使我可以查看/.DocumentRevisions-V100其中的文件。该文件夹的确切结构及其内容在John Siracusa的《 Lion评论》(内部,文档修订版)中有更好的解释。

我创建了几个文件,然后进行了一些更改,保存了新版本。当我保存新版本时,包含修订的文件夹将填充新文件。在此顶级文件夹中,有一个名为的文件夹PerUID,其中包含每个用户帐户的子文件夹。每个用户帐户文件夹都包含一系列带编号的文件夹,每个文件的一个文件夹都保存了修订版本。因此,实际的修订版本以散列文件名的形式保存为该层次结构中几层以下的文件。清空垃圾桶(无论哪种方式)都将删除这些文件,但先前的文件夹结构将保留在原位。

删除之前: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions 此文件夹中仍包含以前的版本。

删除后: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions 该文件夹仍然存在,但是为空。

我没有检查其中的其他文件夹/.DocumentRevisions-V100/,因此没有检查其中的数据库。Siracusa进行了更详细的介绍,但它们似乎包含用于跟踪更改并将用户文件映射到系统保存的修订版的数据库。我相当确定没有文件内容保存在其中,尽管我不确定文件名以及文件名是否存在(是否存在哈希值)。


2
这是一个很好的进展,但是我认为这只能证明文件已删除,不一定安全删除。为了证明安全删除,我认为您可能需要参考Apple的Developer文档或运行文件恢复软件,然后才能看到可恢复的内容。
Phil M

啊,对不起,我误会了你。对于某人来说,这是一个相当简单的实验,可以针对它复制并运行恢复应用。我不在ADC上,所以在那里用处不大。
Gauzy 2011年

iostat和否则为“静止”的mac应该可以轻松查看写入带宽。
bmike
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.