[vox-tech] In Denial About These Hard Drive Problems

vox-tech@lists.lugod.org vox-tech@lists.lugod.org
Mon, 24 Jun 2002 12:00:35 -0400


On Sat, Jun 22, 2002 at 04:16:09PM -0400, msimons@moria.simons-clan.com wrote:
> There are some catches:
> - cpio is more complex to use.
>   find dir -depth -print0 | cpio -o0H newc | bzip2 -1 > dir.cpio.bz2
>   bzip2 -cd dir.cpio.bz2 | cpio -im

  Just for future reference the cpio path above is not correct for stock
versions of cpio.

The following are the correct commands:
  find dir -depth -print0 | cpio -o0H newc | bzip2 -1 > dir.cpio.bz2
  bzip2 -cd dir.cpio.bz2 | cpio -imd

  Without the 'd' added you will get just a directory tree from the
archive with no files...

    TTFN,
      Mike

bleh:

  Find '-depth' is given to make the directory names be printed last
after its contents.  This is required for cpio to preserve timestamps
correctly ('-m'), but since the directories are now stored last in the
archive and cpio doesn't make directories unless told to (by '-d' or
by an entry in the archive for a directory), all the files will fail.

  If '-depth' is not given '-d' is not needed... the files will extract 
but all the directory timestamps will be wrong when the archive finishes 
extracting.  This is because cpio will make the directory set it's modes
and set the directory timestamp when they are first seen, then it will
change into the directory and start creating the contents.  Since this
file creation is a directory modification the correct timestamp will 
be replaced by the current time.