te
pixz 1
NAME
pixz - parallel, indexing version of XZ
SYNOPSIS

/usr/bin/pixz input output.pxz

/usr/bin/pixz -d input.pxz output

/usr/bin/pixz -l input.tpxz

/usr/bin/pixz -x /path/to/file < input.tpxz
DESCRIPTION

The existing XZ Utils ( http://tukaani.org/xz/ ) provide great compression in the .xz file format, but they have two significant problems:

They are single-threaded, while most users nowadays have multi-core computers.

The .xz files they produce are just one big block of compressed data, rather than a collection of smaller blocks. This makes random access to the original data impossible.

With pixz, both these problems are solved.

EXAMPLES

Specifying input and output:

$ pixz < foo.tar > foo.tpxz

Same as 'pixz foo.tar foo.tpxz'

$ pixz -i foo.tar -o foo.tpxz

Ditto. These both work for -x, -d and -l too, eg:

$ pixz -x -i foo.tpxz -o foo.tar file1 file2 ...

# Extract the files from foo.tpxz into foo.tar

$ pixz foo.tar

Compress it to foo.tpxz, removing the original

$ pixz -d foo.tpxz

Extract it to foo.tar, removing the original

OPTIONS

-1 Faster, worse compression.

-9 Better, slower compression.

-p <number> Cap the number of threads at <number>.

-t Compress but don't treat it as a tarball (don't index it).

-d Decompress, don't check that contents match index.

-l List the xz blocks instead of files.

WARNING
Running pixz without the -t flag will cause it to treat the input as a tarball, as long as it looks vaguely tarball-like. This means if the file starts with at least 1024 zero bytes, pixz will assume it's empty, and truncate the output! If your input files aren't tarballs, run with -t or face possible data-loss.