哪些存档文件格式提供恢复保护以防止文件损坏?

sev*_*kul 10 zip iso-image archiving file-corruption

我使用我的外部硬盘来备份我的文件,将它们放入大型存档文件中。

我有数千个小文件,在将它们发送到外部硬盘之前,将它们放入大小为 500MB 到 4.2GB 的档案中。但是,一次硬盘故障会破坏整个存档还是仅破坏存档中的一个文件?我担心一个翻转会使大部分存档变得无用。

像 CRC 检查这样的事情可以提醒您损坏的存在,但我对从损坏的存档中恢复未损坏文件的能力更感兴趣。通过存档结构的本机设计或补充恢复工具的存在,哪种存档文件格式将提供从此类故障中恢复的最佳能力?zip 和 iso 文件在此功能上有什么区别吗?

Ang*_*rom 8

鉴于对任何存档的目录部分的损坏可能会使整个存档变得无用,最好的办法是在备份过程中添加单独的步骤以生成所谓的奇偶校验文件。如果原始文件中的数据块损坏,可以通过将奇偶校验文件中的数据与原始文件中的有效块组合来重建。

变量是您希望能够修复多少损坏。如果您想防止单个位翻转,那么您的奇偶校验文件的大小将仅为 1 位。如果你想要一些磁盘扇区大小的东西,那么显然它显然会花费你更多。

这背后有一个很大的理论(参见前向纠错),它在实践中被广泛使用。例如,这就是 CD 可以承受一定程度的刮擦以及手机如何通过有损连接保持合理通话质量的方式。

长话短说,看看.par文件。

  • 一位纠错数据不足以*修复* n 位数据文件中的一位错误。您可以*检测*这样的错误,但要修复它,您至少需要记录 n 位。 (3认同)

Yuv*_*ger 5

Bup [1] 备份数据并自动添加奇偶校验冗余,从而极不可能发生位衰减。灾难性的磁盘故障仍然存在,因此我们可以将其与 git-annex 一起使用。

git-annex [2] 管理存储在许多存储库中的文件,其中一些可能存储在您的计算机、拇指驱动器、ssh 登录、某些云服务或 bup 备份存储库 [3] 上,让文件数据流动几乎透明通过请求或自动进入您设置的任何存储库。它也是一个众筹的免费开源软件项目,用 Haskell 编写,版本运行在许多平台上,包括 Linux、Mac、Windows 和 Android。

[1] https://github.com/bup/bup

[2] http://git-annex.branchable.com/

[3] http://git-annex.branchable.com/special_remotes/bup/