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
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.
tar compute checksums both ways, and accept any on read,
so GNU tar can read Sun tapes even with their wrong checksums.
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
read standard archives, so maybe Sun did a similar patch, after all?
The story seems to be that when Sun first imported
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
tar able to read the good archives they receive.
Go to the first, previous, next, last section, table of contents.