EPITOMIZE(1)               OpenBSD Reference Manual               EPITOMIZE(1)

NAME
     epitomize - create deduplicated archive

SYNOPSIS
     epitomize [-cPpRtvx] [-b blocksize] [-C directory] [-D backend_name]
               [-f metadata_file] [-N hostname] [-S hostport]
               [-T backend_type] [-U user] [file ...]

DESCRIPTION
     The epitomize command creates and extracts a deduplicated archive.  It
     has a tar-like interface but the options differ slightly.

     Prior to use a backend needs to be initialized.  See eprepare(1) for de-
     tails.

     One of the following flags must be present:

     -c      Create a new archive.  If file is `-', stdin is used as input.

     -f metadata_file
             The metadata file that contains the fingerprint of the archive.

     -t      List contents of archive.  If any files are named on the command
             line, only those files will be listed.  The file arguments may be
             specified as regex patterns (see regex(3) and re_format(7) for
             more information), in which case epitomize will list all archive
             members that match the pattern.

     -x      Extract an archive.  If more than one copy of a file exists in
             the archive, later copies will overwrite earlier copies during
             extraction.  The file mode and modification time are preserved if
             possible.  The file mode is subject to modification by the
             umask(2).

             If any files are named on the command line, only those files will
             be extracted.  The file arguments may be specified as regex pat-
             terns (see regex(3) and re_format(7) for more information), in
             which case epitomize will extract all archive members that match
             the pattern.

             If the archive was created using stdin the default extract is to
             stdout.  Use -C to extract to a filename.

     In addition to the flags mentioned above, any of the following flags may
     be used:

     -b blocksize.
             Files that are being archived will be chunked up to block size.
             Based on the data type small or bigger blocks will result in bet-
             ter overall reduction.  It is a fine line between small blocks
             (higher dedup ratio) and larger blocks (higher compression).  A
             non-scientific measurement showed 16K to be a good trade-off.

     -C directory
             When extracting an archive the files will be extracted to the
             provided directory.  In the case of a stdin archive -C is the
             target filename instead.

     -D backend_name
             Depending on the backend_type this value is the identifier of the
             backend.  For example for the file type, this is the target di-
             rectory of the backend.

     -N hostname
             When running over the network this is the hostname of the epitome
             server.

     -P      Do not strip leading slashes (`/') from pathnames.  The default
             is to strip leading slashes.

     -p      Preserve user and group ID as well as file mode regardless of the
             current umask(2). The setuid and setgid bits are only preserved
             if the user is the superuser.  Only meaningful in conjunction
             with the -x flag.

     -R      Display fancy statistics for each file and the overall archive.
             Only meaningful in conjunction with the -c flag.

     -S hostport
             When running over the network this is the hostport of the epitome
             server.  Default is 1337.

     -T backend type
             Select backend type.  Currently supported types are file and bdb.
             There is an experimental Postgresql backend; planned is a raw
             disk one.

     -U user
             When using with a database type, this is the database user.

     -v      Verbose option mode.

ENVIRONMENT
     EPITOMIZE_BETYPE     Same as the -T option.
     EPITOMIZE_BENAME     Same as the -D option.
     EPITOMIZE_BEHOST     Same as the -N option.
     EPITOMIZE_BEPORT     Same as the -S option.
     EPITOMIZE_BEUSER     Same as the -U option.
     EPITOMIZE_CHNKSZ     Same as the -b option.

EXAMPLES
     The following command illustrates how to create a deduplicated archive:

        # epitomize -cvRf myarchive.md /usr/src

     The following command illustrates how to extract a deduplicated archive:

        # epitomize -xvf myarchive.md -C /tmp

     The following command illustrates how to create a deduplicated archive
     from stdin:

        # cat /bsd | epitomize -cvRf myarchive.md -

     The following command illustrates how to extract a deduplicated stdin
     archive:

        # epitomize -xvf myarchive.md > moo
        or
        # epitomize -xvf myarchive.md -C moo

     It is assumed that the backend has been prepared and that a proper
     epitome.conf file is either in the home directory of the user or in /etc.

SEE ALSO
     eprepare(1), epitome(3), epitome.conf(5)

HISTORY
     The epitomize command first appeared in OpenBSD 4.5.

AUTHORS
     The epitome suite was written by Marco Peereboom <marco@peereboom.us>.

CAVEATS
     The epitome suite is currently considered experimental.

OpenBSD 4.4                     October 6, 2008                              3