xenial (1) advfs.1.gz

Provided by: cloop-utils_3.14.1.2ubuntu1_amd64 bug

NAME

       create_compressed_fs, extract_compressed_fs - convert and extract a filesystem to/from a cloop volume

SYNOPSIS

       create_compressed_fs [ OPTIONS ] image outfile

       extract_compressed_fs filename

DESCRIPTION

       create_compressed_fs  compresses  a filesystem image to a compressed image suitable for mounting with the
       cloop driver.

       extract_compressed_fs uncompresses a filesystem image created by create_compressed_fs.

OPTIONS

       Run the create_compressed_fs command with "-h" to get a list of available options and description of data
       storages  modes  and  advanced  usage  (eg.  with a network cluster). Blocksize must be a multiple of 512
       bytes.

       There is an alternative set of options which is supported for compatibility with the original version  of
       create_compressed_fs.  When  it's called with a pure number as output, it assumes the old syntax and maps
       the default options to memory mode and the block size to the number. -b for best mode  is  recognized  as
       well.

EXAMPLES

       create_compressed_fs image.ext2 image.ext2.cloop

       extract_compressed_fs image.ext2.cloop | cmp image.ext2 -

       mkcmd="genisoimage -joliet-long -D -r data"

       $mkcmd | create_compressed_fs -s $($mkcmd --print-size)i - file.cloop

       create_compressed_fs image.iso -S image.cloop.a0 - | split -b 1024m - image.cloop.

       cat image.cloop.* | cdrskin -

NOTES

       For optimal performance, create_compressed_fs should be used with real input and output files.

       Operation  with  STDIN  or  STDOUT  is  complicated. create_compressed_fs cannot operate as a simple pipe
       filter because it needs to know some things in  advance:  a)  the  data  length,  b)  the  block  lengths
       calculated  during the compression. This meta data needs to be stored in the header AFTER the compression
       is trough, therefore it is not possible to push all generated data to STDOUT on-the-fly.

       And so compromises need to be made. The simpliest method (used by the ancient create_compressed_fs) is  a
       big  temporary  memory  buffer  (option  -m)  to keep compressed data in RAM. However, the overall system
       performance suffers from such usage and this may drive other applications into OOM conditions.

       The next alternative to this is storing the temprorary data in an extra file aside (the -f option).  This
       improves  the overall system performance but create_compressed_fs operation is slower because it needs to
       copy data back when it's finished. Plus, double disk space for the output is required. If disk  space  is
       limited,  the  -r option could be used (reusing output file for temporary data), however the speed of the
       copy-back step may decrease significantly.

       There are strategies to avoid the temporary data storage completely.  First, only files should  be  used.
       If  that is not possible, then the output should be a (seekable) file and the input data length should be
       known (either specified with the -s option or detected from the input file size).

       Second, it is possible to store the header of the cloop volume in a separate file. After the work, header
       can  be  merged together with the compressed data with the cat command. The output data can be written to
       stdout. Since the header is stored too late, this method is not very usefull for immediate data transfer.
       However,  it  allows  to  do some tricks like piping to the split utility (to store DVD images in smaller
       files on VFAT) or piping data trough ssh if the local system has no disk space (and  copying  the  header
       separately).

MOUNTING

       You  can  pass  an  option to the cloop module on loading, or use losetup or losetup functionality of the
       mount command. Examples:

       insmod cloop.o file=/path/to/compressed/image

       losetup /dev/cloop1 /path/to/compressed/image

       mount -o ro -t whatever /dev/cloop /mnt/compressed

       mount cl /mnt/misc -oloop=/dev/cloop0

SEE ALSO

       /usr/share/doc/cloop-utils/*, /usr/share/doc/cloop-src/*

AUTHOR

       This manual page was written by Eduard Bloch <blade@debian.org> for the Debian GNU/Linux system (but  may
       be  used  by  others).   Permission  is granted to copy, distribute and/or modify this document under the
       terms of the GNU GPLv2.

                                                04 Dezember 2006                         CREATE_COMPRESSED_FS(1)