tar: PAX 1
1
1 PAX Format, Version 1.0
1 -----------------------
1
1 The version '1.0' of sparse format was introduced with GNU 'tar'
1 1.15.92. Its main objective was to make the resulting file extractable
1 with little effort even by non-posix aware 'tar' implementations.
1 Starting from this version, the extended header preceding a sparse
1 member always contains the following variables that identify the format
1 being used:
1
1 'GNU.sparse.major'
1 Major version
1
1 'GNU.sparse.minor'
1 Minor version
1
1 The 'name' field in 'ustar' header contains a special name,
1 constructed using the following pattern:
1
1 %d/GNUSparseFile.%p/%f
1
1 The real name of the sparse file is stored in the variable
1 'GNU.sparse.name'. The real size of the file is stored in the variable
1 'GNU.sparse.realsize'.
1
1 The sparse map itself is stored in the file data block, preceding the
1 actual file data. It consists of a series of octal numbers of arbitrary
1 length, delimited by newlines. The map is padded with nulls to the
1 nearest block boundary.
1
1 The first number gives the number of entries in the map. Following
1 are map entries, each one consisting of two numbers giving the offset
1 and size of the data block it describes.
1
1 The format is designed in such a way that non-posix aware 'tar's and
1 'tar's not supporting 'GNU.sparse.*' keywords will extract each sparse
1 file in its condensed form with the file map prepended and will place it
1 into a separate directory. Then, using a simple program it would be
1 possible to expand the file to its original form even without GNU 'tar'.
1 ⇒Sparse Recovery, for the detailed information on how to extract
1 sparse members without GNU 'tar'.
1