|
@@ -4,197 +4,197 @@ for everything (filename, uid, filesize etc) which can overflow.
|
|
|
|
|
|
pax Header Block
|
|
|
|
|
|
-The pax header block shall be identical to the ustar header block
|
|
|
-described in ustar Interchange Format, except that two additional
|
|
|
+The pax header block shall be identical to the ustar header block
|
|
|
+described in ustar Interchange Format, except that two additional
|
|
|
typeflag values are defined:
|
|
|
|
|
|
x
|
|
|
- Represents extended header records for the following file in
|
|
|
+ Represents extended header records for the following file in
|
|
|
the archive (which shall have its own ustar header block).
|
|
|
|
|
|
g
|
|
|
- Represents global extended header records for the following
|
|
|
-files in the archive. Each value shall affect all subsequent files
|
|
|
-that do not override that value in their own extended header
|
|
|
-record and until another global extended header record is reached
|
|
|
-that provides another value for the same field. The typeflag g
|
|
|
-global headers should not be used with interchange media that
|
|
|
+ Represents global extended header records for the following
|
|
|
+files in the archive. Each value shall affect all subsequent files
|
|
|
+that do not override that value in their own extended header
|
|
|
+record and until another global extended header record is reached
|
|
|
+that provides another value for the same field. The typeflag g
|
|
|
+global headers should not be used with interchange media that
|
|
|
could suffer partial data loss in transporting the archive.
|
|
|
|
|
|
-For both of these types, the size field shall be the size of the
|
|
|
-extended header records in octets. The other fields in the header
|
|
|
-block are not meaningful to this version of the pax utility.
|
|
|
-However, if this archive is read by a pax utility conforming to
|
|
|
-the ISO POSIX-2:1993 standard, the header block fields are used to
|
|
|
-create a regular file that contains the extended header records as
|
|
|
-data. Therefore, header block field values should be selected to
|
|
|
+For both of these types, the size field shall be the size of the
|
|
|
+extended header records in octets. The other fields in the header
|
|
|
+block are not meaningful to this version of the pax utility.
|
|
|
+However, if this archive is read by a pax utility conforming to
|
|
|
+the ISO POSIX-2:1993 standard, the header block fields are used to
|
|
|
+create a regular file that contains the extended header records as
|
|
|
+data. Therefore, header block field values should be selected to
|
|
|
provide reasonable file access to this regular file.
|
|
|
|
|
|
-A further difference from the ustar header block is that data
|
|
|
-blocks for files of typeflag 1 (the digit one) (hard link) may be
|
|
|
-included, which means that the size field may be greater than
|
|
|
+A further difference from the ustar header block is that data
|
|
|
+blocks for files of typeflag 1 (the digit one) (hard link) may be
|
|
|
+included, which means that the size field may be greater than
|
|
|
zero.
|
|
|
|
|
|
pax Extended Header
|
|
|
|
|
|
-An extended header shall consist of one or more records, each
|
|
|
+An extended header shall consist of one or more records, each
|
|
|
constructed as follows:
|
|
|
|
|
|
"%d %s=%s\n", <length>, <keyword>, <value>
|
|
|
|
|
|
-The <length> field shall be the decimal length of the extended
|
|
|
-header record in octets, including length string itself and the
|
|
|
+The <length> field shall be the decimal length of the extended
|
|
|
+header record in octets, including length string itself and the
|
|
|
trailing <newline>.
|
|
|
|
|
|
[skip]
|
|
|
|
|
|
atime
|
|
|
- The file access time for the following file(s), equivalent to
|
|
|
-the value of the st_atime member of the stat structure for a file,
|
|
|
-as described by the stat() function. The access time shall be
|
|
|
-restored if the process has the appropriate privilege required to
|
|
|
-do so. The format of the <value> shall be as described in pax
|
|
|
+ The file access time for the following file(s), equivalent to
|
|
|
+the value of the st_atime member of the stat structure for a file,
|
|
|
+as described by the stat() function. The access time shall be
|
|
|
+restored if the process has the appropriate privilege required to
|
|
|
+do so. The format of the <value> shall be as described in pax
|
|
|
Extended Header File Times.
|
|
|
|
|
|
charset
|
|
|
- The name of the character set used to encode the data in the
|
|
|
+ The name of the character set used to encode the data in the
|
|
|
following file(s).
|
|
|
|
|
|
- The encoding is included in an extended header for information
|
|
|
-only; when pax is used as described in IEEE Std 1003.1-2001, it
|
|
|
-shall not translate the file data into any other encoding. The
|
|
|
+ The encoding is included in an extended header for information
|
|
|
+only; when pax is used as described in IEEE Std 1003.1-2001, it
|
|
|
+shall not translate the file data into any other encoding. The
|
|
|
BINARY entry indicates unencoded binary data.
|
|
|
|
|
|
- When used in write or copy mode, it is implementation-defined
|
|
|
+ When used in write or copy mode, it is implementation-defined
|
|
|
whether pax includes a charset extended header record for a file.
|
|
|
|
|
|
comment
|
|
|
- A series of characters used as a comment. All characters in
|
|
|
+ A series of characters used as a comment. All characters in
|
|
|
the <value> field shall be ignored by pax.
|
|
|
|
|
|
gid
|
|
|
- The group ID of the group that owns the file, expressed as a
|
|
|
-decimal number using digits from the ISO/IEC 646:1991 standard.
|
|
|
-This record shall override the gid field in the following header
|
|
|
-block(s). When used in write or copy mode, pax shall include a gid
|
|
|
-extended header record for each file whose group ID is greater
|
|
|
+ The group ID of the group that owns the file, expressed as a
|
|
|
+decimal number using digits from the ISO/IEC 646:1991 standard.
|
|
|
+This record shall override the gid field in the following header
|
|
|
+block(s). When used in write or copy mode, pax shall include a gid
|
|
|
+extended header record for each file whose group ID is greater
|
|
|
than 2097151 (octal 7777777).
|
|
|
|
|
|
gname
|
|
|
- The group of the file(s), formatted as a group name in the
|
|
|
-group database. This record shall override the gid and gname
|
|
|
-fields in the following header block(s), and any gid extended
|
|
|
-header record. When used in read, copy, or list mode, pax shall
|
|
|
-translate the name from the UTF-8 encoding in the header record to
|
|
|
-the character set appropriate for the group database on the
|
|
|
-receiving system. If any of the UTF-8 characters cannot be
|
|
|
-translated, and if the -o invalid= UTF-8 option is not specified,
|
|
|
-the results are implementation-defined. When used in write or copy
|
|
|
-mode, pax shall include a gname extended header record for each
|
|
|
-file whose group name cannot be represented entirely with the
|
|
|
+ The group of the file(s), formatted as a group name in the
|
|
|
+group database. This record shall override the gid and gname
|
|
|
+fields in the following header block(s), and any gid extended
|
|
|
+header record. When used in read, copy, or list mode, pax shall
|
|
|
+translate the name from the UTF-8 encoding in the header record to
|
|
|
+the character set appropriate for the group database on the
|
|
|
+receiving system. If any of the UTF-8 characters cannot be
|
|
|
+translated, and if the -o invalid= UTF-8 option is not specified,
|
|
|
+the results are implementation-defined. When used in write or copy
|
|
|
+mode, pax shall include a gname extended header record for each
|
|
|
+file whose group name cannot be represented entirely with the
|
|
|
letters and digits of the portable character set.
|
|
|
|
|
|
linkpath
|
|
|
- The pathname of a link being created to another file, of any
|
|
|
-type, previously archived. This record shall override the linkname
|
|
|
-field in the following ustar header block(s). The following ustar
|
|
|
-header block shall determine the type of link created. If typeflag
|
|
|
-of the following header block is 1, it shall be a hard link. If
|
|
|
-typeflag is 2, it shall be a symbolic link and the linkpath value
|
|
|
-shall be the contents of the symbolic link. The pax utility shall
|
|
|
-translate the name of the link (contents of the symbolic link)
|
|
|
-from the UTF-8 encoding to the character set appropriate for the
|
|
|
-local file system. When used in write or copy mode, pax shall
|
|
|
-include a linkpath extended header record for each link whose
|
|
|
-pathname cannot be represented entirely with the members of the
|
|
|
+ The pathname of a link being created to another file, of any
|
|
|
+type, previously archived. This record shall override the linkname
|
|
|
+field in the following ustar header block(s). The following ustar
|
|
|
+header block shall determine the type of link created. If typeflag
|
|
|
+of the following header block is 1, it shall be a hard link. If
|
|
|
+typeflag is 2, it shall be a symbolic link and the linkpath value
|
|
|
+shall be the contents of the symbolic link. The pax utility shall
|
|
|
+translate the name of the link (contents of the symbolic link)
|
|
|
+from the UTF-8 encoding to the character set appropriate for the
|
|
|
+local file system. When used in write or copy mode, pax shall
|
|
|
+include a linkpath extended header record for each link whose
|
|
|
+pathname cannot be represented entirely with the members of the
|
|
|
portable character set other than NUL.
|
|
|
|
|
|
mtime
|
|
|
- The file modification time of the following file(s),
|
|
|
-equivalent to the value of the st_mtime member of the stat
|
|
|
-structure for a file, as described in the stat() function. This
|
|
|
-record shall override the mtime field in the following header
|
|
|
-block(s). The modification time shall be restored if the process
|
|
|
-has the appropriate privilege required to do so. The format of the
|
|
|
+ The file modification time of the following file(s),
|
|
|
+equivalent to the value of the st_mtime member of the stat
|
|
|
+structure for a file, as described in the stat() function. This
|
|
|
+record shall override the mtime field in the following header
|
|
|
+block(s). The modification time shall be restored if the process
|
|
|
+has the appropriate privilege required to do so. The format of the
|
|
|
<value> shall be as described in pax Extended Header File Times.
|
|
|
|
|
|
path
|
|
|
- The pathname of the following file(s). This record shall
|
|
|
-override the name and prefix fields in the following header
|
|
|
-block(s). The pax utility shall translate the pathname of the file
|
|
|
-from the UTF-8 encoding to the character set appropriate for the
|
|
|
+ The pathname of the following file(s). This record shall
|
|
|
+override the name and prefix fields in the following header
|
|
|
+block(s). The pax utility shall translate the pathname of the file
|
|
|
+from the UTF-8 encoding to the character set appropriate for the
|
|
|
local file system.
|
|
|
|
|
|
- When used in write or copy mode, pax shall include a path
|
|
|
-extended header record for each file whose pathname cannot be
|
|
|
-represented entirely with the members of the portable character
|
|
|
+ When used in write or copy mode, pax shall include a path
|
|
|
+extended header record for each file whose pathname cannot be
|
|
|
+represented entirely with the members of the portable character
|
|
|
set other than NUL.
|
|
|
|
|
|
realtime.any
|
|
|
- The keywords prefixed by "realtime." are reserved for future
|
|
|
+ The keywords prefixed by "realtime." are reserved for future
|
|
|
standardization.
|
|
|
|
|
|
security.any
|
|
|
- The keywords prefixed by "security." are reserved for future
|
|
|
+ The keywords prefixed by "security." are reserved for future
|
|
|
standardization.
|
|
|
|
|
|
size
|
|
|
- The size of the file in octets, expressed as a decimal number
|
|
|
-using digits from the ISO/IEC 646:1991 standard. This record shall
|
|
|
-override the size field in the following header block(s). When
|
|
|
-used in write or copy mode, pax shall include a size extended
|
|
|
-header record for each file with a size value greater than
|
|
|
+ The size of the file in octets, expressed as a decimal number
|
|
|
+using digits from the ISO/IEC 646:1991 standard. This record shall
|
|
|
+override the size field in the following header block(s). When
|
|
|
+used in write or copy mode, pax shall include a size extended
|
|
|
+header record for each file with a size value greater than
|
|
|
8589934591 (octal 77777777777).
|
|
|
|
|
|
uid
|
|
|
- The user ID of the file owner, expressed as a decimal number
|
|
|
-using digits from the ISO/IEC 646:1991 standard. This record shall
|
|
|
-override the uid field in the following header block(s). When used
|
|
|
-in write or copy mode, pax shall include a uid extended header
|
|
|
-record for each file whose owner ID is greater than 2097151 (octal
|
|
|
+ The user ID of the file owner, expressed as a decimal number
|
|
|
+using digits from the ISO/IEC 646:1991 standard. This record shall
|
|
|
+override the uid field in the following header block(s). When used
|
|
|
+in write or copy mode, pax shall include a uid extended header
|
|
|
+record for each file whose owner ID is greater than 2097151 (octal
|
|
|
7777777).
|
|
|
|
|
|
uname
|
|
|
- The owner of the following file(s), formatted as a user name
|
|
|
-in the user database. This record shall override the uid and uname
|
|
|
-fields in the following header block(s), and any uid extended
|
|
|
-header record. When used in read, copy, or list mode, pax shall
|
|
|
-translate the name from the UTF-8 encoding in the header record to
|
|
|
-the character set appropriate for the user database on the
|
|
|
-receiving system. If any of the UTF-8 characters cannot be
|
|
|
-translated, and if the -o invalid= UTF-8 option is not specified,
|
|
|
-the results are implementation-defined. When used in write or copy
|
|
|
-mode, pax shall include a uname extended header record for each
|
|
|
-file whose user name cannot be represented entirely with the
|
|
|
+ The owner of the following file(s), formatted as a user name
|
|
|
+in the user database. This record shall override the uid and uname
|
|
|
+fields in the following header block(s), and any uid extended
|
|
|
+header record. When used in read, copy, or list mode, pax shall
|
|
|
+translate the name from the UTF-8 encoding in the header record to
|
|
|
+the character set appropriate for the user database on the
|
|
|
+receiving system. If any of the UTF-8 characters cannot be
|
|
|
+translated, and if the -o invalid= UTF-8 option is not specified,
|
|
|
+the results are implementation-defined. When used in write or copy
|
|
|
+mode, pax shall include a uname extended header record for each
|
|
|
+file whose user name cannot be represented entirely with the
|
|
|
letters and digits of the portable character set.
|
|
|
|
|
|
-If the <value> field is zero length, it shall delete any header
|
|
|
-block field, previously entered extended header value, or global
|
|
|
+If the <value> field is zero length, it shall delete any header
|
|
|
+block field, previously entered extended header value, or global
|
|
|
extended header value of the same name.
|
|
|
|
|
|
-If a keyword in an extended header record (or in a -o
|
|
|
-option-argument) overrides or deletes a corresponding field in the
|
|
|
-ustar header block, pax shall ignore the contents of that header
|
|
|
+If a keyword in an extended header record (or in a -o
|
|
|
+option-argument) overrides or deletes a corresponding field in the
|
|
|
+ustar header block, pax shall ignore the contents of that header
|
|
|
block field.
|
|
|
|
|
|
-Unlike the ustar header block fields, NULs shall not delimit
|
|
|
-<value>s; all characters within the <value> field shall be
|
|
|
-considered data for the field. None of the length limitations of
|
|
|
-the ustar header block fields in ustar Header Block shall apply to
|
|
|
+Unlike the ustar header block fields, NULs shall not delimit
|
|
|
+<value>s; all characters within the <value> field shall be
|
|
|
+considered data for the field. None of the length limitations of
|
|
|
+the ustar header block fields in ustar Header Block shall apply to
|
|
|
the extended header records.
|
|
|
|
|
|
pax Extended Header File Times
|
|
|
|
|
|
-Time records shall be formatted as a decimal representation of the
|
|
|
-time in seconds since the Epoch. If a period ( '.' ) decimal point
|
|
|
-character is present, the digits to the right of the point shall
|
|
|
-represent the units of a subsecond timing granularity. In read or
|
|
|
-copy mode, the pax utility shall truncate the time of a file to
|
|
|
-the greatest value that is not greater than the input header
|
|
|
-file time. In write or copy mode, the pax utility shall output a
|
|
|
-time exactly if it can be represented exactly as a decimal number,
|
|
|
-and otherwise shall generate only enough digits so that the same
|
|
|
-time shall be recovered if the file is extracted on a system whose
|
|
|
+Time records shall be formatted as a decimal representation of the
|
|
|
+time in seconds since the Epoch. If a period ( '.' ) decimal point
|
|
|
+character is present, the digits to the right of the point shall
|
|
|
+represent the units of a subsecond timing granularity. In read or
|
|
|
+copy mode, the pax utility shall truncate the time of a file to
|
|
|
+the greatest value that is not greater than the input header
|
|
|
+file time. In write or copy mode, the pax utility shall output a
|
|
|
+time exactly if it can be represented exactly as a decimal number,
|
|
|
+and otherwise shall generate only enough digits so that the same
|
|
|
+time shall be recovered if the file is extracted on a system whose
|
|
|
underlying implementation supports the same time granularity.
|
|
|
|
|
|
Example from Linux kernel archive tarball:
|