我可以拆分大TAR.BZ2文件分成几个较小的文件,并在Ubuntu中单独提取那些小TAR.BZ2文件?
谢谢,
我可以拆分大TAR.BZ2文件分成几个较小的文件,并在Ubuntu中单独提取那些小TAR.BZ2文件?
谢谢,
我不认为它很容易成为可能。 一个.tar.bz2
是一个单一的数据流,它并没有像索引zip
,将允许跳过到存档中的特定文件的开始。 您可以使用分割文件split
工具,而且比cat
的部分,并提取它们(您可以通过标准输入这样做是为了避免重新创建磁盘上的粘贴文件)。 第一个片段将是可能的单独提取物(除了在它的最后一个文件,该文件可能会被损坏),但没有它们之前落入onces进一步碎片将无法使用。
你可以尝试--multi-volume
选项:
tar -cf archive.tar --multi-volume --tape-length 1024 folder
不幸的是,它不压缩的档案工作:
tar: Cannot use multi-volume compressed archives
你可以单独压缩卷,但卷的大小可能有很大的不同。
希望它解决了您的使用情况。
不知道是否仍需要利用这样的服务,但是我发现,将至少让你与焦油(BZ2)压缩一起使用split命令的方法。 至于单独提取每个文件,此选项看到文件作为一个整体的一部分(跨越多个卷时很像的Winzip不...如果其中一个卷丢失,档案作为一个整体已损坏)。 照这样说:
创建分割文件。 请注意,这将创建顺序用“AA,AB,AC”命名的文件:
焦油-cv(Z / J)F - (文件归档)| 分割-b(字节大小,如4000米) - (名称为输出归档文件)
提取分割文件:
猫(FILE *)| 命令:bzcat / gunzip解(-d)| 焦油(T / x)的V(J / Z)F -
(如果你使用了“J”的选项,命令:bzcat会去管内)或者(如果使用的是“Z”选项,gunzip解会去管内)。 您可能还需要使用“gunzip解-d”这两个管道内,如果你得到一个错误
将文件分割成多个文件。
它会自动创建一个大小为1.1GB的文件,如果你的焦油的规模比较大,你可以增加数,对于如10 {2..1000}或者您也可以增加输入到磁带长度参数。
tar --tape-length=1048576 -cMv --file=tar_archive.{tar,tar-{2..100}} backup.tar.lzma
但作为@michal说,这是不可能单独提取出来。
tar: backup.tar.lzma: Cannot extract -- file is continued from another volume
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now