components/pixz/files/pixz.1
author Drew Fisher <drew.fisher@oracle.com>
Fri, 13 Jun 2014 10:00:52 -0600
changeset 1947 b80524cd88bc
parent 1318 e26b2e3ea279
permissions -rw-r--r--
18977267 common/openstack.p5m should have additional dependencies
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1318
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     1
'\" te
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     2
.TH pixz 1
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     3
.SH NAME
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     4
pixz \- parallel, indexing version of XZ
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     5
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     6
.SH SYNOPSIS
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     7
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     8
.nf
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     9
\fB/usr/bin/pixz\fR input output.pxz
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    10
.fi
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    11
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    12
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    13
.nf
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    14
\fB/usr/bin/pixz\fR -d input.pxz output
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    15
.fi
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    16
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    17
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    18
.nf
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    19
\fB/usr/bin/pixz\fR -l input.tpxz
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    20
.fi
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    21
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    22
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    23
.nf
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    24
\fB/usr/bin/pixz\fR -x /path/to/file < input.tpxz
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    25
.fi
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    26
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    27
.SH DESCRIPTION
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    28
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    29
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    30
The existing XZ Utils ( http://tukaani.org/xz/ ) provide great compression
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    31
in the .xz file format, but they have two significant problems:
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    32
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    33
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    34
.RS +4
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    35
.TP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    36
.ie t \(bu
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    37
.el o
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    38
They are single-threaded, while most users nowadays have multi-core computers.
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    39
.RE
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    40
.RS +4
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    41
.TP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    42
.ie t \(bu
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    43
.el o
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    44
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.
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    45
.RE
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    46
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    47
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    48
With pixz, both these problems are solved.
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    49
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    50
.SH EXAMPLES
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    51
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    52
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    53
Specifying input and output:
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    54
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    55
.ne 2
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    56
.mk
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    57
.na
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    58
$ pixz < foo.tar > foo.tpxz
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    59
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    60
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    61
.sp .6
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    62
.RS 4n
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    63
Same as 'pixz foo.tar foo.tpxz'
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    64
.RE
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    65
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    66
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    67
.ne 2
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    68
.mk
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    69
.na
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    70
$ pixz -i foo.tar -o foo.tpxz
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    71
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    72
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    73
.sp .6
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    74
.RS 4n
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    75
Ditto. These both work for -x, -d and -l too, eg:
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    76
.RE
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    77
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    78
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    79
.ne 2
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    80
.mk
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    81
.na
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    82
$ pixz -x -i foo.tpxz -o foo.tar file1 file2 ...
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    83
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    84
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    85
.sp .6
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    86
.RS 4n
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    87
# Extract the files from foo.tpxz into foo.tar
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    88
.RE
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    89
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    90
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    91
.ne 2
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    92
.mk
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    93
.na
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    94
$ pixz foo.tar
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    95
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    96
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    97
.sp .6
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    98
.RS 4n
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    99
Compress it to foo.tpxz, removing the original
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   100
.RE
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   101
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   102
.sp
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   103
.ne 2
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   104
.mk
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   105
.na
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   106
$ pixz -d foo.tpxz
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   107
.LP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   108
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   109
.sp .6
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   110
.RS 4n
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   111
Extract it to foo.tar, removing the original
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   112
.RE
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   113
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   114
.SH OPTIONS
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   115
.TP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   116
.B -1
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   117
Faster, worse compression.
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   118
.TP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   119
.B -9
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   120
Better, slower compression.
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   121
.TP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   122
.B -p <number>
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   123
Cap the number of threads at <number>.
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   124
.TP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   125
.B -t
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   126
Compress but don't treat it as a tarball (don't index it).
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   127
.TP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   128
.B -d
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   129
Decompress, don't check that contents match index.
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   130
.TP
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   131
.B -l
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   132
List the xz blocks instead of files.
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   133
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   134
.SH WARNING
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   135
Running pixz without the -t flag will cause it to treat the input
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   136
as a tarball, as long as it looks vaguely tarball-like. This means if the
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   137
file starts with at least 1024 zero bytes, pixz will assume it's empty, and
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   138
truncate the output! If your input files aren't tarballs, run with -t or
e26b2e3ea279 PSARC 2012/358 pixz
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
   139
face possible data-loss.