如何在文件边界将 tar 文件拆分为更小的部分?

Gru*_*bel 8 tar

我有一个 tar 文件,我想将其拆分为多个较小的 tar 文件。这对 来说很容易split,但我希望split拆分的文件本身是完全可用的 tar 文件,这是不可能的,因为它会在任意点拆分,而不是在文件边界处拆分。

那么如何在文件边界处将 tar 文件拆分成更小的部分,以便没有文件最终一半在一个 tar 中,一半在另一个 tar 中?

不使用 tar 并通过其他方式完成任务的解决方案也将受到欢迎。

PS:是的,在某些情况下这是不可能的(tar 文件大于分割大小)。

小智 2

有一个工具tarsplitter可以安全地分割 tar 档案。您指定要将存档分割成的部分数量,它会找出文件边界在哪里。

https://github.com/AQUAOSOTech/tarsplitter

输出的较小档案的大小不会完全相同,但非常接近 - 假设原始档案中的文件没有太多变化。

示例 - 将存档“files.tar”拆分为 4 个较小的存档:

tarsplitter -p 4 -i files.tar -o /tmp/parts

创建:

/tmp/parts0.tar
/tmp/parts1.tar
/tmp/parts2.tar
/tmp/parts3.tar
Run Code Online (Sandbox Code Playgroud)