> But when I try to actually read a tape I get errors
 > Here are examples of the tape read commands, there are many variations one
 > can try:
 > dd if=/dev/nst0 of=block1.bin
 > dd if=dev/nst0 of /dev/null bs=1024
 > etc

 > I would open a 2nd window and run the following command to view the system
 > messages while the dd program is running
 > dmesg | tail -50
 > result example:
 > [ 1802.404408] st0: Failed to read 1326 byte block with 1024 byte transfer.
 > [ 1813.881884] st0: Failed to read 3846 byte block with 1024 byte transfer

Two things:

1. If you `setblk 0` and use a large enough ibs= with dd, it'll read
variable block sizes just fine.

2. DON'T ARCHIVE VARIABLE BLOCKED TAPES WITH DD!!!!  It throws away
information.  Use a tool that preserves the block sizes.  E.g.:

https://github.com/brouhaha/tapeutils

De

Reply via email to