diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 110 |
1 files changed, 110 insertions, 0 deletions
@@ -0,0 +1,110 @@ +Description + +Lunzip is a decompressor for the lzip format written in C. Its small size +makes it well suited for embedded devices or software installers that need +to decompress files but don't need compression capabilities. Lunzip is +compatible with lzip 1.4 or newer. + +Lzip is a lossless data compressor with a user interface similar to the one +of gzip or bzip2. Lzip uses a simplified form of the 'Lempel-Ziv-Markov +chain-Algorithm' (LZMA) stream format to maximize interoperability. 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 can compress about as fast as gzip (lzip -0) or compress most +files more than bzip2 (lzip -9). Decompression speed is intermediate between +gzip and bzip2. Lzip is better than gzip and bzip2 from a data recovery +perspective. Lzip has been designed, written, and tested with great care to +replace gzip and bzip2 as the standard general-purpose compressed format for +Unix-like systems. + +The lzip file format is designed for data sharing and long-term archiving, +taking into account both data integrity and decoder availability: + + * The lzip format provides very safe integrity checking and some data + 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. + + * Additionally the lzip reference implementation is copylefted, which + guarantees that it will remain free forever. + +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. + +Lunzip uses the same well-defined exit status values used by bzip2, which +makes it safer than decompressors returning ambiguous warning values (like +gunzip) when it is used as a back end for other programs like tar or zutils. + +Lunzip provides a 'low memory' mode able to decompress any file using as +little memory as 50 kB, irrespective of the dictionary size used to +compress the file. To activate it, specify the size of the output buffer +with the option '--buffer-size' and lunzip will use the decompressed +file as dictionary for distances beyond the buffer size. Of course, the +larger the difference between the buffer size and the dictionary size, the +more accesses to disk are needed and the slower the decompression is. +This 'low memory' mode only works when decompressing to a regular file +and is intended for systems without enough memory (RAM + swap) to keep +the whole dictionary at once. It has been tested on a laptop with a 486 +processor and 4 MiB of RAM. + +The option '--buffer-size' may help to decompress a file erroneously created +with a dictionary size much larger than the uncompressed size. (Lzip adjusts +the dictionary size to the uncompressed size, but third-party tools may not). + +The amount of memory required by lunzip to decompress a file is about 46 kB +larger than the dictionary size used to compress that file, unless +'--buffer-size' is specified. + +Lunzip 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 + +Decompressing a file is much like copying or moving it. Therefore lunzip +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). + +Lunzip is able to read from some types of non-regular files if either the +option '-c' or the option '-o' is specified. + +If no file names are specified, lunzip decompresses from standard input to +standard output. In this case, lunzip refuses to read compressed input from +a terminal, as this might leave the terminal in an abnormal state. + +Lunzip correctly decompresses a file which is the concatenation of two or +more compressed files. The result is the concatenation of the corresponding +decompressed files. Integrity testing of concatenated compressed files is +also supported. + +The ideas embodied in lunzip are due to (at least) the following people: +Abraham Lempel and Jacob Ziv (for the LZ algorithm), Andrei Markov (for the +definition of Markov chains), G.N.N. Martin (for the definition of range +encoding), Igor Pavlov (for putting all the above together in LZMA), and +Julian Seward (for bzip2's CLI). + +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. + + +Copyright (C) 2010-2024 Antonio Diaz Diaz. + +This file is free documentation: you have unlimited permission to copy, +distribute, and modify it. + +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. |