在Unix上创build多部分档案最简单的方法是什么?

tar|gzip是好的,除了文件可能变得太大,并且通过networking传输变得复杂。 DOS时代的归档器通常用于创build多部分档案,每个软盘一个,但gzip似乎没有这样的select(因为Unixstream媒体哲学)。

那么,在Linux下这样做最简单,最可靠的方法是什么(显然存档大小为2GB,而不是1.44MB)?

我不打扰使用gzip进行存档,只是为了解开还没有被转换的其他人的档案:-)

7zip有疯狂的压缩(虽然我没有把它在所有情况下头对头),它也支持创建卷,这是在回答你的具体问题。

您可以使用/usr/bin/split (使用“-b”选项)将其拆分成多个部分 – 读取“man split”

典型的Unix解决方案将是“分裂-b”,但是这个选项不是很强大。 如果任何文件被损坏或丢失,那么您将失去一切。

你可以使用split与bzip2结合,通常可以在一定程度上修复一个破损的档案。

更安全的方法是使用parchive(更具体地说是PAR2)。 它会创建额外的RAID风格的文件来恢复文件部分的任何损害。 欲了解更多信息,请查看quickpar,parchive.sf.net,Linux发行版的par2软件包…

您可以使用tar并生成一个多部分档案。 诀窍是,您必须指定与您期望生成的档案文件的名称一样多,每个档案文件都带有一个单独的-f标志。 幸运的是,有一个简单的方法来做到这一点。 假设您希望获得不超过10个档案文件。 那么你可以使用这个命令:

 tar -c -M -L 2G -farchive{1..10} <sourcefile> 

这将扩展到10 -f标志,每个标志都带有一个编号的归档文件名。 提取,使用

 tar -x -M -farchive{1..10} 

唯一的问题是你不能用tar压缩(-z)文件。