You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
721 lines
22 KiB
721 lines
22 KiB
.\" Copyright (c) 2003-2010 Tim Kientzle
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd January 31, 2020
|
|
.Dt ARCHIVE_WRITE_OPTIONS 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm archive_write_set_filter_option ,
|
|
.Nm archive_write_set_format_option ,
|
|
.Nm archive_write_set_option ,
|
|
.Nm archive_write_set_options
|
|
.Nd functions controlling options for writing archives
|
|
.Sh LIBRARY
|
|
Streaming Archive Library (libarchive, -larchive)
|
|
.Sh SYNOPSIS
|
|
.Ft int
|
|
.Fo archive_write_set_filter_option
|
|
.Fa "struct archive *"
|
|
.Fa "const char *module"
|
|
.Fa "const char *option"
|
|
.Fa "const char *value"
|
|
.Fc
|
|
.Ft int
|
|
.Fo archive_write_set_format_option
|
|
.Fa "struct archive *"
|
|
.Fa "const char *module"
|
|
.Fa "const char *option"
|
|
.Fa "const char *value"
|
|
.Fc
|
|
.Ft int
|
|
.Fo archive_write_set_option
|
|
.Fa "struct archive *"
|
|
.Fa "const char *module"
|
|
.Fa "const char *option"
|
|
.Fa "const char *value"
|
|
.Fc
|
|
.Ft int
|
|
.Fo archive_write_set_options
|
|
.Fa "struct archive *"
|
|
.Fa "const char *options"
|
|
.Fc
|
|
.Sh DESCRIPTION
|
|
These functions provide a way for libarchive clients to configure
|
|
specific write modules.
|
|
.Bl -tag -width indent
|
|
.It Xo
|
|
.Fn archive_write_set_filter_option ,
|
|
.Fn archive_write_set_format_option
|
|
.Xc
|
|
Specifies an option that will be passed to the currently-registered
|
|
filters (including decompression filters) or format readers.
|
|
.Pp
|
|
If
|
|
.Ar option
|
|
and
|
|
.Ar value
|
|
are both
|
|
.Dv NULL ,
|
|
these functions will do nothing and
|
|
.Cm ARCHIVE_OK
|
|
will be returned.
|
|
If
|
|
.Ar option
|
|
is
|
|
.Dv NULL
|
|
but
|
|
.Ar value
|
|
is not, these functions will do nothing and
|
|
.Cm ARCHIVE_FAILED
|
|
will be returned.
|
|
.Pp
|
|
If
|
|
.Ar module
|
|
is not
|
|
.Dv NULL ,
|
|
.Ar option
|
|
and
|
|
.Ar value
|
|
will be provided to the filter or reader named
|
|
.Ar module .
|
|
The return value will be either
|
|
.Cm ARCHIVE_OK
|
|
if the option was successfully handled or
|
|
.Cm ARCHIVE_WARN
|
|
if the option was unrecognized by the module or could otherwise
|
|
not be handled.
|
|
If there is no such module,
|
|
.Cm ARCHIVE_FAILED
|
|
will be returned.
|
|
.Pp
|
|
If
|
|
.Ar module
|
|
is
|
|
.Dv NULL ,
|
|
.Ar option
|
|
and
|
|
.Ar value
|
|
will be provided to every registered module.
|
|
If any module returns
|
|
.Cm ARCHIVE_FATAL ,
|
|
this value will be returned immediately.
|
|
Otherwise,
|
|
.Cm ARCHIVE_OK
|
|
will be returned if any module accepts the option, and
|
|
.Cm ARCHIVE_FAILED
|
|
in all other cases.
|
|
.\"
|
|
.It Fn archive_write_set_option
|
|
Calls
|
|
.Fn archive_write_set_format_option ,
|
|
then
|
|
.Fn archive_write_set_filter_option .
|
|
If either function returns
|
|
.Cm ARCHIVE_FATAL ,
|
|
.Cm ARCHIVE_FATAL
|
|
will be returned
|
|
immediately.
|
|
Otherwise, the greater of the two values will be returned.
|
|
.\"
|
|
.It Fn archive_write_set_options
|
|
.Ar options
|
|
is a comma-separated list of options.
|
|
If
|
|
.Ar options
|
|
is
|
|
.Dv NULL
|
|
or empty,
|
|
.Cm ARCHIVE_OK
|
|
will be returned immediately.
|
|
.Pp
|
|
Individual options have one of the following forms:
|
|
.Bl -tag -compact -width indent
|
|
.It Ar option=value
|
|
The option/value pair will be provided to every module.
|
|
Modules that do not accept an option with this name will ignore it.
|
|
.It Ar option
|
|
The option will be provided to every module with a value of
|
|
.Dq 1 .
|
|
.It Ar !option
|
|
The option will be provided to every module with a NULL value.
|
|
.It Ar module:option=value , Ar module:option , Ar module:!option
|
|
As above, but the corresponding option and value will be provided
|
|
only to modules whose name matches
|
|
.Ar module .
|
|
.El
|
|
.El
|
|
.\"
|
|
.Sh OPTIONS
|
|
.Bl -tag -compact -width indent
|
|
.It Filter b64encode
|
|
.Bl -tag -compact -width indent
|
|
.It Cm mode
|
|
The value is interpreted as octal digits specifying the file mode.
|
|
.It Cm name
|
|
The value specifies the file name.
|
|
.El
|
|
.It Filter bzip2
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
bzip2 compression level. Supported values are from 1 to 9.
|
|
.El
|
|
.It Filter gzip
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
gzip compression level. Supported values are from 0 to 9.
|
|
.It Cm timestamp
|
|
Store timestamp. This is enabled by default.
|
|
.El
|
|
.It Filter lrzip
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression Ns = Ns Ar type
|
|
Use
|
|
.Ar type
|
|
as compression method.
|
|
Supported values are
|
|
.Dq bzip2 ,
|
|
.Dq gzipi ,
|
|
.Dq lzo
|
|
.Pq ultra fast ,
|
|
and
|
|
.Dq zpaq
|
|
.Pq best, extremely slow .
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
lrzip compression level. Supported values are from 1 to 9.
|
|
.El
|
|
.It Filter lz4
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
lz4 compression level. Supported values are from 0 to 9.
|
|
.It Cm stream-checksum
|
|
Enable stream checksum. This is enabled by default.
|
|
.It Cm block-checksum
|
|
Enable block checksum. This is disabled by default.
|
|
.It Cm block-size
|
|
The value is interpreted as a decimal integer specifying the
|
|
lz4 compression block size. Supported values are from 4 to 7
|
|
.Pq default .
|
|
.It Cm block-dependence
|
|
Use the previous block of the block being compressed for
|
|
a compression dictionary to improve compression ratio.
|
|
This is disabled by default.
|
|
.El
|
|
.It Filter lzop
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
lzop compression level. Supported values are from 1 to 9.
|
|
.El
|
|
.It Filter uuencode
|
|
.Bl -tag -compact -width indent
|
|
.It Cm mode
|
|
The value is interpreted as octal digits specifying the file mode.
|
|
.It Cm name
|
|
The value specifies the file name.
|
|
.El
|
|
.It Filter xz
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
compression level. Supported values are from 0 to 9.
|
|
.It Cm threads
|
|
The value is interpreted as a decimal integer specifying the
|
|
number of threads for multi-threaded lzma compression.
|
|
If supported, the default value is read from
|
|
.Fn lzma_cputhreads .
|
|
.El
|
|
.It Filter zstd
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
compression level. Supported values depend on the library version,
|
|
common values are from 1 to 22.
|
|
.El
|
|
.It Format 7zip
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression
|
|
The value is one of
|
|
.Dq store ,
|
|
.Dq deflate ,
|
|
.Dq bzip2 ,
|
|
.Dq lzma1 ,
|
|
.Dq lzma2
|
|
or
|
|
.Dq ppmd
|
|
to indicate how the following entries should be compressed.
|
|
Note that this setting is ignored for directories, symbolic links,
|
|
and other special entries.
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
compression level.
|
|
Values between 0 and 9 are supported.
|
|
The interpretation of the compression level depends on the chosen
|
|
compression method.
|
|
.El
|
|
.It Format bin
|
|
.Bl -tag -compact -width indent
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file names.
|
|
.El
|
|
.It Format gnutar
|
|
.Bl -tag -compact -width indent
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file, group and user names.
|
|
.El
|
|
.It Format iso9660 - volume metadata
|
|
These options are used to set standard ISO9660 metadata.
|
|
.Bl -tag -compact -width indent
|
|
.It Cm abstract-file Ns = Ns Ar filename
|
|
The file with the specified name will be identified in the ISO9660 metadata
|
|
as holding the abstract for this volume.
|
|
Default: none.
|
|
.It Cm application-id Ns = Ns Ar filename
|
|
The file with the specified name will be identified in the ISO9660 metadata
|
|
as holding the application identifier for this volume.
|
|
Default: none.
|
|
.It Cm biblio-file Ns = Ns Ar filename
|
|
The file with the specified name will be identified in the ISO9660 metadata
|
|
as holding the bibliography for this volume.
|
|
Default: none.
|
|
.It Cm copyright-file Ns = Ns Ar filename
|
|
The file with the specified name will be identified in the ISO9660 metadata
|
|
as holding the copyright for this volume.
|
|
Default: none.
|
|
.It Cm publisher Ns = Ns Ar filename
|
|
The file with the specified name will be identified in the ISO9660 metadata
|
|
as holding the publisher information for this volume.
|
|
Default: none.
|
|
.It Cm volume-id Ns = Ns Ar string
|
|
The specified string will be used as the Volume Identifier in the ISO9660 metadata.
|
|
It is limited to 32 bytes.
|
|
Default: none.
|
|
.El
|
|
.It Format iso9660 - boot support
|
|
These options are used to make an ISO9660 image that can be directly
|
|
booted on various systems.
|
|
.Bl -tag -compact -width indent
|
|
.It Cm boot Ns = Ns Ar filename
|
|
The file matching this name will be used as the El Torito boot image file.
|
|
.It Cm boot-catalog Ns = Ns Ar name
|
|
The name that will be used for the El Torito boot catalog.
|
|
Default:
|
|
.Ar boot.catalog
|
|
.It Cm boot-info-table
|
|
The boot image file provided by the
|
|
.Cm boot Ns = Ns Ar filename
|
|
option will be edited with appropriate boot information in bytes 8 through 64.
|
|
Default: disabled
|
|
.It Cm boot-load-seg Ns = Ns Ar hexadecimal-number
|
|
The load segment for a no-emulation boot image.
|
|
.It Cm boot-load-size Ns = Ns Ar decimal-number
|
|
The number of "virtual" 512-byte sectors to be loaded from a no-emulation boot image.
|
|
Some very old BIOSes can only load very small images, setting this
|
|
value to 4 will often allow such BIOSes to load the first part of
|
|
the boot image (which will then need to be intelligent enough to
|
|
load the rest of itself).
|
|
This should not be needed unless you are trying to support systems with very old BIOSes.
|
|
This defaults to the full size of the image.
|
|
.It Cm boot-type Ns = Ns Ar value
|
|
Specifies the boot semantics used by the El Torito boot image:
|
|
If the
|
|
.Ar value
|
|
is
|
|
.Cm fd ,
|
|
then the boot image is assumed to be a bootable floppy image.
|
|
If the
|
|
.Ar value
|
|
is
|
|
.Cm hd ,
|
|
then the boot image is assumed to be a bootable hard disk image.
|
|
If the
|
|
.Ar value
|
|
is
|
|
.Cm no-emulation ,
|
|
the boot image is used without floppy or hard disk emulation.
|
|
If the boot image is exactly 1.2MB, 1.44MB, or 2.88MB, then
|
|
the default is
|
|
.Cm fd ,
|
|
otherwise the default is
|
|
.Cm no-emulation .
|
|
.El
|
|
.It Format iso9660 - filename and size extensions
|
|
Various extensions to the base ISO9660 format.
|
|
.Bl -tag -compact -width indent
|
|
.It Cm allow-ldots
|
|
If enabled, allows filenames to begin with a leading period.
|
|
If disabled, filenames that begin with a leading period will have
|
|
that period replaced by an underscore character in the standard ISO9660
|
|
namespace.
|
|
This does not impact names stored in the Rockridge or Joliet extension area.
|
|
Default: disabled.
|
|
.It Cm allow-lowercase
|
|
If enabled, allows filenames to contain lowercase characters.
|
|
If disabled, filenames will be forced to uppercase.
|
|
This does not impact names stored in the Rockridge or Joliet extension area.
|
|
Default: disabled.
|
|
.It Cm allow-multidot
|
|
If enabled, allows filenames to contain multiple period characters, in violation of the ISO9660 specification.
|
|
If disabled, additional periods will be converted to underscore characters.
|
|
This does not impact names stored in the Rockridge or Joliet extension area.
|
|
Default: disabled.
|
|
.It Cm allow-period
|
|
If enabled, allows filenames to contain trailing period characters, in violation of the ISO9660 specification.
|
|
If disabled, trailing periods will be converted to underscore characters.
|
|
This does not impact names stored in the Rockridge or Joliet extension area.
|
|
Default: disabled.
|
|
.It Cm allow-pvd-lowercase
|
|
If enabled, the Primary Volume Descriptor may contain lowercase ASCII characters, in violation of the ISO9660 specification.
|
|
If disabled, characters will be converted to uppercase ASCII.
|
|
Default: disabled.
|
|
.It Cm allow-sharp-tilde
|
|
If enabled, sharp and tilde characters will be permitted in filenames, in violation if the ISO9660 specification.
|
|
If disabled, such characters will be converted to underscore characters.
|
|
Default: disabled.
|
|
.It Cm allow-vernum
|
|
If enabled, version numbers will be included with files.
|
|
If disabled, version numbers will be suppressed, in violation of the ISO9660 standard.
|
|
This does not impact names stored in the Rockridge or Joliet extension area.
|
|
Default: enabled.
|
|
.It Cm iso-level
|
|
This enables support for file size and file name extensions in the
|
|
core ISO9660 area.
|
|
The name extensions specified here do not affect the names stored in the Rockridge or Joliet extension areas.
|
|
.Bl -tag -compact -width indent
|
|
.It Cm iso-level=1
|
|
The most compliant form of ISO9660 image.
|
|
Filenames are limited to 8.3 uppercase format,
|
|
directory names are limited to 8 uppercase characters,
|
|
files are limited to 4 GiB,
|
|
the complete ISO9660 image cannot exceed 4 GiB.
|
|
.It Cm iso-level=2
|
|
Filenames are limited to 30 uppercase characters with a 30-character extension,
|
|
directory names are limited to 30 characters,
|
|
files are limited to 4 GiB.
|
|
.It Cm iso-level=3
|
|
As with
|
|
.Cm iso-level=2 ,
|
|
except that files may exceed 4 GiB.
|
|
.It Cm iso-level=4
|
|
As with
|
|
.Cm iso-level=3 ,
|
|
except that filenames may be up to 193 characters
|
|
and may include arbitrary 8-bit characters.
|
|
.El
|
|
.It Cm joliet
|
|
Microsoft's Joliet extensions store a completely separate set of directory information about each file.
|
|
In particular, this information includes Unicode filenames of up to 255 characters.
|
|
Default: enabled.
|
|
.It Cm limit-depth
|
|
If enabled, libarchive will use directory relocation records to ensure that
|
|
no pathname exceeds the ISO9660 limit of 8 directory levels.
|
|
If disabled, no relocation will occur.
|
|
Default: enabled.
|
|
.It Cm limit-dirs
|
|
If enabled, libarchive will cause an error if there are more than
|
|
65536 directories.
|
|
If disabled, there is no limit on the number of directories.
|
|
Default: enabled
|
|
.It Cm pad
|
|
If enabled, 300 kiB of zero bytes will be appended to the end of the archive.
|
|
Default: enabled
|
|
.It Cm relaxed-filenames
|
|
If enabled, all 7-bit ASCII characters are permitted in filenames
|
|
(except lowercase characters unless
|
|
.Cm allow-lowercase
|
|
is also specified).
|
|
This violates ISO9660 standards.
|
|
This does not impact names stored in the Rockridge or Joliet extension area.
|
|
Default: disabled.
|
|
.It Cm rockridge
|
|
The Rockridge extensions store an additional set of POSIX-style file
|
|
information with each file, including mtime, atime, ctime, permissions,
|
|
and long filenames with arbitrary 8-bit characters.
|
|
These extensions also support symbolic links and other POSIX file types.
|
|
Default: enabled.
|
|
.El
|
|
.It Format iso9660 - zisofs support
|
|
The zisofs extensions permit each file to be independently compressed
|
|
using a gzip-compatible compression.
|
|
This can provide significant size savings, but requires the reading
|
|
system to have support for these extensions.
|
|
These extensions are disabled by default.
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression-level Ns = Ns number
|
|
The compression level used by the deflate compressor.
|
|
Ranges from 0 (least effort) to 9 (most effort).
|
|
Default: 6
|
|
.It Cm zisofs
|
|
Synonym for
|
|
.Cm zisofs=direct .
|
|
.It Cm zisofs=direct
|
|
Compress each file in the archive.
|
|
Unlike
|
|
.Cm zisofs=indirect ,
|
|
this is handled entirely within libarchive and does not require a
|
|
separate utility.
|
|
For best results, libarchive tests each file and will store
|
|
the file uncompressed if the compression does not actually save any space.
|
|
In particular, files under 2k will never be compressed.
|
|
Note that boot image files are never compressed.
|
|
.It Cm zisofs=indirect
|
|
Recognizes files that have already been compressed with the
|
|
.Cm mkzftree
|
|
utility and sets up the necessary file metadata so that
|
|
readers will correctly identify these as zisofs-compressed files.
|
|
.It Cm zisofs-exclude Ns = Ns Ar filename
|
|
Specifies a filename that should not be compressed when using
|
|
.Cm zisofs=direct .
|
|
This option can be provided multiple times to suppress compression
|
|
on many files.
|
|
.El
|
|
.It Format mtree
|
|
.Bl -tag -compact -width indent
|
|
.It Cm cksum , Cm device , Cm flags , Cm gid , Cm gname , Cm indent , Cm link , Cm md5 , Cm mode , Cm nlink , Cm rmd160 , Cm sha1 , Cm sha256 , Cm sha384 , Cm sha512 , Cm size , Cm time , Cm uid , Cm uname
|
|
Enable a particular keyword in the mtree output.
|
|
Prefix with an exclamation mark to disable the corresponding keyword.
|
|
The default is equivalent to
|
|
.Dq device, flags, gid, gname, link, mode, nlink, size, time, type, uid, uname .
|
|
.It Cm all
|
|
Enables all of the above keywords.
|
|
.It Cm use-set
|
|
Enables generation of
|
|
.Cm /set
|
|
lines that specify default values for the following files and/or directories.
|
|
.It Cm indent
|
|
XXX needs explanation XXX
|
|
.El
|
|
.It Format newc
|
|
.Bl -tag -compact -width indent
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file names.
|
|
.El
|
|
.It Format odc
|
|
.Bl -tag -compact -width indent
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file names.
|
|
.El
|
|
.It Format pwb
|
|
.Bl -tag -compact -width indent
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file names.
|
|
.El
|
|
.It Format pax
|
|
.Bl -tag -compact -width indent
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file, group and user names.
|
|
The value is one of
|
|
.Dq BINARY
|
|
or
|
|
.Dq UTF-8 .
|
|
With
|
|
.Dq BINARY
|
|
there is no character conversion, with
|
|
.Dq UTF-8
|
|
names are converted to UTF-8.
|
|
.It Cm xattrheader
|
|
When storing extended attributes, this option configures which
|
|
headers should be written. The value is one of
|
|
.Dq all ,
|
|
.Dq LIBARCHIVE ,
|
|
or
|
|
.Dq SCHILY .
|
|
By default, both
|
|
.Dq LIBARCHIVE.xattr
|
|
and
|
|
.Dq SCHILY.xattr
|
|
headers are written.
|
|
.El
|
|
.It Format ustar
|
|
.Bl -tag -compact -width indent
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file, group and user names.
|
|
.El
|
|
.It Format v7tar
|
|
.Bl -tag -compact -width indent
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file, group and user names.
|
|
.El
|
|
.It Format warc
|
|
.Bl -tag -compact -width indent
|
|
.It Cm omit-warcinfo
|
|
Set to
|
|
.Dq true
|
|
to disable output of the warcinfo record.
|
|
.El
|
|
.It Format xar
|
|
.Bl -tag -compact -width indent
|
|
.It Cm checksum Ns = Ns Ar type
|
|
Use
|
|
.Ar type
|
|
as file checksum method.
|
|
Supported values are
|
|
.Dq none ,
|
|
.Dq md5 ,
|
|
and
|
|
.Dq sha1
|
|
.Pq default .
|
|
.It Cm compression Ns = Ns Ar type
|
|
Use
|
|
.Ar type
|
|
as compression method.
|
|
Supported values are
|
|
.Dq none ,
|
|
.Dq bzip2 ,
|
|
.Dq gzip
|
|
.Pq default ,
|
|
.Dq lzma
|
|
and
|
|
.Dq xz .
|
|
.It Cm compression_level
|
|
The value is a decimal integer from 1 to 9 specifying the compression level.
|
|
.It Cm toc-checksum Ns = Ns Ar type
|
|
Use
|
|
.Ar type
|
|
as table of contents checksum method.
|
|
Supported values are
|
|
.Dq none ,
|
|
.Dq md5
|
|
and
|
|
.Dq sha1
|
|
.Pq default .
|
|
.El
|
|
.It Format zip
|
|
.Bl -tag -compact -width indent
|
|
.It Cm compression
|
|
The value is either
|
|
.Dq store
|
|
or
|
|
.Dq deflate
|
|
to indicate how the following entries should be compressed.
|
|
Note that this setting is ignored for directories, symbolic links,
|
|
and other special entries.
|
|
.It Cm compression-level
|
|
The value is interpreted as a decimal integer specifying the
|
|
compression level.
|
|
Values between 0 and 9 are supported.
|
|
A compression level of 0 switches the compression method to
|
|
.Dq store ,
|
|
other values will enable
|
|
.Dq deflate
|
|
compression with the given level.
|
|
.It Cm encryption
|
|
Enable encryption using traditional zip encryption.
|
|
.It Cm encryption Ns = Ns Ar type
|
|
Use
|
|
.Ar type
|
|
as encryption type.
|
|
Supported values are
|
|
.Dq zipcrypt
|
|
.Pq traditional zip encryption ,
|
|
.Dq aes128
|
|
.Pq WinZip AES-128 encryption
|
|
and
|
|
.Dq aes256
|
|
.Pq WinZip AES-256 encryption .
|
|
.It Cm experimental
|
|
This boolean option enables or disables experimental Zip features
|
|
that may not be compatible with other Zip implementations.
|
|
.It Cm fakecrc32
|
|
This boolean option disables CRC calculations.
|
|
All CRC fields are set to zero.
|
|
It should not be used except for testing purposes.
|
|
.It Cm hdrcharset
|
|
The value is used as a character set name that will be
|
|
used when translating file names.
|
|
.It Cm zip64
|
|
Zip64 extensions provide additional file size information
|
|
for entries larger than 4 GiB.
|
|
They also provide extended file offset and archive size information
|
|
when archives exceed 4 GiB.
|
|
By default, the Zip writer selectively enables these extensions only as needed.
|
|
In particular, if the file size is unknown, the Zip writer will
|
|
include Zip64 extensions to guard against the possibility that the
|
|
file might be larger than 4 GiB.
|
|
.Pp
|
|
Setting this boolean option will force the writer to use Zip64 extensions
|
|
even for small files that would not otherwise require them.
|
|
This is primarily useful for testing.
|
|
.Pp
|
|
Disabling this option with
|
|
.Cm !zip64
|
|
will force the Zip writer to avoid Zip64 extensions:
|
|
It will reject files with size greater than 4 GiB,
|
|
it will reject any new entries once the total archive size reaches 4 GiB,
|
|
and it will not use Zip64 extensions for files with unknown size.
|
|
In particular, this can improve compatibility when generating archives
|
|
where the entry sizes are not known in advance.
|
|
.El
|
|
.El
|
|
.Sh EXAMPLES
|
|
The following example creates an archive write handle to
|
|
create a gzip-compressed ISO9660 format image.
|
|
The two options here specify that the ISO9660 archive will use
|
|
.Ar kernel.img
|
|
as the boot image for El Torito booting, and that the gzip
|
|
compressor should use the maximum compression level.
|
|
.Bd -literal -offset indent
|
|
a = archive_write_new();
|
|
archive_write_add_filter_gzip(a);
|
|
archive_write_set_format_iso9660(a);
|
|
archive_write_set_options(a, "boot=kernel.img,compression=9");
|
|
archive_write_open_filename(a, filename, blocksize);
|
|
.Ed
|
|
.\"
|
|
.Sh ERRORS
|
|
More detailed error codes and textual descriptions are available from the
|
|
.Fn archive_errno
|
|
and
|
|
.Fn archive_error_string
|
|
functions.
|
|
.\"
|
|
.Sh SEE ALSO
|
|
.Xr tar 1 ,
|
|
.Xr archive_read_set_options 3 ,
|
|
.Xr archive_write 3 ,
|
|
.Xr libarchive 3
|
|
.Sh HISTORY
|
|
The
|
|
.Nm libarchive
|
|
library first appeared in
|
|
.Fx 5.3 .
|
|
.Sh AUTHORS
|
|
.An -nosplit
|
|
The options support for libarchive was originally implemented by
|
|
.An Michihiro NAKAJIMA .
|
|
.Sh BUGS
|