http://www.gnu.org/software/tar/manual/html_node/Checksumming.html
8.3.8 Checksumming Problems
SunOS and HP-UXtar
fail to accept archives created using GNU tar
and containing non-ASCII file names, that is, file names having characters with the eighth 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 either of them. 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 accepts either of them 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 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.
댓글 없음:
댓글 쓰기