From aa4d2adf37f7449dd1a99df517de0a9ee97867bd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 23 Jan 2019 18:42:00 +0100 Subject: Adding upstream version 0.9. Signed-off-by: Daniel Baumann --- README | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'README') diff --git a/README b/README index 44edeea..5a9a673 100644 --- a/README +++ b/README @@ -1,22 +1,24 @@ Description -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. Each tar member is compressed in -its own lzip member, as well as the end-of-file blocks. This method 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 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. +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 with plzip, multiplying the decompression speed. + 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. @@ -32,13 +34,13 @@ following advantages: 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. +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. Corruption in a long filename may cause the extraction of the file in the -wrong place without warning. Corruption in a long file size may cause the +wrong place without warning. Corruption in a large file size may cause the truncation of the file or the appending of garbage to the file, both -followed by a spurious warning about a corrupt header far from the place -of the undetected corruption. +followed by a spurious warning about a corrupt header far from the place of +the undetected corruption. Metadata like filename and file size must be always protected in an archive format because of the adverse effects of undetected corruption in them, @@ -51,9 +53,6 @@ a way compatible with standard tar tools. Tarlz does not understand other tar formats like gnu, oldgnu, star or v7. -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 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: @@ -69,7 +68,7 @@ tar.lz +===============+=================================================+========+ -Copyright (C) 2013-2018 Antonio Diaz Diaz. +Copyright (C) 2013-2019 Antonio Diaz Diaz. This file is free documentation: you have unlimited permission to copy, distribute and modify it. -- cgit v1.2.3