我需要使用古特曼方法删除一些文件。使用删除文件
srm -rvz
花了我 16 个多小时,之后我取消了它。
之后我做了一个测试:我尝试使用 删除一个5GB的文件wipe
。 2 次通行证大约需要 8 小时,预计到达时间为 6 天。在 Windows 中,使用橡皮擦和 Gutmann 方法(与wipe
使用的方法相同),2GB 文件花费不到一小时。
为什么速度这么低?两种操作系统的写入/读取速度几乎相同。
答案1
古特曼方法于 1996 年发表。此后,彼得·古特曼本人曾说过:
https://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html#Epilogue
自本文发表以来,有些人将其中描述的 35 遍覆盖技术更多地视为一种驱邪的巫术咒语,而不是对驱动器编码技术进行技术分析的结果。因此,他们主张将巫术应用于 PRML 和 EPRML 驱动器,尽管它不会比使用随机数据进行简单的清理产生更多效果。
事实上,执行完整的 35 遍覆盖对于任何驱动器来说都是毫无意义的,因为它的目标是涉及所有类型(常用)编码技术的混合场景,其中涵盖了 30 多年历史的 MFM 方法的所有内容(如果您不这样做)不明白这个说法,请重新阅读论文)。如果您使用的驱动器采用编码技术 X,则只需执行特定于 X 的遍,而无需执行全部 35 遍。
对于任何现代 PRML/EPRML 驱动器,几次随机清理是您能做的最好的事情。正如该论文所说,“对随机数据进行良好的清理将达到预期的效果”。这在 1996 年是这样,现在仍然如此。
也许 Windows 橡皮擦会优化一些东西并忽略它认为不相关的通道?
而且,它看起来srm
是按照“出于谨慎,尽一切可能”的原则开发的。也许使用O_SYNC
模式、fsync()
调用和其他事情srm
来尝试确保刷新所有磁盘缓存会导致速度变慢。