(tar.info.gz) Checksumming
Info Catalog
(tar.info.gz) posix
(tar.info.gz) Portability
(tar.info.gz) Large or Negative Values
8.3.8 Checksumming Problems
---------------------------
SunOS and HP-UX `tar' fail to accept archives created using GNU `tar'
and containing non-ASCII file names, that is, file names having
characters with the eight bit set, because they use signed checksums,
while GNU `tar' uses unsigned checksums while creating archives, as per
POSIX standards. On reading, GNU `tar' computes both checksums and
accepts any. It is somewhat worrying that a lot of people may go
around doing backup of their files using faulty (or at least
non-standard) software, not learning about it until it's time to
restore their missing files with an incompatible file extractor, or
vice versa.
GNU `tar' computes checksums both ways, and accept any on read, so
GNU tar can read Sun tapes even with their wrong checksums. GNU `tar'
produces the standard checksum, however, raising incompatibilities with
Sun. That is to say, GNU `tar' has not been modified to _produce_
incorrect archives to be read by buggy `tar''s. I've been told that
more recent Sun `tar' now read standard archives, so maybe Sun did a
similar patch, after all?
The story seems to be that when Sun first imported `tar' sources on
their system, they recompiled it without realizing that the checksums
were computed differently, because of a change in the default signing
of `char''s in their compiler. So they started computing checksums
wrongly. When they later realized their mistake, they merely decided
to stay compatible with it, and with themselves afterwards.
Presumably, but I do not really know, HP-UX has chosen that their `tar'
archives to be compatible with Sun's. The current standards do not
favor Sun `tar' format. In any case, it now falls on the shoulders of
SunOS and HP-UX users to get a `tar' able to read the good archives
they receive.
Info Catalog
(tar.info.gz) posix
(tar.info.gz) Portability
(tar.info.gz) Large or Negative Values
automatically generated by
info2html