splitar

Crates.iosplitar
lib.rssplitar
version0.1.3
sourcesrc
created_at2022-02-26 10:25:51.867716
updated_at2023-03-05 16:44:35.927446
descriptionA tool for content-aware splitting of tar files
homepage
repositoryhttps://github.com/monoid/splitar/
max_upload_size
id539877
size62,073
Ivan Boldyrev (monoid)

documentation

README

Content-aware splitting of tar archives

splitar splits large tar archive, writing each volume as (almost) independent tar archive, never splitting it in the middle of a file.

splitar works in a streaming fashion, never loading into the memory more than necessary.

Features

  • Split tar files, generating valid tar files of limited data size.
  • Reading data from stdin if file is - (writing to stdout is not possible, obviously).
  • Compress filter (or any other kind) for the output.
  • Optionally recreate directory entries for each new volume.
  • Optionally fail when file too large is found.

Limitations

  • While chunks are limited by size, it is the size of contained data, not file output.
  • If the input archive contains file larger than chunk size limit, the output chunk will inevitably contains the entire file, as splitar never splits contained files. You may use option --fail-on-large-file if you want the util to fail on such a file.
  • If a volume contains a hardlink or symlink to file in some previous volume, tar will refuse creating this link if the target does not exists (e.g. it was not unpacked from one of previous volumes).

Installation

splitar is written in Rust, and having the cargo installed, you can install it with cargo install splitar command. No manual installation of any additional dependency is required.

WASM target

You can compile splitar for the wasm32-wasi target.

Links

Commit count: 53

cargo fmt