如何将文件分片file
成米文件,因此可以使用任何恢复n他们当中?
看起来像纠删码,最好是“最佳擦除码”。 (另一个应用程序和建议的编程库的示例:“您需要擦除代码”https://stackoverflow.com/a/28932095)。就像是里德-所罗门纠错(比更灵活的东西RAID6)冗余的风格。
rsbep
早期发现:到目前为止我发现一些修改,但它们似乎是针对不同的用例而设计的。我还发现 reed-solomon 从 Linux 内核移植到用户空间这里,但这不是我所描述的目的的工具。
6 中 3 级冗余的示例:
split_with_redundancy -n 3 -m 6 input.dat
正在生成input.dat.0..5
,因此这些文件的任何树都足以进行恢复:
recover_using_redundancy intput.dat.{0,2,4}
我不关心给定文件中的错误,即我不需要前向纠错。我假设我可以依赖 m 中的 n 个冗余部分完全正确。
答案1
答案2
您可以使用 gfshare 来实现此目的:http://manpages.ubuntu.com/manpages/bionic/man7/gfshare.7.html
apt-get install libgfshare-bin
例如,7 中的 2。
gfsplit -n 2 -m 7 myfile.txt
只能使用两个共享来重建文件:
gfcombine myfile.txt.1 myfile.txt.7