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.
Go to the first, previous, next, last section, table of contents.