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
|
@ -6,8 +6,8 @@
|
|||
@finalout
|
||||
@c %**end of header
|
||||
|
||||
@set UPDATED 20 September 2023
|
||||
@set VERSION 0.24
|
||||
@set UPDATED 3 January 2024
|
||||
@set VERSION 0.25
|
||||
|
||||
@dircategory Archiving
|
||||
@direntry
|
||||
|
@ -37,7 +37,7 @@ This manual is for Tarlz (version @value{VERSION}, @value{UPDATED}).
|
|||
|
||||
@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
|
||||
|
@ -50,7 +50,7 @@ This manual is for Tarlz (version @value{VERSION}, @value{UPDATED}).
|
|||
@end menu
|
||||
|
||||
@sp 1
|
||||
Copyright @copyright{} 2013-2023 Antonio Diaz Diaz.
|
||||
Copyright @copyright{} 2013-2024 Antonio Diaz Diaz.
|
||||
|
||||
This manual is free documentation: you have unlimited permission to copy,
|
||||
distribute, and modify it.
|
||||
|
@ -68,7 +68,7 @@ compression library @uref{http://www.nongnu.org/lzip/lzlib.html,,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
|
||||
members and lzip members. The resulting multimember tar.lz archive is
|
||||
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.
|
||||
|
@ -477,6 +477,12 @@ Multiple @option{--exclude} options can be specified.
|
|||
Make @option{--diff} ignore differences in owner and group IDs. This option is
|
||||
useful when comparing an @option{--anonymous} archive.
|
||||
|
||||
@item --ignore-metadata
|
||||
Make @option{--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.
|
||||
|
||||
@item --ignore-overflow
|
||||
Make @option{--diff} ignore differences in mtime caused by overflow on 32-bit
|
||||
systems with a 32-bit time_t.
|
||||
|
@ -534,7 +540,7 @@ keyword appearing in the same block of extended records.
|
|||
@end table
|
||||
|
||||
Exit status: 0 for a normal exit, 1 for environmental problems
|
||||
(file not found, files differ, invalid command line options, I/O errors,
|
||||
(file not 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.
|
||||
|
||||
|
@ -582,7 +588,7 @@ represents a variable number of bytes or a fixed but large number of
|
|||
bytes (for example 512).
|
||||
|
||||
@sp 1
|
||||
A tar.lz file consists of a series of lzip members (compressed data sets).
|
||||
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.
|
||||
|
||||
|
@ -622,7 +628,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 each
|
||||
|
@ -694,7 +700,7 @@ time outside of the ustar range. @xref{ustar-mtime}.
|
|||
@item 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). @xref{ustar-uid-gid}.
|
||||
greater than 2_097_151 @w{(octal 7_777_777)}. @xref{ustar-uid-gid}.
|
||||
|
||||
@item linkpath
|
||||
The file name of a link being created to another file, of any type,
|
||||
|
@ -726,12 +732,12 @@ The size of the file in bytes, expressed as a decimal number using digits
|
|||
from the ISO/IEC 646:1991 (ASCII) standard. This record overrides the field
|
||||
@samp{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
|
||||
@w{(octal 77777777777)}; that is, @w{8 GiB} (2^33 bytes) or larger.
|
||||
@w{(octal 77_777_777_777)}; that is, @w{8 GiB} (2^33 bytes) or larger.
|
||||
|
||||
@item 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). @xref{ustar-uid-gid}.
|
||||
greater than 2_097_151 @w{(octal 7_777_777)}. @xref{ustar-uid-gid}.
|
||||
|
||||
@anchor{key_crc32}
|
||||
@item GNU.crc32
|
||||
|
@ -815,7 +821,8 @@ table shows the symbolic name of each bit and its octal value:
|
|||
@anchor{ustar-uid-gid}
|
||||
The fields @samp{uid} and @samp{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 gid.
|
||||
2_097_151 @w{(octal 7_777_777)}, an extended record is used to store the uid
|
||||
or gid.
|
||||
|
||||
The field @samp{size} contains the octal representation of the size of the
|
||||
file in bytes. If the field @samp{typeflag} specifies a file of type '0'
|
||||
|
@ -824,13 +831,13 @@ records following the header is @w{(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
|
||||
@w{(octal 77777777777)}, an extended record is used to store the file size.
|
||||
@w{(octal 77_777_777_777)}, an extended record is used to store the file size.
|
||||
|
||||
@anchor{ustar-mtime}
|
||||
The field @samp{mtime} contains the octal representation of the modification
|
||||
time of the file at the time it was archived, obtained from the function
|
||||
@samp{stat}. If the modification time is negative or larger than
|
||||
8_589_934_591 @w{(octal 77777777777)} seconds since the epoch, an extended
|
||||
8_589_934_591 @w{(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 @w{@samp{1970-01-01 00:00:00 UTC}} to @w{@samp{2242-03-16 12:56:31 UTC}}.
|
||||
|
||||
|
@ -914,7 +921,7 @@ large, making undetected corruption and archiver misbehavior 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
|
||||
|
@ -999,7 +1006,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.
|
||||
|
||||
|
||||
@node Program design
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue