summaryrefslogtreecommitdiffstats
path: root/README
blob: bafec1897e04ffddc9a1006284ef220cf98166b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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.