[net.unix] problem with 'tar'

ljaspaert@euroies.UUCP ( Leuven) (03/10/86)

I am currently attempting to upgrade our local system to
release 1.4 of Sun UNIX.
The source code is on three cartridge tapes.
Unfortunately, however, using 'tar' to extract the files
from tape results in a 'directory checksum error' message
and the program halts. Using the '-i' switch (ignore such
errors) does not work.
I would be eternally grateful to any UNIX-maestros who
could suggest a solution for, or a way of getting round,
my problem.
Answers (?) to the above nets or preferably direct to
		Lieven Jaspaert
		address  ...!mcvax!euroies!ljaspaert
		(also on EuroKom)

Thanks in advance !

ljaspaert@euroies.UUCP ( Leuven) (03/13/86)

Many thanks for all the suggested solutions to my problem.
Unfortunately the problem is more obscure than selection of
correct device, using 'dump' instead ,...etc.
The source of my 1.4_upgrade is three cartridge tapes. I can
successfully extract the files from two of them using the
command : 'tar -xif /dev/rst0'.
It is however impossible to read the third (and most important)
tape due to numerous 'directory checksum error' messages - this
is despite the '-i' switch which should ignore such errors.
It is rather a puzzle ... I wonder if anyone has any ideas ?
Once again, thanks for all your help to date.

mcgrew@topaz.RUTGERS.EDU (Charles) (03/14/86)

Hi,

   The problem is that Sun tends to put copywrite notice files on the
beginning of their source tapes.  Load the tape and do this:

   mt -f /dev/nrst0 fsf 1

... this will forward-space past the tiny copywrite file and position
you to use tar normally on the tar file, which is the second file on
the tape (that's all there is on the tape, just the copywrite and the
tar file).  Note you have to use /dev/nrst0 (the no-rewind option),
rather than /dev/rst0.  The copywrite files are on the beginning of
each of the tapes, so you'll have to do it for each tape.

Charles

bzs@bu-cs.UUCP (Barry Shein) (03/17/86)

>It is however impossible to read the third (and most important)
>tape due to numerous 'directory checksum error' messages - this
>is despite the '-i' switch which should ignore such errors.
>It is rather a puzzle ... I wonder if anyone has any ideas ?
>Once again, thanks for all your help to date.

I know I am often accused of having "a keen eye for the obvious" but
have you considered the possibility that you have a directory checksum
error? (like, maybe try to get another copy of the tape.) I would also
try to get a newer version of tar (you speak of *upgrading* to SUN/1.4,
sounds old to me), or maybe trying to 'dd' the file to disk and looking
at it, maybe someone scribbled over your tape and put it back on the
shelf? If you have source to tar I would grab a copy and put some choice
traces into it. Also, maybe just try using 'od -c' on the tape (or whatever
flags you find appropriate) perhaps as a backend to a 'dd' to read in by
proper block sizes (and maybe put 'more' at the other end.) In other
words, at this point I would begin to suspect either the tape or the
version of tar you are using (maybe some clown replaced your tar with
an 'echo directory checksum error' script :-)

	-Barry Shein, Boston University

well, it was a thought...

trent@cit-vax.Caltech.Edu (Ray Trent) (03/19/86)

Organization : California Institute of Technology
Keywords: 

[This space for rent]

>It is however impossible to read the third (and most important)
>tape due to numerous 'directory checksum error' messages - this
>is despite the '-i' switch which should ignore such errors.
>It is rather a puzzle ... I wonder if anyone has any ideas ?
>Once again, thanks for all your help to date.

Does anyone out there know what happens if you run tar on a
'compress'ed tar file? You get 'directory checksum error's.
(some people compress, pack or otherwise compact their tar files
before sending them to save space.  I've even gotten files that
were compressed without being documented as such. Imagine that.)

Just a thought...

(I posted this instead of mailing it because my reply bounced
earlier. We seem to have a bug here in auto-replying to UUCP
hosts.)
-- 
						../ray\..

gwyn@brl-smoke.ARPA (Doug Gwyn ) (03/20/86)

I've seen some versions of "tar" report "directory checksum error"
when they were instructed to read from a block magtape device
rather than a raw device, or when they otherwise got confused
about the blocksize.  The former usually occurs when the "f" option
is not used.  The latter situation can normally be fixed by using
the "b" flag (WARNING: the order of "b" and "f" is critical in
some versions of "tar") or by piping from a "dd" whose "if" is
set to the tape blocksize.  Most "tar" tapes I have encountered
were either: 10240-byte blocks, 512-byte blocks, 5120-byte
blocks, or 1024-byte blocks (in descending order of frequency).

Try experimenting with "f" and "b" options as suggested herein.

P.S.  I think I finally have a properly-working UNIX System V
(Release 2.0) "tar"; if you got one from me before 05-Aug-1985,
drop me a note and I'll be glad to mail you the new version.