1753461 Members
4844 Online
108794 Solutions
New Discussion юеВ

Archive error

 

Archive error

I archived some files to a tape with the
tar -cvf /dev/rmt/0m *.*

When i check the archive with
tar -tvf /dev/rmt/0m
it gives the following error:

Tar: blocksize = 2
directory checksum error

I appreciate if someone could explain the
cause of this error. Thanks.
Knowledge grows with Sharing
6 REPLIES 6
Joseph C. Denman
Honored Contributor

Re: Archive error

I normally get the error when I am using a bad tape.

Things to try.

1. Try a different tape.
2. clean the drive.
If I had only read the instructions first??
Carlos Fernandez Riera
Honored Contributor

Re: Archive error


do:

mt -t /dev/rmt/0m rew
dd if=/dev/rmt/0mn of=/tmp/f1 bs=10k count=10

file /tmp/f1

This will show how format of archived have you used.

Also you will try tar or cpio with f1.

unsupported
Frederic Soriano
Honored Contributor

Re: Archive error

Milan,

Here are the full detailed list of tar exit codes:

Code | Explanation
---------------

exit(0) | no error and no warning

exit(1) | tar: cannot create temporary file (%s)
| Invalid blocksize. (Max %d)
| tar: blocksize %d too big, can't get memory
| tar: Invalid or non-existent device file %s
| Can only create standard output archives
| tar: cannot open %s
| tar: option not supported for this device %s
| tar: cannot write to %s: write protected
| tar: usage tar [-]{txruc}[eONvVwAfblhm{op}][0-7[lmh]]..
| Attempt to create archive of no files. Nothing dumped.
| tar: cannot preserve extent attributes for %s. aborting...
| tar: cannot create temporary file (%s)
| Invalid blocksize. (Max %d)
| tar: blocksize %d too big, can't get memory
| tar: Invalid or non-existent device file %s
| Can only create standard output archives
exit(2) | directory checksum error
| tar: %s: HELP - extract write error
| tar: Cannot close %s
| tar: tape write error

exit(3) | tar: tape read error
| tar: tape blocksize error
| tar: blocksize = 0; broken pipe?
| tar: error! blocksize changed

exit(4) | tar: tape backspace error
| tar: ioctl to write filemarks failed (%d). aborting...
| tar: ioctl to determine device online failed. aborting...

exit(5) | tar: %s: pathname too long
| tar: Cannot change directory to '%s'
| tar: Path '%s' skipped
| tar: cannot open %s Missing links to %s
| tar: %s: cannot access file
| tar: Out of memory. Cannot detect symbolic link loops
| tar: Loop of symbolic links detected, tar terminated
| tar: cannot stat %s. Not dumped.
| tar: Size of %s > %s. Not dumped.
| tar: %s: directory read error
| tar: %s: directory read error
| tar: %s: symbolic link too long
| tar: can't read symbolic link
| tar: %s: cannot open file
| tar: %s: link to name too long
| Out of memory. Link information lost
| %s: file changed size
| tar: %s is not a file. Not dumped.
| tar: %s: symbolic link failed %s: cannot link
| tar: %s couldn't create character device
| tar: %s couldn't create block device
| tar: %s couldn't create fifo
| tar: %s couldn't create directory
| tar: %s couldn't create directory
| tar: %s - cannot create
| tar: chmod failed
| tar: chown failed
| tar: couldn't get uname for uid %d
| tar: couldn't get gname for gid %d
| tar: pwd failed
| tar: %s: pathname too long
| tar: %s: prefix too long
| tar: %s: file name too long %s: file name too long

Note that errcode 5 is considered as non-fatal, and thus can be treated separately (or ignored) in your backup scripts.

I hope this helps.

Best regards.

Fred.

Re: Archive error

Carlos,
In the /tmp/f1 file following message appeared:
$ANSII standard label not yet implemented

Does it specify any formatting correction?
Thanks.
Knowledge grows with Sharing
Carlos Fernandez Riera
Honored Contributor

Re: Archive error

I have found similar mesages a lot of time ago.

In this case the response from driver delay for minutes?

Some tapes seems to be damaged even if they are news.

Use a cleanning tape and retry w/ other old or new tape.
unsupported
Bruce Regittko_1
Esteemed Contributor

Re: Archive error

Hi,

I wonder if the problem may be with your command itself:

tar -cvf /dev/rmt/0m *.*

The pattern *.* on the Unix command line has a different meaning than on DOS. Remember that on Unix, a period in a file's name has no special meaning (unless it is the first character, which make the file a hidden file). Thus, *.* will only find files that have a period as part of the name and not all files.

To tar up all files in the current directory, just use the period:

tar -cvf /dev/rmt/0m .

The period means "current directory", which will get all of your files. Alternatively, you can use * instead of . but that won't get your hidden files.

--Bruce
www.stratech.com/training