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