据我所知,WinRAR压缩文件可能包含ECC(纠错码),所以如果压缩文件有轻微损坏,那么它可以自行修复。
例如,我可以先编码archives.tar
为archives.tar.ecc
,然后将其上传到我的服务器。如果客户端下载后文件有轻微损坏,则可以自动修复,无需再次解码下载文件archives.tar.ecc
。我认为如果网络连接不稳定,这将是一个好主意。
我想知道是否有任何在Linux上运行的(开源)软件可以满足我的需求。
有什么建议么?
答案1
我遇到了同样的问题,发现其他答案中提供的解决方案是不可接受的,因为 par2 程序/标准涉及创建单独的文件来进行恢复和验证。我和最初的提问者一样,想要一个带有纠错代码的单个文件。
我在包管理器中找到了程序 rsbep,然后在这里找到了必要的代码: https://www.thanassis.space/rsbep.html
这允许人们创建一个带有 Reed-Solomon 纠错码的文件,然后从可能已损坏的 ECC 版本中检索原始文件。
答案2
答案3
如果您想让 ecc 文件与存档分开,您可以使用pyFileFixity,一个开源 Python 项目旨在提供类似下一代 PAR 的保护系统,防止位损坏。
如果您希望 ecc 保护直接包含在存档中,您可以使用开源雷达,一种下一代 TAR,它允许生成非固定(即允许部分提取损坏的存档)和 ecc(使用 PAR2)和目录隔离(即保存目录树和文件系统元数据的备份) )直接在 .dar 档案中。
答案4
您可以使用DVD灾难它也适用于图像以外的其他文件类型。它能够为输入文件创建 ECC 文件或使用它来修复文件。