[comp.unix.xenix.sco] Piping TAR

rembis@nic.cerf.net (Michael Rembis) (05/04/91)

Hi. I need some help on a PC based XENIX system running version 2.3.
I am trying to relocate a tar file that is on the hard disk out to
a set of floppies.  I have tried things like   tar xf FILE | (tar cv2 -)
and other combinations of that command with no luck. Does anyone know
the right sequence to initiate this ?

Thanks,
-- 
Michael F. Rembis, Jr.            | UUCP:  ...!uunet!zardoz!xphoton!mrembis
Excellon CAM Software Development | Internet: rembis@cerf.net
3710 S. Susan St. Ste. 200        | Voice: (714) 966-9003
Santa Ana, CA 92704               | FAX:   (714) 966-9151

davidsen@rdsunx.crd.ge.com (William E Davidsen) (05/07/91)

In article <361@nic.cerf.net>, rembis@nic.cerf.net (Michael Rembis) writes:
|> Hi. I need some help on a PC based XENIX system running version 2.3.
|> I am trying to relocate a tar file that is on the hard disk out to
|> a set of floppies.  I have tried things like   tar xf FILE | (tar cv2 -)
|> and other combinations of that command with no luck. Does anyone know
|> the right sequence to initiate this ?

I think what you want is to grab a copy of 'bundle' off an archive o0f
comp.sources.misc. This is a program which takes a stream input (or
output) from (to) a pipe and breaks it into multiple volumes. It also
writes one cylinder at a time, so performance is enhanced.

If you do much of this don't forget to format the floppies with "-i 2"
to get the 3:1 performance boost!

PS: I will mail this to a few people if you want, more than that and
I'll send the new version to the group. I just got the shared memory
option working under V.4, and found some minor bugs.

itkin@mrspoc.Transact.COM (Steven M. List) (05/07/91)

rembis@nic.cerf.net (Michael Rembis) writes:

>Hi. I need some help on a PC based XENIX system running version 2.3.
>I am trying to relocate a tar file that is on the hard disk out to
>a set of floppies.  I have tried things like   tar xf FILE | (tar cv2 -)
>and other combinations of that command with no luck. Does anyone know
>the right sequence to initiate this ?

Unfortunately, you can't do it without first extracting the files from
the archive and then creating the floppy archive.  TAR writes to separate
files when it extracts.  There's no way to tell it to just copy the files
with all their headers to floppies.  :^(

So, unless someone corrects me, I'm afraid that Michael is stuck with
creating a temporary area, extracting the files from the tar file, and
then creating the floppies and subsequently removing the files from the
hard disk.
-- 
 +----------------------------------------------------------------------------+
 :                Steven List @ Transact Software, Inc. :^>~                  :
 :           Chairman, Unify User Group of Northern California                :
 :                         itkin@Transact.COM                                 :

mpc@rac.com (Mark Clements) (05/08/91)

In article <1991May7.001920.21111@mrspoc.Transact.COM> 
        itkin@mrspoc.Transact.COM (Steven M. List) writes:

>>rembis@nic.cerf.net (Michael Rembis) writes:
>>
>>Hi. I need some help on a PC based XENIX system running version 2.3.
>>I am trying to relocate a tar file that is on the hard disk out to
>>a set of floppies.  I have tried things like   tar xf FILE | (tar cv2 -)
>>and other combinations of that command with no luck. Does anyone know
>>the right sequence to initiate this ?

>  Unfortunately, you can't do it without first extracting the files from
>  the archive and then creating the floppy archive.  TAR writes to separate
>  files when it extracts.  There's no way to tell it to just copy the files
>  with all their headers to floppies.  :^(
>
>  So, unless someone corrects me, I'm afraid that Michael is stuck with
>  creating a temporary area, extracting the files from the tar file, and
>  then creating the floppies and subsequently removing the files from the
>  hard disk.

If the tar file in question is small enough to fit on one disk, you
can transfer it this way:
 
                    dd if=foo.tar of=/dev/fd096ds15

     ( substituting the correct tar file and floppy device, of course :)

Be sure to use the block device for the floppy, not the character
device.

If, however, the tar file is too large to fit on one disk, this won't
work ( dd doesn't "know" that you are writing to a disk, and so will
just barf when you run out of space on the floppy ).

Hope this helps.

--
Mark Clements                                            Email:  uunet!rac!mpc
RAC Information Systems, Inc                                     mpc@rac.com  
Great Neck, NY                                           
                                                         
           

adeboer@gjetor.geac.COM (Anthony DeBoer) (05/09/91)

In <1991May7.001920.21111@mrspoc.Transact.COM> steven@Transact.COM writes:
>rembis@nic.cerf.net (Michael Rembis) writes:
>>Hi. I need some help on a PC based XENIX system running version 2.3.
>>I am trying to relocate a tar file that is on the hard disk out to
>>a set of floppies.  I have tried things like   tar xf FILE | (tar cv2 -)
>>and other combinations of that command with no luck. Does anyone know
>>the right sequence to initiate this ?
>
>Unfortunately, you can't do it without first extracting the files from
>the archive and then creating the floppy archive.  TAR writes to separate
>files when it extracts.  There's no way to tell it to just copy the files
>with all their headers to floppies.  :^(

If it were an archive small enough to fit on a single diskette, you might be
in luck.  Unfortunately, as you say, it needs a set of floppies, so you need
to break the archive up.  One thing that I've done with a single-diskette
archive before (at least with cpio, and at this level there oughtn't to be a
difference), is to use dd to read the archive from the hard disk (or even, if
it was compressed, to zcat it and pipe that to dd) and have dd write it to
diskette.  Something like:

$ dd if=foo of=/dev/rfd0135ds18 obs=18k conv=sync
$ zcat foo | dd of=/dev/rfd0135ds18 obs=18k conv=sync

You'd need to spend a little while with the dd man page and check out the
exact options.  From memory, those should be the right options with a 3.5"
diskette, but your mileage may vary.

Since tar is supposed to always put headers on block boundaries, you could
play with the skip=nn and count=nn options and snip out sections of your
archive directly to diskette, but this may be the hard way of doing it.
-- 
Anthony DeBoer NAUI#Z8800 | adeboer@gjetor.geac.com   | Programmer (n): One who
Geac J&E Systems Ltd.     | uunet!geac!gjetor!adeboer | makes the lies the 
Toronto, Ontario, Canada  | #include <disclaimer.h>   | salesman told come true.