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-xxx ], 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 [ http://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 http://meteora.ucsd.edu/~pierce/linux_tape.html and http://aplawrence.com/Unixart/tapes.html#compat also.
More Articles by Rob Fantini
/Linux/tapeblock.html copyright January 2003 Rob Fantini All Rights Reserved
Have you tried Searching this site?
Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates
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. We appreciate comments and article submissions.
Many of the products and books I review are things I purchased for my own use. Some were given to me specifically for the purpose of reviewing them. I resell or can earn commissions from the sale of some of these items. Links within these pages may be affiliate links that pay me for referring you to them. That's mostly insignificant amounts of money; whenever it is not I have made my relationship plain. I also may own stock in companies mentioned here. If you have any question, please do feel free to contact me.
Specific links that take you to pages that allow you to purchase the item I reviewed are very likely to pay me a commission. Many of the books I review were given to me by the publishers specifically for the purpose of writing a review. These gifts and referral fees do not affect my opinions; I often give bad reviews anyway.
We use Google third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.
Click here to add your comments
---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: Subject: anonymous
--blocking-factor=128 worked for me on some backups that were made with lone-tar! thanks much!
Don't miss responses! Subscribe to Comments by RSS or by Email
Click here to add your comments
If you want a picture to show with your comment, go get a Gravatar