- linux manpages




xzdec, lzmadec − Small .xz and .lzma decompressors


[option]... [file]...


xzdec is a liblzma-based decompression-only tool for .xz (and only .xz) files. xzdec is intended to work as a drop-in replacement for xz(1) in the most common situations where a script has been written to use xz −−decompress −−stdout (and possibly a few other commonly used options) to decompress .xz files. lzmadec is identical to xzdec except that lzmadec supports .lzma files instead of .xz files.

To reduce the size of the executable, xzdec doesn’t support multithreading or localization, and doesn’t read options from XZ_OPT environment variable. xzdec doesn’t support displaying intermediate progress information: sending SIGINFO to xzdec does nothing, but sending SIGUSR1 terminates the process instead of displaying progress information.


−d, −−decompress, −−uncompress

Ignored for xz(1) compatibility. xzdec supports only decompression.

−k, −−keep

Ignored for xz(1) compatibility. xzdec never creates or removes any files.

−c, −−stdout, −−to-stdout

Ignored for xz(1) compatibility. xzdec always writes the decompressed data to standard output.

−M limit, −−memory=limit

Set the memory usage limit. If this option is specified multiple times, the last one takes effect. The limit can be specified in multiple ways:

The limit can be an absolute value in bytes. Using an integer suffix like MiB can be useful. Example: −−memory=80MiB

The limit can be specified as a percentage of physical RAM. Example: −−memory=70%

The limit can be reset back to its default value (currently 40 % of physical RAM) by setting it to 0.

The memory usage limiting can be effectively disabled by setting limit to max. This isn’t recommended. It’s usually better to use, for example, −−memory=90%.

The current limit can be seen near the bottom of the output of the −−help option.

−q, −−quiet

Specifying this once does nothing since xzdec never displays any warnings or notices. Specify this twice to suppress errors.

−Q, −−no-warn

Ignored for xz(1) compatibility. xzdec never uses the exit status 2.

−h, −−help

Display a help message and exit successfully.

−V, −−version

Display the version number of xzdec and liblzma.



All was good.


An error occurred.

xzdec doesn’t have any warning messages like xz(1) has, thus the exit status 2 is not used by xzdec.


xzdec and lzmadec are not really that small. The size can be reduced further by dropping features from liblzma at compile time, but that shouldn’t usually be done for executables distributed in typical non-embedded operating system distributions. If you need a truly small .xz decompressor, consider using XZ Embedded.