By Rob Fantini
This is the problem & a solution from the time I had to read some old SCO tapes on a Linux 2.4 system. I also ran into the same problem with tapes created on a 2.2 kernel linux. This might be useful for someone someday.
The old tapes were written with an HP dds drive, which used variable blocking. I curently use an IBM dds-4 dat [ it is made by Seagate I assume, as /proc/scsi/scsi lists it as SEAGATE 06240-xyz ], which used fixed blocks.
There is a change in 2.4 versions of linux I'm using [mandrake and redhat] which make reading the old tapes impossible [for me].
When I try:
I get this error:
tar: /dev/st0: Cannot read: Cannot allocate memory tar: At beginning of tape, quitting now tar: Error is not recoverable: exiting now
If I adjust the software block size in tar, I get the same error.
I get a similiar error if I try 'dd' . /tar/tvf /dev/st0 [without any block size manipulation] gets the error.
To get the files off of the tape, I used 'toms root boot' disk [ https://www.toms.net/rb/ ] to boot the computer. It uses a 2.2 kernel I think, and a different tar program or tape driver. I'm not sure why it worked but it did.
works.
I can set the block size of the tape drive to 0 and use tar if the tape was originally made using my current ibm dds drive. I won't get the 'Cannot allocate memory' error.
Editor's note: see https://meteora.ucsd.edu/~pierce/linux_tape.html and
https://aplawrence.com/Unixart/tapes.html#compat also.
Got something to add? Send me email.
More Articles by Rob Fantini © 2012-07-07 Rob Fantini
Get your facts first, and then you can distort them as much as you please. (Mark Twain)
---September 28, 2004
THANKS MUCH! It works exactly as you described. Ive been working on getting the data from these old SCO tapes for nearly a week straight.
---January 19, 2005
I haven't tried the method above yet, but I just may to see if it is any faster than what I am currently doing. My tapes were created under SCO OpenServer 5.0.7 with an HP DAT24 drive. The following works on SuSE 9.2 kernel 2.6.8-24.10: Add '--blocking-factor=128' to your 'tar' command string, ie: tar -t --blocking-factor=128 -v -f /dev/st0
Wed Mar 23 00:17:47 2005: 225 anonymous
--blocking-factor=128 worked for me on some backups that were made with lone-tar! thanks much!
------------------------
Printer Friendly Version
Reading SCO tapes on Linux Copyright © January 2003 Rob Fantini
Have you tried Searching this site?
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.
Contact us
Printer Friendly Version