ITEM: L1252L

problem reading tar tape from SCO unix


Question:

E: 3.2.5 model 340, 4mm tape drive

D: SCO unix box made a tar tape (they did not specify a block factor).
We have been trying to read this tape using the command "tar -tvf
/dev/rmt2" without success.  We have rewound the tape, and have tried
specifying block sizes of 0,1,20,512,1024.

Response:

Here are some procedures that will work for tape recovery at AIX 3.2

These procedures work for:
tar, cpio, and backup (name and inode).

These commands work best when either we can't change the block size of the tape drive or the block size is not known.
In some cases it is better to uses these methods of recovery instead of trying to figure out what block size the tape was created with.

3.2.3E  AND BELOW RECOVERY TRICKS
----------------------------------

A.  cpio (using the c flag) and tar recovery

      Set the block size on the tape drive to 0
    1.  chdev -l rmt\# -a block_size=0

       "If you don't do this you may get this error message:
        The system received a parameter that is not valid.     
        The block size for the tape drive configurations has
        be the same or a smaller multiple of the block size
        the tape was created with, when using the dd 
        command. I find that setting the block size to 
        variable length (0) works best.  If you get this 
        error message: Out of Memory... 
        Then the 'ibs' flag used with the dd command
        needs to be increased. This error message has
        nothing to do with the filesystem free space, but  
        with the "dd" internal buffers.  Instead of using           
        ibs=51200 try ibs=102400. with the dd commands synax"

    2.  dd if=/dev/rmt\# ibs=51200 | pax -vf-
        (Gives a table of contents)
        

B.  cpio (without using the c flag)

    1.  chdev -l rmt\# -a block_size=0
    2.  dd if=/dev/rmt\# ibs=51200 | cpio -itv
        (Gives a table of contents)

C.  Backup by name

   1.  chdev -l rmt\# -a block_size=0
   2.  dd if=/dev/rmt\# ibs=51200 | restore -Tvqf-
       (Gives a table of contents)

   NOTE: If you are in the maintenance mode and don't have 
         access to the restore command use this method.

   dd if=/dev/rmt\# ibs=51200 | restbyname -Tvf-
      (Gives a table of contents)

C.  Backup by Inode

   1.  chdev -l rmt\# -a block_size=0
   2.  dd if=/dev/rmt\# ibs=51200 | restore -Btvqf-
       (Gives a table of contents)

   NOTE: If you are in the maintenance mode and don't have 
         access to the restore command use this method.

   dd if=/dev/rmt\# ibs=51200 | restbyinode -Btvf-
   (Gives a table of contents)

3.2.4  AND HIGHER RECOVERY TRICKS
----------------------------------
NOTE: The above tricks can also be used at 3.2.4 and higher 
      without any problems.

A.  cpio (using the c flag) and tar recovery

        Set the block size on the tape drive to 0
    1.  chdev -l rmt\# -a block_size=0  (Optional)

        "You can leave the block size alone with the tctl
         command.  Most of the time the tctl command works 
         fine, but sometimes I have had problems with the 
         command. I had to change the block size to 0 to get 
         the command to work."

         NOTE: When using the tctl command, you cannot 
               Ctrl C out of the tctl command.  If you have   
               to stop the tctl process, and you have a 
               device that has a eject button you can push 
               that button.  Example 8mm and 4mm tape  
               drives have this button.  1/4" tape drives do
               not, you will have to wait until the tctl  
               process hits the end of file mark. Becareful
               you don't kill the parent process
               if that happens the tctl command 
               will be owned by INIT and once that happens
               the process is bullet proof.  The only way to 
               fix that is to either reboot (preferred) or:
                       (temporary fix)
               a.  Find a used scsi address
               b.  Turn the tape drive off
               c.  Change the drive scsi address to the used 
                   scsi address
               d.  Turn the tape drive back on
               e.  Type cfgmgr
             

    2.  tctl -b0 -Bnf/dev/rmt\# read | pax -vf-
        (Gives a table of contents)
        

B.  cpio (without using the c flag)

    1.  chdev -l rmt\# -a block_size=0    (Optional)
    2.  tctl -b0 -Bnf/dev/rmt\# read | cpio -itv
        (Gives a table of contents)


C.  Backup by name

   1.  chdev -l rmt\# -a block_size=0   (Optional)
   2.  tctl -b0 -Bnf/dev/rmt\# read | restore -Tvqf-
       (Gives a table of contents)

   NOTE: If you are in the maintenance mode and don't have
         access to the restore command use this method.

       tctl -b0 -Bnf/dev/rmt\# read | restbyname -Tvf-
       (Gives a table of contents)

D.  Backup by Inode

   1.  chdev -l rmt\# -a block_size=0   (Optional)
   2.  tctl -b0 -Bnf/dev/rmt\# read | restore -Btvqf-
       (Gives a table of contents)

   NOTE: If you are in the maintenance mode and don't have 
         access to the restore command use this method.

       tctl -b0 -Bnf/dev/rmt\# read | restbyinode -Btvf-
       (Gives a table of contents)


Support Line: problem reading tar tape from SCO unix ITEM: L1252L
Dated: July 1994 Category: N/A
This HTML file was generated 99/06/24~13:30:41
Comments or suggestions? Contact us