Merging upstream version 0.25.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
12495f6c3d
commit
6fabc1cb2f
33 changed files with 317 additions and 280 deletions
|
@ -11,12 +11,12 @@ File: tarlz.info, Node: Top, Next: Introduction, Up: (dir)
|
|||
Tarlz Manual
|
||||
************
|
||||
|
||||
This manual is for Tarlz (version 0.24, 20 September 2023).
|
||||
This manual is for Tarlz (version 0.25, 3 January 2024).
|
||||
|
||||
* Menu:
|
||||
|
||||
* Introduction:: Purpose and features of tarlz
|
||||
* Invoking tarlz:: Command line interface
|
||||
* Invoking tarlz:: Command-line interface
|
||||
* Portable character set:: POSIX portable filename character set
|
||||
* File format:: Detailed format of the compressed archive
|
||||
* Amendments to pax format:: The reasons for the differences with pax
|
||||
|
@ -28,7 +28,7 @@ This manual is for Tarlz (version 0.24, 20 September 2023).
|
|||
* Concept index:: Index of concepts
|
||||
|
||||
|
||||
Copyright (C) 2013-2023 Antonio Diaz Diaz.
|
||||
Copyright (C) 2013-2024 Antonio Diaz Diaz.
|
||||
|
||||
This manual is free documentation: you have unlimited permission to copy,
|
||||
distribute, and modify it.
|
||||
|
@ -46,8 +46,8 @@ library lzlib.
|
|||
Tarlz creates tar archives using a simplified and safer variant of the
|
||||
POSIX pax format compressed in lzip format, 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
|
||||
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
|
||||
|
@ -433,6 +433,12 @@ to '-1 --solid'.
|
|||
Make '--diff' ignore differences in owner and group IDs. This option is
|
||||
useful when comparing an '--anonymous' archive.
|
||||
|
||||
'--ignore-metadata'
|
||||
Make '--diff' ignore any differences in metadata (file permissions,
|
||||
owner and group IDs, modification time). Compare only file type, file
|
||||
size, and file content. This option is useful when file permissions
|
||||
have not been fully restored because uid/gid changed on extraction.
|
||||
|
||||
'--ignore-overflow'
|
||||
Make '--diff' ignore differences in mtime caused by overflow on 32-bit
|
||||
systems with a 32-bit time_t.
|
||||
|
@ -485,7 +491,7 @@ to '-1 --solid'.
|
|||
|
||||
|
||||
Exit status: 0 for a normal exit, 1 for environmental problems (file not
|
||||
found, files differ, invalid command line options, I/O errors, etc), 2 to
|
||||
found, files differ, invalid command-line options, I/O errors, etc), 2 to
|
||||
indicate a corrupt or invalid input file, 3 for an internal consistency
|
||||
error (e.g., bug) which caused tarlz to panic.
|
||||
|
||||
|
@ -529,7 +535,7 @@ In the diagram below, a box like this:
|
|||
bytes (for example 512).
|
||||
|
||||
|
||||
A tar.lz file consists of a series of lzip members (compressed data
|
||||
A tar.lz file consists of one or more lzip members (compressed data
|
||||
sets). The members simply appear one after another in the file, with no
|
||||
additional information before, between, or after them.
|
||||
|
||||
|
@ -564,7 +570,7 @@ binary zeros, interpreted as an end-of-archive indicator. These EOA blocks
|
|||
are either compressed in a separate lzip member or compressed along with the
|
||||
tar members contained in the last lzip member. For a compressed archive to
|
||||
be recognized by tarlz as appendable, the last lzip member must contain
|
||||
between 512 and 32256 zeros alone.
|
||||
between 512 and 32256 zeros alone (without any non-zero bytes).
|
||||
|
||||
The diagram below shows the correspondence between each tar member
|
||||
(formed by one or two headers plus optional data) in the tar archive and
|
||||
|
@ -618,7 +624,7 @@ space, equal-sign, and newline.
|
|||
'gid'
|
||||
The unsigned decimal representation of the group ID of the group that
|
||||
owns the following file. The gid record is created only for files with
|
||||
a group ID greater than 2_097_151 (octal 7777777). *Note
|
||||
a group ID greater than 2_097_151 (octal 7_777_777). *Note
|
||||
ustar-uid-gid::.
|
||||
|
||||
'linkpath'
|
||||
|
@ -653,13 +659,14 @@ space, equal-sign, and newline.
|
|||
digits from the ISO/IEC 646:1991 (ASCII) standard. This record
|
||||
overrides the field 'size' in the following ustar header block. The
|
||||
size record is created only for files with a size value greater than
|
||||
8_589_934_591 (octal 77777777777); that is, 8 GiB (2^33 bytes) or
|
||||
8_589_934_591 (octal 77_777_777_777); that is, 8 GiB (2^33 bytes) or
|
||||
larger.
|
||||
|
||||
'uid'
|
||||
The unsigned decimal representation of the user ID of the file owner
|
||||
of the following file. The uid record is created only for files with a
|
||||
user ID greater than 2_097_151 (octal 7777777). *Note ustar-uid-gid::.
|
||||
user ID greater than 2_097_151 (octal 7_777_777). *Note
|
||||
ustar-uid-gid::.
|
||||
|
||||
'GNU.crc32'
|
||||
CRC32-C (Castagnoli) of the extended header data excluding the 8 bytes
|
||||
|
@ -737,7 +744,7 @@ S_IROTH 00004 S_IWOTH 00002 S_IXOTH 00001
|
|||
|
||||
The fields 'uid' and 'gid' are the user and group IDs of the owner and
|
||||
group of the file, respectively. If the file uid or gid are greater than
|
||||
2_097_151 (octal 7777777), an extended record is used to store the uid or
|
||||
2_097_151 (octal 7_777_777), an extended record is used to store the uid or
|
||||
gid.
|
||||
|
||||
The field 'size' contains the octal representation of the size of the
|
||||
|
@ -747,13 +754,13 @@ records following the header is (size / 512) rounded to the next integer.
|
|||
For all other values of typeflag, tarlz either sets the size field to 0 or
|
||||
ignores it, and does not store or expect any logical records following the
|
||||
header. If the file size is larger than 8_589_934_591 bytes
|
||||
(octal 77777777777), an extended record is used to store the file size.
|
||||
(octal 77_777_777_777), an extended record is used to store the file size.
|
||||
|
||||
The field 'mtime' contains the octal representation of the modification
|
||||
time of the file at the time it was archived, obtained from the function
|
||||
'stat'. If the modification time is negative or larger than 8_589_934_591
|
||||
(octal 77777777777) seconds since the epoch, an extended record is used to
|
||||
store the modification time. The ustar range of mtime goes from
|
||||
(octal 77_777_777_777) seconds since the epoch, an extended record is used
|
||||
to store the modification time. The ustar range of mtime goes from
|
||||
'1970-01-01 00:00:00 UTC' to '2242-03-16 12:56:31 UTC'.
|
||||
|
||||
The field 'chksum' contains the octal representation of the value of the
|
||||
|
@ -835,7 +842,7 @@ more probable.
|
|||
|
||||
Headers and metadata must be protected separately from data because the
|
||||
integrity checking of lzip may not be able to detect the corruption before
|
||||
the metadata has been used, for example, to create a new file in the wrong
|
||||
the metadata have been used, for example, to create a new file in the wrong
|
||||
place.
|
||||
|
||||
Because of the above, tarlz protects the extended records with a Cyclic
|
||||
|
@ -923,7 +930,7 @@ There is no portable way to tell what charset a text string is coded into.
|
|||
Therefore, tarlz stores all fields representing text strings unmodified,
|
||||
without conversion to UTF-8 nor any other transformation. This prevents
|
||||
accidental double UTF-8 conversions. If the need arises this behavior will
|
||||
be adjusted with a command line option in the future.
|
||||
be adjusted with a command-line option in the future.
|
||||
|
||||
|
||||
File: tarlz.info, Node: Program design, Next: Multi-threaded decoding, Prev: Amendments to pax format, Up: Top
|
||||
|
@ -1252,25 +1259,25 @@ Concept index
|
|||
|
||||
Tag Table:
|
||||
Node: Top216
|
||||
Node: Introduction1210
|
||||
Node: Invoking tarlz4041
|
||||
Ref: --data-size13085
|
||||
Ref: --bsolid17521
|
||||
Node: Portable character set23119
|
||||
Node: File format23762
|
||||
Ref: key_crc3230703
|
||||
Ref: ustar-uid-gid33968
|
||||
Ref: ustar-mtime34770
|
||||
Node: Amendments to pax format36770
|
||||
Ref: crc3237479
|
||||
Ref: flawed-compat38790
|
||||
Node: Program design42872
|
||||
Node: Multi-threaded decoding46797
|
||||
Ref: mt-extraction50078
|
||||
Node: Minimum archive sizes51384
|
||||
Node: Examples53511
|
||||
Node: Problems55878
|
||||
Node: Concept index56433
|
||||
Node: Introduction1207
|
||||
Node: Invoking tarlz4032
|
||||
Ref: --data-size13076
|
||||
Ref: --bsolid17512
|
||||
Node: Portable character set23425
|
||||
Node: File format24068
|
||||
Ref: key_crc3231050
|
||||
Ref: ustar-uid-gid34315
|
||||
Ref: ustar-mtime35122
|
||||
Node: Amendments to pax format37125
|
||||
Ref: crc3237834
|
||||
Ref: flawed-compat39146
|
||||
Node: Program design43228
|
||||
Node: Multi-threaded decoding47153
|
||||
Ref: mt-extraction50434
|
||||
Node: Minimum archive sizes51740
|
||||
Node: Examples53867
|
||||
Node: Problems56234
|
||||
Node: Concept index56789
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue