-bblocksize
Specify the blocksize to the underlying rsync algorithm. A smaller blocksize may be more efficient
for files where there are likely to be lots of small, scattered changes between downloads; a
larger blocksize is more efficient for files with fewer or less scattered changes. This blocksize
must be a power of two. If not specified, zsyncmake chooses one which it thinks is best for this
file (currently either 2048 or 4096 depending on file size) - so normally tyou should not need to
override the default.
-C Tells zsyncmake not to generate any instructions in the .zsync telling the client to compress the
data it receives. This is implied by -z, but this option is here in case you compress a file
yourself only for the transfer, but want the client to end up with the uncompressed file (e.g. you
are transferring an ISO, which is held compressed on the server, but which the client cannot use
unless it is uncompressed). Without -C, zsyncmake will produce directions for the client to
compress the file it receives where appropriate; -C is here so you can stop it telling the client
to do that.
-e Tells zsyncmake that the client must be able to receive the exact file that was supplied. Without
this option, zsyncmake only gives a weaker guarantee - that the client will receive the data it
contains (e.g. it might transfer the uncompressed version of a .gz to the client). Note that this
still doesn't guarantee that the client will get it - the client could ignore the directives in
the zsync file, or might be incapable of exactly reproducing the compression used. But with -e you
know that zsyncmake has made it possible to get the exact data - it will exit with an error if it
cannot.
-ffilename
Set the filename to include in the output file (this is what the file will be called when a user
finished downloading it).
-ooutputfile
Override the default output file name.
-uurl Specifies the URL from which users can download the content of the supplied file. Users need the
control file in order to find out what parts of the file they already have, and they need the URLs
to retrieve the parts of the file that they don't already have. You can specify multiple URLs by
specifying -u multiple times. If not specified, zsync assumes that the file and the .zsync will
reside in the same public directory, and includes a single relative URL.
-Uurl Specifies a URL corresponding to the decompressed content of the file (only applicable if it is a
gzip file). zsync can sometimes download more efficiently from the uncompressed data than from the
compressed data - it will take advantage of this if available. If no URLs are specifies, zsync
looks for a file without the .gz extension and assumes that this will be in the same public dir as
the .zsync, and includes a relative URL to it.
-v Enable verbose messages.
-V Prints the version of zsync.
-z Compress the file to transfer. Note that this overwrites any file called filename.gz without
warning (if you don't give a filename, e.g. because you are reading from stdin, then zsync will
use the name supplied with -f, or as a last fallback, zsync-target.gz).
zsync can work with compressed data, and, in most cases where the data is not already compressed, it is
more efficient to compress it first. While you can just compress the file to transfer with gzip, if you
use this option then zsyncmake will compress the file for you, producing a .gz file which is optimised
for zsync. This can be 30% more efficient at download time than compressing with gzip --best - but the
compressed file will not be as small at that produced by gzip.
-Z zsyncmake automatically looks inside gzip compressed files and exports the underlying,
uncompressed data to the zsyncmake file. In testing this has proved to provide greater download
efficiency. -Z overrides the default behaviour and treats gzip files as just binary data. Use this
if it is essential that the user receives the compressed data (for instance because a
cryptographic signature is available only for the compressed data). zsync is typically no use if
you specify -Z, unless the gzip file was compressed with the special --rsync option to make it
friendly to differential transfers.