[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lzip-bug] Tarlz 0.6 released

From: Antonio Diaz Diaz
Subject: [Lzip-bug] Tarlz 0.6 released
Date: Sun, 21 Oct 2018 17:13:39 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv: Gecko/20110420 SeaMonkey/2.0.14

I am pleased to announce the release of tarlz 0.6.

Tarlz is a small and simple implementation of the tar archiver. By default tarlz creates, lists and extracts archives in a simplified posix pax format compressed with lzip on a per file basis. Tarlz can append files to the end of such compressed archives.

Each tar member is compressed in its own lzip member, as well as the end-of-file blocks. This same method works for any tar format (gnu, ustar, posix) and is fully backward compatible with standard tar tools like GNU tar, which treat the resulting multimember tar.lz archive like any other tar.lz archive.

Tarlz can create tar archives with four levels of compression granularity; per file, per directory, appendable solid, and solid.

Of course, compressing each file (or each directory) individually is less efficient than compressing the whole tar archive, but it has the following advantages:

   * The resulting multimember tar.lz archive can be decompressed in
     parallel with plzip, multiplying the decompression speed.

   * New members can be appended to the archive (by removing the eof
     member) just like to an uncompressed tar archive.

   * It is a safe posix-style backup format. In case of corruption,
     tarlz can extract all the undamaged members from the tar.lz
     archive, skipping over the damaged members, just like the standard
     (uncompressed) tar. Moreover, lziprecover can be used to recover at
     least part of the contents of the damaged members.

   * A multimember tar.lz archive is usually smaller than the
     corresponding solidly compressed tar.gz archive, except when
     individually compressing files smaller than about 32 KiB.

Note that the posix pax format has a serious flaw. The metadata stored in pax extended records are not protected by any kind of check sequence. Because of this, tarlz protects the extended records with a CRC in a way compatible with standard tar tools.

The diagram below shows the correspondence between each tar member (formed by one or two headers plus optional data) in the tar archive and each lzip member in the resulting multimember tar.lz archive:

| header | data | extended header | extended data | header | data |   eof  |

|     member    |                      member                     | member |

Tarlz is intended as a showcase project for the maintainers of real tar programs to evaluate the format and perhaps implement it in their tools.

The homepage is at http://www.nongnu.org/lzip/tarlz.html

An online manual for tarlz can be found at http://www.nongnu.org/lzip/manual/tarlz_manual.html

The sources can be downloaded from

The sha256sum is:
579279518be4623a8f1512bf35293765cc2b66ebf244a4bcd37b309c8c08f237 tarlz-0.6.tar.lz

Changes in version 0.6:

* The new option '-A, --concatenate', which appends tar.lz archives to the end of a tar.lz archive, has been added.

* The option '--ignore-crc' has been replaced with '--missing-crc' to improve backwards compatibility with the pax format. Missing CRCs are now ignored by default and only reported as errors if '--missing-crc' is specified.

* Tarlz now tests that uid, gid, mtime, devmajor and devminor are in ustar range when adding members to an archive.

* The configure script now accepts appending options to CXXFLAGS using the syntax 'CXXFLAGS+=OPTIONS'.

  * 'make dist' now uses tarlz to create the source tarball.

Please send bug reports and suggestions to address@hidden

Antonio Diaz, tarlz author and maintainer.

If you are distributing software in xz format, please consider using lzip instead. See http://www.nongnu.org/lzip/lzip_benchmark.html#xz1 and http://www.nongnu.org/lzip/xz_inadequate.html

reply via email to

[Prev in Thread] Current Thread [Next in Thread]