I am looking to take dd disk images of some  small disk volumes and compres=
s the dd output in stream rather than after the fact. Is that possible? My
experiments so far seem to indicate that it needs to be a two step process.=
 I'd prefer that it be one step, but I've not succeeded in getting it to
work with pipes.

With most systems you don't need dd for disks, just for tapes.

For unix I/O to tapes it is one read/write per tape block, so
dd is often used to reblock data.  tar will write block of a specified
size, but most other programs don't.

tar cf - . | dd of=/dev/tape obs=32k

tar cf - . | gzip | dd of=/dev/tape obs=32k

to compress a raw disk to a disk file,

dd if=/dev/disk ibs=32k | gzip > outfile

but I think you can also just do

gzip < /dev/disk > outfile

You only need dd if you need reblocking, either as input
or output.

If you want to write the result to tape,

gzip < /dev/disk | dd of=/dev/tape obs=32k

or

dd if=/dev/disk ibs=32k | gzip | dd of=/dev/tape obs=32k

Disk I/O is normally buffered by the system automatically,
but it may be faster and/or more efficient to use a large
block size with dd.

dd without an if will read stdin, without of will write stdout.

gzip without any parameters will compress stdin and write stdout.


-- glen

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to