Go to the previous, next section.

GNU Extensions to the Archive Format

(This message will disappear, once this node revised.)

The GNU format uses additional file types to describe new types of files in an archive. These are listed below.

LF_DUMPDIR
'D'
This represents a directory and a list of files created by the `--incremental' (`-G') option. The size field gives the total size of the associated list of files. Each file name is preceded by either a `Y' (the file should be in this archive) or an `N'. (The file is a directory, or is not stored in the archive.) Each file name is terminated by a null. There is an additional null after the last file name.

LF_MULTIVOL
'M'
This represents a file continued from another volume of a multi-volume archive created with the `--multi-volume' (`-M') option. The original type of the file is not given here. The size field gives the maximum size of this piece of the file (assuming the volume does not end before the file is written out). The offset field gives the offset from the beginning of the file where this part of the file begins. Thus size plus offset should equal the original size of the file.

LF_SPARSE
'S'
This flag indicates that we are dealing with a sparse file. Note that archiving a sparse file requires special operations to find holes in the file, which mark the positions of these holes, along with the number of bytes of data to be found after the hole.

LF_VOLHDR
'V'
This file type is used to mark the volume header that was given with the `--label=archive-label' (`-V archive-label') option when the archive was created. The name field contains the name given after the `--label=archive-label' (`-V archive-label') option. The size field is zero. Only the first file in each volume of an archive should have this type.

You may have trouble reading a GNU format archive on a non-GNU system if the options `--incremental' (`-G'), `--multi-volume' (`-M'), `--sparse' (`-S'), or `--label=archive-label' (`-V archive-label') were used when writing the archive. In general, if tar does not use the GNU-added fields of the header, other versions of tar should be able to read the archive. Otherwise, the tar program will give an error, the most likely one being a checksum error.

Go to the previous, next section.