I'm new using unix/linux and I have a sdlt tape wich has 2 segy files. I realise the tape isn't tar so when I use dd if=/dev/rmt/bn of=filename bs=100000 to get the files after 10 Gb for file 1 an error message appear I/O error and I'm sure that I didn't get completly the first file also I'm using mt ../ rew and mt ../*n fsf no rewind to navigate through the tape. Is there any command to get the files without error message? I need your help, please.
Ps: I have a list of tape content with ebcdic header, binary header,.. like this:
The only other way I know of to get files to tape is to (1) use tar (2) use cpio (3) write blocks using dd. Utilities like dump build some kind of internal archive and write in blocks like dd does. So it maybe that one of these tools was used to write to the tape.
By the way, that's a strange blocksize. (bs=100000) that you have. Do you know it's correct? It could be the I/O error occurs because the blocksize is incorrect. Usually blocksizes are in multiples of megabytes or gigabytes. (SDLT drives can have up to 1 gb block sizes). There may also be variable block sizes, bu t I'm not sure how to deal with that, other than each file takes up one block (up to 1GB).
How do you know tar doesn't work? Did you try setting different blocksizes with tar?
Well, look, it's clear you have variable block sizes, or a very small block size. Use the data from tcopy to use dd to save the contents of the records onto disk, like this: