![是否可以将纠错码(BCH、RS 等)添加到单个文件中?](https://linux22.com/image/34587/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%B0%86%E7%BA%A0%E9%94%99%E7%A0%81%EF%BC%88BCH%E3%80%81RS%20%E7%AD%89%EF%BC%89%E6%B7%BB%E5%8A%A0%E5%88%B0%E5%8D%95%E4%B8%AA%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9F.png)
据我所知,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 文件或使用它来修复文件。