rargz
rargz is a fast parallel tar + zstd archiver. It walks a directory, emits a deterministic tar stream, and compresses chunks concurrently with independent zstd workers.
Features
- Parallel tar stream generation with independent zstd workers
- Optional progress indicator (auto-disables when stderr is not a TTY)
- Produces standard
.tar.zstby default (compatible withtar --zstdorzstd -d) - Optional
.rargzchunked format (designed for future parallel decompression) - Streaming extraction (
stdinto filesystem)
Installation
From source:
Archiving
Create a standard .tar.zst archive and write it to stdout:
Enable the chunked .rargz format:
Tune chunk size and thread count:
Extraction
Extraction reads from stdin and writes the output to the directory specified with -o/--output:
|
.tar.zst streams are decompressed sequentially for compatibility.
.rargz streams are chunked and designed for parallel decompression (WIP until format is finalized).
Format details
-
.tar.zstmode produces a pure tar stream compressed with zstd. Fully compatible with standard tools:tar --zstd -xf archive.tar.zstzstd -d archive.tar.zst | tar -xf -
-
.rargzmode adds a small header (RARGZ\0, version, chunk size) and length-prefixes each compressed chunk. This enables random access and parallel decompression.
Safety
- Parent directory components (
..) are removed from archive paths to prevent extraction from writing outside the target tree. - Any error in the pipeline cancels all worker threads immediately.
License
MIT. See LICENSE for details.