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
accept 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 compute 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.
Published under the terms of the GNU General Public License