GNU Info

Info Node: (tar.info)Large or Negative Values

(tar.info)Large or Negative Values


Prev: Checksumming Up: Portability
Enter node , (file) or (file)node

Large or Negative Values
------------------------

   POSIX `tar' format uses fixed-sized unsigned octal strings to
represent numeric values.  User and group IDs and device major and
minor numbers have unsigned 21-bit representations, and file sizes and
times have unsigned 33-bit representations.  GNU `tar' generates POSIX
representations when possible, but for values outside the POSIX range
it generates two's-complement base-256 strings: uids, gids, and device
numbers have signed 57-bit representations, and file sizes and times
have signed 89-bit representations.  These representations are an
extension to POSIX `tar' format, so they are not universally portable.

   The most common portability problems with out-of-range numeric values
are large files and future or negative time stamps.

   Portable archives should avoid members of 8 GB or larger, as POSIX
`tar' format cannot represent them.

   Portable archives should avoid time stamps from the future.  POSIX
`tar' format can represent time stamps in the range 1970-01-01 00:00:00
through 2242-03-16 12:56:31 UTC.  However, many current hosts use a
signed 32-bit `time_t', or internal time stamp format, and cannot
represent time stamps after 2038-01-19 03:14:07 UTC; so portable
archives must avoid these time stamps for many years to come.

   Portable archives should also avoid time stamps before 1970.  These
time stamps are a common POSIX extension but their `time_t'
representations are negative.  Many traditional `tar' implementations
generate a two's complement representation for negative time stamps
that assumes a signed 32-bit `time_t'; hence they generate archives
that are not portable to hosts with differing `time_t' representations.
GNU `tar' recognizes this situation when it is run on host with a
signed 32-bit `time_t', but it issues a warning, as these time stamps
are nonstandard and unportable.


automatically generated by info2www version 1.2.2.9