I was trying to uncompress a tar.lz file.


Joses-MacBook-Air:~ joseluisbz$ ls -al /usr/local/Sources/ddrescue-1.22.tar.lz 
-rw-r--r--@ 1 joseluisbz  wheel  80050 Oct  4 14:43 /usr/local/Sources/ddrescue-1.22.tar.lz
Joses-MacBook-Air:~ joseluisbz$ tar zxvf /usr/local/Sources/ddrescue-1.22.tar.lz -C /usr/local/Sources/
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Joses-MacBook-Air:~ joseluisbz$ xz
xz: Compressed data cannot be written to a terminal
xz: Try `xz --help' for more information.
Joses-MacBook-Air:~ joseluisbz$ xz -dv /usr/local/Sources/ddrescue-1.22.tar.lz
/usr/local/Sources/ddrescue-1.22.tar.lz (1/1)
xz: /usr/local/Sources/ddrescue-1.22.tar.lz: File format not recognized
Joses-MacBook-Air:~ joseluisbz$ tar xjf /usr/local/Sources/ddrescue-1.22.tar.lz -C /usr/local/Sources/
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Joses-MacBook-Air:~ joseluisbz$ tar -xjf /usr/local/Sources/ddrescue-1.22.tar.lz -C /usr/local/Sources/
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Joses-MacBook-Air:~ joseluisbz$ tar -xjf /usr/local/Sources/ddrescue-1.22.tar.lz
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Joses-MacBook-Air:~ joseluisbz$ 

What can I do?


I use lzip, which I compiled from source code, however it can also be installed with Homebrew:

brew install lzip

See also: Lzip

You also need to have Command Line Tools for Xcode installed in either case. Have a look at: How to Install Command Line Tools in OS X Mavericks & Yosemite (Without Xcode)

$ lzip --help
Lzip - LZMA lossless data compressor.

Usage: lzip [options] [files]

  -h, --help                     display this help and exit
  -V, --version                  output version information and exit
  -a, --trailing-error           exit with error status if trailing data
  -b, --member-size=<bytes>      set member size limit in bytes
  -c, --stdout                   write to standard output, keep input files
  -d, --decompress               decompress
  -f, --force                    overwrite existing output files
  -F, --recompress               force re-compression of compressed files
  -k, --keep                     keep (don't delete) input files
  -l, --list                     print (un)compressed file sizes
  -m, --match-length=<bytes>     set match length limit in bytes [36]
  -o, --output=<file>            if reading standard input, write to <file>
  -q, --quiet                    suppress all messages
  -s, --dictionary-size=<bytes>  set dictionary size limit in bytes [8 MiB]
  -S, --volume-size=<bytes>      set volume size limit in bytes
  -t, --test                     test compressed file integrity
  -v, --verbose                  be verbose (a 2nd -v gives more)
  -0 .. -9                       set compression level [default 6]
      --fast                     alias for -0
      --best                     alias for -9
If no file names are given, or if a file is '-', lzip compresses or
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...
Dictionary sizes 12 to 29 are interpreted as powers of two, meaning 2^12
to 2^29 bytes.

The bidimensional parameter space of LZMA can't be mapped to a linear
scale optimal for all files. If your files are large, very repetitive,
etc, you may need to use the --dictionary-size and --match-length
options directly to achieve optimal performance.

Exit status: 0 for a normal exit, 1 for environmental problems (file
not found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or
invalid input file, 3 for an internal consistency error (eg, bug) which
caused lzip to panic.

Report bugs to lzip-bug@nongnu.org
Lzip home page: http://www.nongnu.org/lzip/lzip.html

There's no need to install new software! At least on MacOS 10.15 tar has the option --lzip that decompresses .lz files. For instance:

tar --lzip -tf gmp-6.2.0.tar.lz

gives me

  • On Ubuntu, tar --lzip works only if lzip is already installed. Otherwise, it fails with tar (child): lzip: Cannot exec: No such file or directory. I suspect it's the same on MacOS.
    – Curt
    Oct 11 '20 at 19:34
  • 1
    I can confirm that worked for me without having to install lzip. I've found that built-in macOS command line utils are much closer to their BSD than their GNU counterparts. tar --version outputs bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.6.
    – Matthias
    Oct 30 '20 at 5:03
  • Very frustrated, I'm on macOS Mojave and I just get Option --lzip is not supported. Any ideas why?
    – JVC
    Jun 3 '21 at 17:05
  • 1
    @JVC Mojave is 10.14, so I'd guess that Apple added that option only with Catalina (10.15). Sorry.
    – John Perry
    Jun 4 '21 at 6:23

I'm agree with @John Perry no need to install. Tested on my mac Mac OS Catalina (10.15.7)

To see contents of yourfile.tar.lz file tar --lzip -tf yourfile.tar.lz

To extract contents of yourfile.tar.lz tar --lzip -xvf yourfile.tar.lz



$ tar zxvf /usr/local/Sources/lzip-1.19.tar.gz -C /usr/local/Sources/
$ cd /usr/local/Sources/lzip-1.19
$ ./configure --prefix=/usr/local/Custom/lzip
$ make
$ sudo make install

To run lzip

$ /usr/local/Custom/lzip/bin/lzip


$ tar zxvf /usr/local/Sources/lunzip-1.9.tar.gz -C /usr/local/Sources/
$ cd /usr/local/Sources/lunzip-1.9
$ ./configure --prefix=/usr/local/Custom/lunzip
$ make
$ sudo make install

To run lunzip

$ /usr/local/Custom/lunzip/bin/lunzip 

ENABLE without path

# echo '/usr/local/Custom/lunzip/bin' >> /etc/paths

Now I go to uncompress...

$ /usr/local/Custom/lunzip/bin/lunzip /usr/local/Sources/ddrescue-1.22.tar.lz
$ tar xvf /usr/local/Sources/ddrescue-1.22.tar -C /usr/local/Sources/
x ddrescue-1.22/AUTHORS
x ddrescue-1.22/COPYING
x ddrescue-1.22/ChangeLog
x ddrescue-1.22/INSTALL
x ddrescue-1.22/Makefile.in
x ddrescue-1.22/NEWS
x ddrescue-1.22/README
x ddrescue-1.22/configure
x ddrescue-1.22/doc/ddrescue.1
x ddrescue-1.22/doc/ddrescuelog.1
x ddrescue-1.22/doc/ddrescue.info
x ddrescue-1.22/doc/ddrescue.texi
x ddrescue-1.22/arg_parser.h
x ddrescue-1.22/block.h
x ddrescue-1.22/loggers.h
x ddrescue-1.22/mapbook.h
x ddrescue-1.22/non_posix.h
x ddrescue-1.22/rational.h
x ddrescue-1.22/rescuebook.h
x ddrescue-1.22/arg_parser.cc
x ddrescue-1.22/block.cc
x ddrescue-1.22/ddrescuelog.cc
x ddrescue-1.22/fillbook.cc
x ddrescue-1.22/genbook.cc
x ddrescue-1.22/io.cc
x ddrescue-1.22/loggers.cc
x ddrescue-1.22/main.cc
x ddrescue-1.22/main_common.cc
x ddrescue-1.22/mapbook.cc
x ddrescue-1.22/mapfile.cc
x ddrescue-1.22/non_posix.cc
x ddrescue-1.22/rational.cc
x ddrescue-1.22/rescuebook.cc
x ddrescue-1.22/testsuite/check.sh
x ddrescue-1.22/testsuite/mapfile1
x ddrescue-1.22/testsuite/mapfile2
x ddrescue-1.22/testsuite/mapfile3
x ddrescue-1.22/testsuite/mapfile4
x ddrescue-1.22/testsuite/mapfile5
x ddrescue-1.22/testsuite/mapfile2i
x ddrescue-1.22/testsuite/mapfile_blank
x ddrescue-1.22/testsuite/test.txt
x ddrescue-1.22/testsuite/test1.txt
x ddrescue-1.22/testsuite/test2.txt
x ddrescue-1.22/testsuite/test3.txt
x ddrescue-1.22/testsuite/test4.txt
x ddrescue-1.22/testsuite/test5.txt
Joses-MacBook-Air:lzip-1.19 joseluisbz$ 

Sorry I prefer install in my custom folder!


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .