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