[comp.unix.questions] "tar | dd " question

mkhaw@teknowledge-vaxc.UUCP (06/14/87)

I often use a pipe like

	tar cBf - . | rsh remote dd of=/dev/rmt12 bs=20b

to make 9-track tapes from Unix hosts w/o local 9-track drives.  If I then
try to read the tape on a host with a local 9-track drive using just tar alone,
I get a directory checksum error or a diagnostic about blocksize (I forget
which it is).

Should I omit "bs=20b", use another value for blocking, or is there an
additional parameter I can give to 'dd' in the above pipe -- like "conv=unblock"
-- so that I won't have to use a "dd | tar x" pipe to read back from the tape?

By the way, when tar'ing (1) to 6250bpi 9-track, (2) over ethernet, are
there larger blocksizes I can use?  The Ultrix man file for tar claims
the default 20 blocks (of 512 bytes) is the maximum for 9 track tape, but
I've used 126b with no problem, like a lot of Sun s/w vendors do for 1/4 in.
tar cartridges.

Thanks,
Mike Khaw
-- 
internet:  mkhaw@teknowledge-vaxc.arpa
usenet:	   {hplabs|sun|ucbvax|decwrl|sri-unix}!mkhaw%teknowledge-vaxc.arpa
USnail:	   Teknowledge Inc, 1850 Embarcadero Rd, POB 10119, Palo Alto, CA 94303

moore@ucbcad.UUCP (06/14/87)

Instead of
	tar cBf - . | rsh remote dd of=/dev/rmt12 bs=20b

use 
	tar cBf - . | rsh remote dd of=/dev/rmt12 obs=20b 

setting bs causes no reblocking to be done, the blocks written are the same 
size as the blocks read.  Unfortunately, your ethernet is fracturing your 
blocks, so your tape is getting fractured blocks as well.  Setting obs=20b
guarantees the tape blocks are all precisely 20b long.  You might want to set
ibs=20b as well, the default is 1b and probably (maybe?) inefficient.


	Peter Moore
	moore@ic.Berkeley.edu
	...!ucbvax!moore