summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2018-03-22 13:40:02 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2018-07-26 02:34:56 +0000
commit5bcc64ae9f2a8218922929e484c5fbef8d1564de (patch)
treed4d2aed5b98ed825bf28d14f491ae9cda3985298 /README
parentInitial commit. (diff)
downloadtarlz-upstream/0.4.tar.xz
tarlz-upstream/0.4.zip
Adding upstream version 0.4.upstream/0.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'README')
-rw-r--r--README62
1 files changed, 62 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..bafec18
--- /dev/null
+++ b/README
@@ -0,0 +1,62 @@
+Description
+
+Tarlz is a small and simple implementation of the tar archiver. By
+default tarlz creates, lists and extracts archives in the 'ustar' 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.
+
+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 tar members (formed
+by a header plus optional data) in the tar archive and lzip members in
+the resulting multimember tar.lz archive:
+
+tar
++========+======+========+======+========+======+========+
+| header | data | header | data | header | data | eof |
++========+======+========+======+========+======+========+
+
+tar.lz
++===============+===============+===============+========+
+| member | member | member | member |
++===============+===============+===============+========+
+
+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.
+
+
+Copyright (C) 2013-2018 Antonio Diaz Diaz.
+
+This file is free documentation: you have unlimited permission to copy,
+distribute and modify it.
+
+The file Makefile.in is a data file used by configure to produce the
+Makefile. It has the same copyright owner and permissions that configure
+itself.