LUNZIP(1)

NAME
lunzip - decompressor for the lzip format

SYNOPSIS
lunzip [options] [files]

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.

Lzip is a lossless data compressor with a user interface similar to the one 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.

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 disc 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.

OPTIONS

-h, --help
    display this help and exit

-V, --version
    output version information and exit

-a, --trailing-error
    exit with error status if trailing data

-c, --stdout
    write to standard output, keep input files

-d, --decompress
    decompress (this is the default)

-f, --force
    overwrite existing output files

-k, --keep
    keep (don't delete) input files

-l, --list
    print (un)compressed file sizes

-o, --output=<file>
    write to <file>, keep input files

-q, --quiet
    suppress all messages

-t, --test
    test compressed file integrity

-u, --buffer-size=<bytes>
    set output buffer size in bytes

-v, --verbose
    be verbose (a 2nd -v gives more)

--loose-trailing
    allow trailing data seeming corrupt header

If no file names are given, or if a file is '-', lunzip decompresses from standard input to standard output. Numbers may be followed by a multiplier: k = kB = 10^3 = 1000, Ki = KiB = 2^10 = 1024, M = 10^6, Mi = 2^20, G = 10^9, Gi = 2^30, etc... Buffer sizes 12 to 29 are interpreted as powers of two, meaning 2^12 to 2^29 bytes.

To extract all the files from archive 'foo.tar.lz', use the commands 'tar -xf foo.tar.lz' or 'lunzip -cd foo.tar.lz | tar -xf -'.

Exit status: 0 for a normal exit, 1 for environmental problems (file not found, invalid command-line options, I/O errors, etc), 2 to indicate a corrupt or invalid input file, 3 for an internal consistency error (e.g., bug) which caused lunzip to panic.

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).

REPORTING BUGS
Report bugs to lzip-bug@nongnu.org
Lunzip home page: http://www.nongnu.org/lzip/lunzip.html

COPYRIGHT
Copyright © 2025 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.