我一直将 Time Machine 备份存储在外部驱动器上。注意到空间越来越少,我在 Finder 中查看了该外部驱动器,选择了一些文件夹并将它们移至废纸篓。
我现在意识到我这样做很愚蠢,原因如下:
- 当空间不足时,Time Machine 将正确删除旧备份。
- 据我所知,首次备份之后的所有 Time Machine 备份都是上一次备份的差异,而不是磁盘映像。因此删除这些文件夹将使后续备份变得毫无用处(我认为)。
- “准备清空垃圾箱...要删除的项目:[数量]”对话框已升至 1.5百万在我停止它之前,我删除了 10 ...
- 即使是 root 用户,我也没有权限将文件从 /Volumes/Time\ Machine\ Backups/.Trashes/ 移回其原始位置。我阅读了一些有关访问控制列表的资料,担心自己会因为乱用它们而犯下更多错误。
那么,有人对如何最好地解决这个问题有什么见解或建议吗?
具体来说,我想知道:
- 删除垃圾箱中的内容会导致我现有的 Time Machine 备份变得无用吗?
- 如果可以删除当前位于垃圾箱中的那些文件夹,我该如何有效地删除它们?
- 如果删除这些文件夹会产生问题,我该如何将它们移回原来的位置?
提前感谢你们提供的任何帮助。
答案1
据我所知,首次备份之后的所有 Time Machine 备份都是上一次备份的差异,而不是磁盘映像。因此删除这些文件夹将使后续备份变得毫无用处(我认为)。
幸运的是,情况并非如此。Time Machine 备份是完整备份,但它们与以前的备份共享未更改文件的磁盘空间(使用硬链接)。只要任何硬链接可用,您就可以访问该文件。
因此,如果您在周一的备份中有一个大文件,并且该文件在周二没有更改,则相同的文件也会存在于周二的备份中,但它不会占用任何额外的磁盘空间。您可以安全地删除周一的备份,而周二的“副本”将继续起作用。
在我停止之前,“正在准备清空垃圾箱...要删除的项目:[数量]”对话框已包含多达 150 万个文件(!)。而且,即使作为 root 用户,我也没有权限 rm -rf 它们。
是的,由于这些硬链接的存在,Time Machine 备份中的文件数量非常多(它们都被计算了很多次)。您无法在 Time Machine 备份上使用简单的基于文件的工具,您需要能够理解(并保留)硬链接的工具。例如,如果您尝试复制 Time Machine 磁盘上的所有文件,最终会得到大量重复文件。复制/备份 Time Machine 的唯一方法是克隆磁盘结构(使用类似磁盘实用程序的工具)。
答案2
我很幸运地通过以 root 身份登录解决了这个问题:
su
然后在终端中输入:
cd /Volumes/<name of your drive>/.Trashes
然后你可以做一个
ls -la
这将显示垃圾目录的名称(在我的情况下是 501),然后我使用此命令将其删除
rm -rf 501
它与 Finder 的“清空垃圾”命令一样,需要一段时间,但至少它不会出错并永远挂起。此外,它还有一个额外的好处,就是不必重新格式化您的驱动器。
最初发布来自 auralox
答案3
好吧,首先,为了将来参考有关清理 Time Machine 备份上的文件的更好方法,请参阅此线程:我如何修剪我的 Time Machine 备份并查找和排除频繁更新的大文件以免其膨胀?
现在,就您目前的情况而言,如果您尝试清空垃圾箱时已经删除了一些文件,则可能已经造成了损害。对于仍在垃圾箱中的任何文件,您可能能够将其恢复。如果您使用的是 Leopard,则需要手动执行此操作,但如果您使用的是 Snow Leopard,则可以进入垃圾箱,选择所有文件,按住 Control 键单击它们并选择“放回”。
一旦你尽可能地恢复了损坏,我会点击菜单栏中的“Time Machine”,然后尝试选择“进入时间机器”。看看它显示了什么。四处看看你的旧东西是否还在那里。
我真的不知道有什么好办法可以恢复已删除的内容,但其他用户可能知道。最终的结果可能是,你造成的损害似乎不是什么大问题,而且通过运行后续备份,你很可能就不会有问题了。我想这值得一试。
就我个人而言,如果是我,而且备份中没有什么太紧急的事情,我可能会买一个新磁盘,用它备份,直到我有 x 段时间没有访问过当前磁盘,然后擦除并使用旧磁盘。不过你可能不想这么做。
答案4
哇……我一时兴起,尝试将文件夹移回其原始位置(使用查找器),成功了。我不知道与之前的尝试有什么不同。无论如何,感谢您的帮助@segfault。我相信我可以开始了——Time Machine 让我浏览旧备份——而且我不再有大到无法清空的垃圾箱。