[Top][All Lists]

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

[Lzip-bug] Tarlz 0.17 released

From: Antonio Diaz Diaz
Subject: [Lzip-bug] Tarlz 0.17 released
Date: Sat, 01 Aug 2020 18:43: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.17.

Tarlz is a massively parallel (multi-threaded) combined implementation of the tar archiver and the lzip compressor. Tarlz creates, lists and extracts archives in a simplified and safer variant of the POSIX pax format compressed with lzip, keeping the alignment between tar members and lzip members. The resulting multimember tar.lz archive is fully backward compatible with standard tar tools like GNU tar, which treat it like any other tar.lz archive. Tarlz can append files to the end of such compressed archives.

Keeping the alignment between tar members and lzip members has two advantages. It adds an indexed lzip layer on top of the tar archive, making it possible to decode the archive safely in parallel. It also minimizes the amount of data lost in case of corruption. Compressing a tar archive with plzip may even double the amount of files lost for each lzip member damaged because it does not keep the members aligned.

Tarlz can create tar archives with five levels of compression granularity: per file (--no-solid), per block (--bsolid, default), per directory (--dsolid), appendable solid (--asolid), and solid (--solid). It can also create uncompressed tar archives.

Of course, compressing each file (or each directory) individually can't achieve a compression ratio as high as compressing solidly the whole tar archive, but it has the following advantages:

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

    * New members can be appended to the archive (by removing the EOF
      member), and unwanted members can be deleted from the archive.
      Just like 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, the option '--keep-damaged' can be
      used to recover as much data as possible from each damaged member,
      and lziprecover can be used to recover some 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 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:
20490c31ee4415baae40a7b876cbba101a642a1fe7f519865d25b79bbea9ed3e tarlz-0.17.tar.lz

Changes in version 0.17:

   * The new option '--mtime' has been added.

   * The new option '-p, --preserve-permissions' has been added.

* Multi-threaded '-d, --diff' has been implemented. See chapters 'Internal structure of tarlz' and 'Limitations of parallel tar decoding' in the manual for details.

* Tarlz now reports an error if a file name is empty (tarlz -tf foo "") or if the archive is specified more than once.

* Tarlz now reports corruption or truncation of the last header in a multimenber file specifically instead of showing the generic message "Last member in input file is truncated or corrupt."

   * The header <sys/sysmacros.h> is now not #included when compiling on BSD.

* The new chapter 'Internal structure of tarlz' has been added to the manual.

Please send bug reports and suggestions to lzip-bug@nongnu.org

Antonio Diaz, tarlz author and maintainer.
Self-determination is a human right. Free Catalan political prisoners.
If you care about interoperability and long-term archiving, please help me replace xz with lzip. See http://www.nongnu.org/lzip/lzip_benchmark.html#xz1
http://www.nongnu.org/lzip/manual/lzip_manual.html#Quality-assurance and
http://www.nongnu.org/lzip/xz_inadequate.html Thanks.

reply via email to

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