How to Read IBM Standard Label Tapes
Robert T. Neece
rtn at ncsu.UUCP
Wed Oct 24 01:28:38 AEST 1984
In response to my request for help in reading IBM standard
label tapes, I received as much sympathy as advice so I thought I
ought to post a follow-up. If you are holding an IBM SL tape the
following directions should help you to read it.
Tape Density
You must know your tape density (for example 1600 bpi), and
it must be compatible with the tape drive you plan to use. Ask
your system manager which tape interface is correct for your tape
density. You need to use a nonrewind raw magnetic tape drive in-
terface. You can list the raw mag tape drive interfaces with:
ls -l /dev/*rmt*
You want to use an interface like /dev/nrmt#, where # is the
correct minor number for the tape density you are using.
Tape Format
IBM SL tape format includes a header (HDR) and a trailer
(EOF) file for each of your files on the tape. Since your files
lie between these tape marks, your Nth file is the (3N-1)th phy-
sical file on the tape. The HDR and EOF files can be skipped
over, or read. They can be useful since they contain information
about the file that they delimit. A sample tape mark follows:
VOL1N006070 NEECE
HDR1AC.FORT.MAIN N0060700010001 84291 000000000000IBM OS/VS 370
HDR2F045600008030LDTP1 /G B 82167
This is the HDR file for my file ac.fort.main on tape N00607.
The blocksize (blksize) is 4560 and the logical record length
(lrecl) is 80.
File Format
In order to read your files you must know if the tape is
ebcdic or ascii, or whatever. I was warned by several people
that IBM is notorious for using nonstandard forms of ebcdic. I
did not have any problems with this, but you should be aware of
the possibility. You should also know the blksize and lrecl of
your files, but this can be read from the tape marks.
Moving Around
If you don't want to read all the tape marks and files you
can use mt to move around on the tape. For example:
mt -f /dev/nrmt# fsf 5
will skip 5 files. If you need to backspace, mt will leave you
at the end of a file, so you should backspace one more file than
you want to move and then do a dummy read operation to get to the
desired file (more on this later).
Reading Files
Files are easily read using dd. A sample usage follows:
dd conv=ascii cbs=80 ibs=3600 </dev/nrmt0 >$1
I used this as a macro to read tapemarks and some files. The
conversion is ebcdic to ascii, /dev/nrmt0 is the 1600 bpi tape
interface here, and $1 is a file name or can be allowed to de-
fault to the standard output. This macro was also useful as a
dummy read to help position the tape after backspacing. In order
to read your files use something like this:
dd conv=ascii cbs="lrecl" ibs="blksize" </dev/nrmt# >"afile"
If you have trouble with the ebcdic translation, try conv=ibm.
If that doesn't work you may have to process your files to get
the correct translation.
I wish you the best of luck, and I extend my thanks to all
the kind people that helped me.
Robert T. Neece
NCSU
More information about the Comp.unix
mailing list