lzip-bug
[Top][All Lists]
Advanced

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

[Lzip-bug] Tarlz 0.10a released


From: Antonio Diaz Diaz
Subject: [Lzip-bug] Tarlz 0.10a released
Date: Mon, 04 Feb 2019 15:56:10 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14

I am pleased to announce the release of tarlz 0.10a.

Tarlz is a combined implementation of the tar archiver and the lzip compressor. By default tarlz creates, lists and extracts archives in a simplified posix pax format compressed with lzip on a per file basis. Each tar member is compressed in its own lzip member, as well as the end-of-file blocks. This method adds an indexed lzip layer on top of the tar archive, making it possible to decode the archive safely in parallel. 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.

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, 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, 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
http://download.savannah.gnu.org/releases/lzip/tarlz/

The sha256sum is:
b4d344f557da3f06f71b6c2f4188148a3b81f58bf6b159d99e8e6951ddc17dd4 tarlz-0.10a.tar.lz

Note that this release has version 0.10a because a fatal flaw was found in 0.10 after it was released but before it was annonced. (I should have used 0.10.1 instead).


Changes in version 0.10a:

* The new option '--bsolid', which selects per-data-block compression of the archive, has been added. This option improves compression efficiency for archives with lots of small files.

* The new option '-B, --data-size', which sets the size of the input data blocks for '--bsolid', has been added.

* If an extended header is required for any reason (for example a file size larger than 8 GiB or a link name longer than 100 bytes), tarlz now moves the filename also to the extended header to prevent an ustar tool from trying to extract the file or link. This also makes easier during parallel extraction or listing the detection of a tar member split between two lzip members at the boundary between the extended header and the ustar header.


Please send bug reports and suggestions to address@hidden


Regards,
Antonio Diaz, tarlz author and maintainer.

--
If you care about 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]