#tar-archive #tar #archive #utils #data-file

app splitar

一个用于对 tar 文件进行内容感知拆分的工具

1 个不稳定版本

0.1.3 2023 年 3 月 5 日
0.1.2 2022 年 6 月 7 日
0.1.1 2022 年 5 月 7 日
0.1.0 2022 年 2 月 26 日

#tar-archive 中排名 37

MIT 许可证

24KB
467

内容感知拆分 tar 存档

splitar 拆分大型 tar 存档,将每个卷写入为(几乎)独立的 tar 存档,永远不会在文件中间拆分。

splitar 以流式处理方式工作,永远不会将超过必要的内存加载到内存中。

功能

  • 拆分 tar 文件,生成有限数据大小的有效 tar 文件。
  • 如果文件是 -(显然无法写入到 stdout),则从 stdin 读取数据。
  • 输出压缩过滤器(或其他类型)。
  • 可选地为每个新卷重新创建目录条目。
  • 可选地当发现文件过大时失败。

限制

  • 虽然块的大小有限,但这是由包含的数据大小决定的,而不是文件输出的大小。
  • 如果输入存档包含大于块大小限制的文件,输出块不可避免地会包含整个文件,因为 splitar 从不拆分包含的文件。如果您想使实用程序在此类文件上失败,请使用选项 --fail-on-large-file
  • 如果某个卷包含指向先前卷中文件的硬链接或符号链接,并且目标不存在(例如,它未从先前卷之一中解包),则 tar 将拒绝创建此链接。

安装

splitar 使用 Rust 编写,并安装了 cargo,可以使用 cargo install splitar 命令安装它。无需手动安装任何其他依赖项。

WASM 目标

您可以编译 splitarwasm32-wasi 目标。

链接

依赖项

~9–20MB
~277K SLoC