tar: Extensions

1 
1 GNU Extensions to the Archive Format
1 ====================================
1 
1      _(This message will disappear, once this node revised.)_
1 
1    The GNU format uses additional file types to describe new types of
1 files in an archive.  These are listed below.
1 
1 'GNUTYPE_DUMPDIR'
1 ''D''
1      This represents a directory and a list of files created by the
1      '--incremental' ('-G') option.  The 'size' field gives the total
1      size of the associated list of files.  Each file name is preceded
1      by either a 'Y' (the file should be in this archive) or an 'N'.
1      (The file is a directory, or is not stored in the archive.)  Each
1      file name is terminated by a null.  There is an additional null
1      after the last file name.
1 
1 'GNUTYPE_MULTIVOL'
1 ''M''
1      This represents a file continued from another volume of a
1      multi-volume archive created with the '--multi-volume' ('-M')
1      option.  The original type of the file is not given here.  The
1      'size' field gives the maximum size of this piece of the file
1      (assuming the volume does not end before the file is written out).
1      The 'offset' field gives the offset from the beginning of the file
1      where this part of the file begins.  Thus 'size' plus 'offset'
1      should equal the original size of the file.
1 
1 'GNUTYPE_SPARSE'
1 ''S''
1      This flag indicates that we are dealing with a sparse file.  Note
1      that archiving a sparse file requires special operations to find
1      holes in the file, which mark the positions of these holes, along
1      with the number of bytes of data to be found after the hole.
1 
1 'GNUTYPE_VOLHDR'
1 ''V''
1      This file type is used to mark the volume header that was given
1      with the '--label=ARCHIVE-LABEL' ('-V ARCHIVE-LABEL') option when
1      the archive was created.  The 'name' field contains the 'name'
1      given after the '--label=ARCHIVE-LABEL' ('-V ARCHIVE-LABEL')
1      option.  The 'size' field is zero.  Only the first file in each
1      volume of an archive should have this type.
1 
1    For fields containing numbers or timestamps that are out of range for
1 the basic format, the GNU format uses a base-256 representation instead
1 of an ASCII octal number.  If the leading byte is 0xff (255), all the
1 bytes of the field (including the leading byte) are concatenated in
1 big-endian order, with the result being a negative number expressed in
1 two's complement form.  If the leading byte is 0x80 (128), the
1 non-leading bytes of the field are concatenated in big-endian order,
1 with the result being a positive number expressed in binary form.
1 Leading bytes other than 0xff, 0x80 and ASCII octal digits are reserved
1 for future use, as are base-256 representations of values that would be
1 in range for the basic format.
1 
1    You may have trouble reading a GNU format archive on a non-GNU system
1 if the options '--incremental' ('-G'), '--multi-volume' ('-M'),
1 '--sparse' ('-S'), or '--label=ARCHIVE-LABEL' ('-V ARCHIVE-LABEL') were
1 used when writing the archive.  In general, if 'tar' does not use the
1 GNU-added fields of the header, other versions of 'tar' should be able
1 to read the archive.  Otherwise, the 'tar' program will give an error,
1 the most likely one being a checksum error.
1