[Sunhelp] SunOS 4.1.3 & long file names & tar
James Lockwood
lockwood at ISI.EDU
Mon Nov 22 20:42:42 CST 1999
On Fri, 19 Nov 1999, Gregory Leblanc wrote:
> Can somebody explain how it "breaks" the "standard"? I just tried to untar
> the sgmltools source on Solaris7 and it didn't work, but when I used the
> gnu-tar that I just compiled it worked fine. I'd sort of like to see what I
(from README.otherbugs included with the star distribution)
4) gnutar
Claims not to be conforming to Posix 1003.1. (gnu is not tar)
- Many bugs in implementation and design.
(e.g. when handling/creating multi volume archives)
- The second logical EOF block in GNU-tar archives is missing
with a 50% chance.
This will cause correctly working tar implementations to complain
about an illegal/missing EOF in the tar archive.
- Deeply nested directory trees will not be dumped:
Error message is: Too many open files
(This is a similar implementation bug as found in Solaris tar
with the /dev/fd loop)
- Hard links with long names to files with long names do not work.
- GNU-tar cannot read Posix compliant tar archives with
long file names if the filename prefix it at least 138 characters.
GNU-tar will think that it found an extended sparse GNU tar archive
and get out of sync for the rest of the archive.
See --sparse design bug description below.
- Option --sparse produces archives which cannot be read by any
other tar implementation known to me (except star), because
they will get "out of sync".
Posix 1003.1 conforming tar archives let gnutar get "out of sync"
even if the --portability option is used (see above).
This is a severe design bug in GNU-tar.
Description:
The size field in a tar archive cannot reflect the
real size of a sparse file to have compatibility to
other implementations (this is also true for "star" archives).
If the "sparse" file contains more than 4 holes,
the "size" field in the GNU-tar control block does not
reflect the total size of the (shrunk) sparse file in the archive
because it does not count the 'sparse' extension headers.
Posix conformant archives that use the name prefix field with more than
137 characters will have a value != 0 on a field that
that makes gnutar believe that such an extension
header is present - GNU-tar will get out of sync.
Note: The general rule for any tar is that it should
be able to read any "tar" compliant data stream with
the exception that enhancements to the standard
only will fail on the files that contain the extension.
Those files should be extracted as if they were
regular files.
Note: I do not recommend GNU tar as an exchange format.
Use star -Hustar for maximum portability instead.
-James
More information about the SunHELP
mailing list