Annotation of cci/usr/src/man/man5/tar.5, revision 1.1

1.1     ! root        1: .TH TAR 5  "15 January 1983"
        !             2: .SH NAME
        !             3: tar \- tape archive file format
        !             4: .SH DESCRIPTION
        !             5: .IR Tar ,
        !             6: (the tape archive command)
        !             7: dumps several files into one, in a medium suitable for transportation.
        !             8: .PP
        !             9: A ``tar tape'' or file is a series of blocks.  Each block is of size TBLOCK.
        !            10: A file on the tape is represented by a header block which describes
        !            11: the file, followed by zero or more blocks which give the contents of the
        !            12: file.  At the end of the tape are two blocks filled with binary
        !            13: zeros, as an end-of-file indicator.  
        !            14: .PP
        !            15: The blocks are grouped for physical I/O operations.  Each group of
        !            16: .I n
        !            17: blocks (where
        !            18: .I n
        !            19: is set by the 
        !            20: .B b
        !            21: keyletter on the 
        !            22: .IR tar (1)
        !            23: command line \(em default is 20 blocks) is written with a single system
        !            24: call; on nine-track tapes, the result of this write is a single tape
        !            25: record.  The last group is always written at the full size, so blocks after
        !            26: the two zero blocks contain random data.  On reading, the specified or
        !            27: default group size is used for the
        !            28: first read, but if that read returns less than a full tape block, the reduced
        !            29: block size is used for further reads.
        !            30: .PP
        !            31: The header block looks like:
        !            32: .RS
        !            33: .PP
        !            34: .nf
        !            35: #define TBLOCK 512
        !            36: #define NAMSIZ 100
        !            37: 
        !            38: union hblock {
        !            39:        char dummy[TBLOCK];
        !            40:        struct header {
        !            41:                char name[NAMSIZ];
        !            42:                char mode[8];
        !            43:                char uid[8];
        !            44:                char gid[8];
        !            45:                char size[12];
        !            46:                char mtime[12];
        !            47:                char chksum[8];
        !            48:                char linkflag;
        !            49:                char linkname[NAMSIZ];
        !            50:        } dbuf;
        !            51: };
        !            52: .ta \w'#define 'u +\w'SARMAG 'u
        !            53: .fi
        !            54: .RE
        !            55: .LP
        !            56: .IR Name
        !            57: is a null-terminated string.
        !            58: The other fields are zero-filled octal numbers in ASCII.  Each field
        !            59: (of width w) contains w-2 digits, a space, and a null, except
        !            60: .IR size
        !            61: and
        !            62: .IR mtime ,
        !            63: which do not contain the trailing null.
        !            64: .IR Name
        !            65: is the name of the file, as specified on the 
        !            66: .I tar
        !            67: command line.  Files dumped because they were in a directory which
        !            68: was named in the command line have the directory name as prefix and
        !            69: .I /filename
        !            70: as suffix.
        !            71: .  \"Whatever format was used in the command line
        !            72: .  \"will appear here, such as
        !            73: .  \".I \&./yellow
        !            74: .  \"or
        !            75: .  \".IR \&../../brick/./road/.. .
        !            76: .  \"To retrieve a file from a tar tape, an exact prefix match must be specified,
        !            77: .  \"including all of the directory prefix information used on the command line
        !            78: .  \"that dumped the file (if any).
        !            79: .IR Mode
        !            80: is the file mode, with the top bit masked off.
        !            81: .IR Uid
        !            82: and
        !            83: .IR gid
        !            84: are the user and group numbers which own the file.
        !            85: .IR Size
        !            86: is the size of the file in bytes.  Links and symbolic links are dumped
        !            87: with this field specified as zero.
        !            88: .IR Mtime
        !            89: is the modification time of the file at the time it was dumped.
        !            90: .IR Chksum
        !            91: is a decimal ASCII value which represents the sum of all the bytes in the
        !            92: header block.  When calculating the checksum, the 
        !            93: .IR chksum
        !            94: field is treated as if it were all blanks.
        !            95: .IR Linkflag
        !            96: is ASCII `0' if the file is ``normal'' or a special file, ASCII `1'
        !            97: if it is an hard link, and ASCII `2'
        !            98: if it is a symbolic link.  The name linked-to, if any, is in
        !            99: .IR linkname,
        !           100: with a trailing null.
        !           101: Unused fields of the header are binary zeros (and are included in the
        !           102: checksum).
        !           103: .PP
        !           104: The first time a given i-node number is dumped, it is dumped as a regular
        !           105: file.  The second and subsequent times, it is dumped as a link instead.
        !           106: Upon retrieval, if a link entry is retrieved, but not the file it was
        !           107: linked to, an error message is printed and the tape must be manually
        !           108: re-scanned to retrieve the linked-to file.
        !           109: .PP
        !           110: The encoding of the header is designed to be portable across machines.
        !           111: .SH "SEE ALSO"
        !           112: tar(1)
        !           113: .SH BUGS
        !           114: Names or linknames longer than NAMSIZ produce error reports and cannot be
        !           115: dumped.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.