2025-02-24 03:22:05 +01:00
|
|
|
Description
|
|
|
|
|
2025-02-24 04:19:45 +01:00
|
|
|
Plzip is a massively parallel (multi-threaded) implementation of lzip. Plzip
|
|
|
|
uses the compression library lzlib.
|
2025-02-24 04:17:36 +01:00
|
|
|
|
|
|
|
Lzip is a lossless data compressor with a user interface similar to the one
|
2025-02-24 04:19:45 +01:00
|
|
|
of gzip or bzip2. Lzip uses a simplified form of LZMA (Lempel-Ziv-Markov
|
|
|
|
chain-Algorithm) designed to achieve complete interoperability between
|
|
|
|
implementations. The maximum dictionary size is 512 MiB so that any lzip
|
|
|
|
file can be decompressed on 32-bit machines. Lzip provides accurate and
|
|
|
|
robust 3-factor integrity checking. 'lzip -0' compresses about as fast as
|
|
|
|
gzip, while 'lzip -9' compresses most files more than bzip2. Decompression
|
|
|
|
speed is intermediate between gzip and bzip2. Lzip provides better data
|
|
|
|
recovery capabilities than gzip and bzip2. Lzip has been designed, written,
|
|
|
|
and tested with great care to replace gzip and bzip2 as general-purpose
|
|
|
|
compressed format for Unix-like systems.
|
2025-02-24 04:17:36 +01:00
|
|
|
|
|
|
|
Plzip can compress/decompress large files on multiprocessor machines much
|
|
|
|
faster than lzip, at the cost of a slightly reduced compression ratio (0.4
|
|
|
|
to 2 percent larger compressed files). Note that the number of usable
|
|
|
|
threads is limited by file size; on files larger than a few GB plzip can use
|
2025-02-24 04:19:45 +01:00
|
|
|
hundreds of processors, but on files smaller than 1 MiB plzip is no faster
|
|
|
|
than lzip (even at compression level -0).
|
2025-02-24 04:17:36 +01:00
|
|
|
|
|
|
|
For creation and manipulation of compressed tar archives tarlz can be more
|
|
|
|
efficient than using tar and plzip because tarlz is able to keep the
|
|
|
|
alignment between tar members and lzip members.
|
|
|
|
|
|
|
|
When compressing, plzip divides the input file into chunks and compresses as
|
|
|
|
many chunks simultaneously as worker threads are chosen, creating a
|
2025-02-24 04:19:19 +01:00
|
|
|
multimember compressed file. Each chunk is compressed in-place (using the
|
|
|
|
same buffer for input and output), reducing the amount of RAM required.
|
2025-02-24 04:04:37 +01:00
|
|
|
|
|
|
|
When decompressing, plzip decompresses as many members simultaneously as
|
2025-02-24 04:19:19 +01:00
|
|
|
worker threads are chosen. Files that were compressed with lzip are not
|
|
|
|
decompressed faster than using lzip (unless the option '-b' was used)
|
2025-02-24 04:04:37 +01:00
|
|
|
because lzip usually produces single-member files, which can't be
|
|
|
|
decompressed in parallel.
|
2025-02-24 03:22:05 +01:00
|
|
|
|
2025-02-24 04:16:02 +01:00
|
|
|
The lzip file format is designed for data sharing and long-term archiving,
|
|
|
|
taking into account both data integrity and decoder availability:
|
2025-02-24 04:04:02 +01:00
|
|
|
|
|
|
|
* The lzip format provides very safe integrity checking and some data
|
2025-02-24 04:17:36 +01:00
|
|
|
recovery means. The program lziprecover can repair bit flip errors
|
|
|
|
(one of the most common forms of data corruption) in lzip files, and
|
|
|
|
provides data recovery capabilities, including error-checked merging
|
|
|
|
of damaged copies of a file.
|
|
|
|
|
|
|
|
* The lzip format is as simple as possible (but not simpler). The lzip
|
|
|
|
manual provides the source code of a simple decompressor along with a
|
|
|
|
detailed explanation of how it works, so that with the only help of the
|
|
|
|
lzip manual it would be possible for a digital archaeologist to extract
|
|
|
|
the data from a lzip file long after quantum computers eventually
|
|
|
|
render LZMA obsolete.
|
2025-02-24 04:04:02 +01:00
|
|
|
|
2025-02-24 04:07:51 +01:00
|
|
|
* Additionally the lzip reference implementation is copylefted, which
|
|
|
|
guarantees that it will remain free forever.
|
2025-02-24 04:01:20 +01:00
|
|
|
|
2025-02-24 04:17:36 +01:00
|
|
|
A nice feature of the lzip format is that a corrupt byte is easier to repair
|
|
|
|
the nearer it is from the beginning of the file. Therefore, with the help of
|
|
|
|
lziprecover, losing an entire archive just because of a corrupt byte near
|
|
|
|
the beginning is a thing of the past.
|
2025-02-24 04:04:37 +01:00
|
|
|
|
2025-02-24 04:16:02 +01:00
|
|
|
Plzip uses the same well-defined exit status values used by lzip, which
|
|
|
|
makes it safer than compressors returning ambiguous warning values (like
|
|
|
|
gzip) when it is used as a back end for other programs like tar or zutils.
|
2025-02-24 04:02:39 +01:00
|
|
|
|
2025-02-24 04:19:19 +01:00
|
|
|
Plzip automatically uses for each file the largest dictionary size that does
|
|
|
|
not exceed neither the file size nor the limit given. Keep in mind that the
|
|
|
|
decompression memory requirement is affected at compression time by the
|
2025-02-24 04:17:36 +01:00
|
|
|
choice of dictionary size limit.
|
2025-02-24 04:04:02 +01:00
|
|
|
|
2025-02-24 04:02:39 +01:00
|
|
|
When compressing, plzip replaces every file given in the command line
|
|
|
|
with a compressed version of itself, with the name "original_name.lz".
|
|
|
|
When decompressing, plzip attempts to guess the name for the decompressed
|
|
|
|
file from that of the compressed file as follows:
|
|
|
|
|
|
|
|
filename.lz becomes filename
|
|
|
|
filename.tlz becomes filename.tar
|
|
|
|
anyothername becomes anyothername.out
|
|
|
|
|
2025-02-24 04:18:11 +01:00
|
|
|
(De)compressing a file is much like copying or moving it. Therefore plzip
|
2025-02-24 04:19:19 +01:00
|
|
|
preserves the access and modification dates, permissions, and, if you have
|
|
|
|
appropriate privileges, ownership of the file just as 'cp -p' does. (If the
|
|
|
|
user ID or the group ID can't be duplicated, the file permission bits
|
|
|
|
S_ISUID and S_ISGID are cleared).
|
2025-02-24 04:02:39 +01:00
|
|
|
|
2025-02-24 04:17:36 +01:00
|
|
|
Plzip is able to read from some types of non-regular files if either the
|
|
|
|
option '-c' or the option '-o' is specified.
|
2025-02-24 03:22:05 +01:00
|
|
|
|
2025-02-24 03:54:35 +01:00
|
|
|
If no file names are specified, plzip compresses (or decompresses) from
|
2025-02-24 04:19:19 +01:00
|
|
|
standard input to standard output. Plzip refuses to read compressed data
|
2025-02-24 04:17:36 +01:00
|
|
|
from a terminal or write compressed data to a terminal, as this would be
|
|
|
|
entirely incomprehensible and might leave the terminal in an abnormal state.
|
2025-02-24 03:54:35 +01:00
|
|
|
|
2025-02-24 04:19:19 +01:00
|
|
|
Plzip correctly decompresses a file which is the concatenation of two or
|
2025-02-24 04:16:02 +01:00
|
|
|
more compressed files. The result is the concatenation of the corresponding
|
|
|
|
decompressed files. Integrity testing of concatenated compressed files is
|
|
|
|
also supported.
|
|
|
|
|
2025-02-24 04:17:36 +01:00
|
|
|
LANGUAGE NOTE: Uncompressed = not compressed = plain data; it may never have
|
|
|
|
been compressed. Decompressed is used to refer to data which have undergone
|
|
|
|
the process of decompression.
|
2025-02-24 03:54:35 +01:00
|
|
|
|
|
|
|
|
2025-02-24 04:19:19 +01:00
|
|
|
Copyright (C) 2009-2024 Antonio Diaz Diaz.
|
2025-02-24 03:22:05 +01:00
|
|
|
|
|
|
|
This file is free documentation: you have unlimited permission to copy,
|
2025-02-24 04:17:36 +01:00
|
|
|
distribute, and modify it.
|
2025-02-24 03:22:05 +01:00
|
|
|
|
2025-02-24 04:19:19 +01:00
|
|
|
The file Makefile.in is a data file used by configure to produce the Makefile.
|
|
|
|
It has the same copyright owner and permissions that configure itself.
|