1 个不稳定版本
0.1.3 | 2023 年 3 月 5 日 |
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
在 #tar-archive 中排名 37
24KB
467 行
内容感知拆分 tar 存档
splitar
拆分大型 tar 存档,将每个卷写入为(几乎)独立的 tar 存档,永远不会在文件中间拆分。
splitar
以流式处理方式工作,永远不会将超过必要的内存加载到内存中。
功能
- 拆分 tar 文件,生成有限数据大小的有效 tar 文件。
- 如果文件是
-
(显然无法写入到 stdout),则从 stdin 读取数据。 - 输出压缩过滤器(或其他类型)。
- 可选地为每个新卷重新创建目录条目。
- 可选地当发现文件过大时失败。
限制
- 虽然块的大小有限,但这是由包含的数据大小决定的,而不是文件输出的大小。
- 如果输入存档包含大于块大小限制的文件,输出块不可避免地会包含整个文件,因为
splitar
从不拆分包含的文件。如果您想使实用程序在此类文件上失败,请使用选项--fail-on-large-file
。 - 如果某个卷包含指向先前卷中文件的硬链接或符号链接,并且目标不存在(例如,它未从先前卷之一中解包),则
tar
将拒绝创建此链接。
安装
splitar
使用 Rust 编写,并安装了 cargo
,可以使用 cargo install splitar
命令安装它。无需手动安装任何其他依赖项。
WASM 目标
您可以编译 splitar
以 wasm32-wasi
目标。
链接
- GitHub: https://github.com/monoid/splitar.
依赖项
~9–20MB
~277K SLoC