xar man page

xar — eXtensible ARchiver

Synopsis

xar -[ctx][v] ...

Description

The XAR project aims to provide an easily extensible archive format. Important design decisions include an easily extensible XML table of contents (TOC) for random access to archived files, storing the TOC at the beginning of the archive to allow for efficient handling of streamed archives, the ability to handle files of arbitrarily large sizes, the ability to choose independent encodings for individual files in the archive, the ability to store checksums for individual files in both compressed and uncompressed form, and the ability to query the table of content's rich meta-data.

Functions

One of the following options must be used:
-c
Creates an archive
-t
Lists the contents of an archive
-x
Extracts an archive
NOTE: all of the above require the use of the -f option (filename) as this release of xar doesn't correctly handle pipes or sockets.
-f
The filename to use for creation, listing or extraction. With extraction, this can be a POSIX regular expression.

Options

--compression
Specifies the compression type to use. Valid values: none, gzip, bzip2. Default value: gzip
--dump-toc=<filename>
Has xar dump the xml header into the specified file. "-" can be specified to mean stdout.
--dump-header
Has xar print out the xar binary header information to stdout.
--list-subdocs
List the subdocuments in the xml header
--toc-cksum
Specifies the hashing algorithm to use for xml header verification. Valid values: none, sha1, and md5. Default value: sha1
-l
On archival, stay on the local device.
-P
On extract, set ownership based on uid/gid.
-p
On extract, set ownership based on symbolic names, if possible.
-s <filename>
On extract, specifies the file to extract subdocuments to. On archival, specifies an xml file to add as a subdocument.
-v
Verbose output
--exclude
Specifies a POSIX regular expression of files to exclude from adding to the archive during creation or from being extracted during extraction. This option can be specified multiple times.
--rsize
Specifies a size (in bytes) for the internal libxar read buffer while performing I/O.
--coalesce-heap
When multiple files in the archive are identical, only store one copy of the data in the heap. This creates smaller archives, but the archives created are not streamable.
--link-same
When the data section of multiple files are identical, hardlink them within the archive.
--no-compress
Specifies a POSIX regular expression of files to archive, but not compress. The archived files will be copied raw into the archive. This can be used to exclude already gzipped files from being gzipped during the archival process.

Examples

xar -cf sample.xar /home/uid
Create a xar archive of all files in /home/uid
xar -tf sample.xar
List the contents of the xar archive sample.xar
xar -xf sample.xar
Extract the contents of sample.xar to the current working directory

Bugs

Doesn't currently work with pipes or streams. Might be fixed in a future release.

Probably one or two more somewhere in there. If you find one please report it to http://code.google.com/p/xar/

Authors

Rob Braun <bbraun AT synack DOT net>
Landon Fuller <landonf AT bikemonkey DOT org>
David Leimbach
Kevin Van Vechten

Info

December 29, 2007 version 1.5.2 User Commands