The Question is:
OpenVMS Version: All
Re: tar and tape media interchange
Neither UN*X nor AIX supports ANSI labelled tapes natively. For tar to
be able to read tapes written on other systems, in general, the tape format
must conform to the appropriate RFCs. In specific, the following should be
successful for writing a tar tape that UN*X or AIX can read:
1. Use VMStar to write a disk archive. The archive file should end up
being Fixed-512. If not, use SET FILE/ATTRIB=(RFM=FIX,LRL=512). tar
will handle the data on the tape when it reads it, even if it includes
embedded LFs (that's UN*Xs "newline" character, after all).
2. INIT the tape as usual, but be sure to omit the /MEDIA_FORMAT
qualifier (or specify /MEDIA=NOCOMPACT).
3. Use MOUNT/FOREIGN to mount the tape. The default blocksize is
documented as 512 bytes, but you can help ensure this by specifying
/BLOCK=512 on the MOUNT. (Actually, UN*X tar likes a 1024 byte record
size, but you can experiment with this.)
4. Use the COPY command to write the tar archive to the tape. Note that
the archive must fit on a single tape when using this method.
That *SHOULD* produce a usable tar tape. If not, try writing the tape
directly from tar, and adjust the /BLOCKSIZE qualifier value as
needed (512 or 1024), but BE SURE TO MOUNT IT /FOREIGN to avoid
having a labelled tape!
Hope this helps.
David J. Dachtera
dba DJE Systems
The Answer is :
The OpenVMS Wizard has found tar to be a common choice, but also a
rather poor substitute for a reliable tape interchange scheme or a
data archiving mechanism. (Traditionally, tar simply "falls over"
on an error. Implementations of tar that the OpenVMS Wizard is
familiar with also lack any form of error checking or redundency
on the user data.)
If the archive or the FTP transfer corrupts the file attributes of
a file that is a BACKUP saveset, fhe Freeware command procedure
RESET_BACKUP_SAVESET_ATTRIBUTES.COM -- referenced in the OpenVMS
FAQ -- will be of interest. (Direct use of SET FILE with the correct
file attributes will clearly also work, but this command procedure
will read the BACKUP saveset's own block size as part of issuing the
SET FILE/ATTRIBUTES command.)