Welcome to libarchive!
What is libarchive?
Libarchive is an open-source BSD-licensed C programming library
that provides streaming access to a
variety of different archive formats, including tar, cpio, pax, Zip, and ISO9660 images.
The distribution also includes bsdtar and bsdcpio,
full-featured implementations of tar and cpio that use libarchive.
Many other programs use libarchive as well.
When reading archives, libarchive uses a robust
automatic format detector that can automatically handle
archives that have been compressed with gzip, bzip2, xz,
lzip, and several other popular compression algorithms.
The libarchive library allows full flexibility over the
source and destination of the data:
There are convenience wrappers for reading
and writing archives to regular files on disk or to memory,
but you can register your own I/O functions
to read and write archives to tape drives, network sockets,
or any other data source.
Libarchive's internal I/O model is a zero copy
design that minimizes copying of data for optimal performance
with very large archives.
How to Start
Where to get more information
- This Wiki (of course)
- The
doc directory in the source distribution
- Extensive manpages are included with the distribution.
How to contribute
We welcome contributions, of course.
If you need ideas, take a peek at the WishList and
the internals documentation.
If you aren't able to help with C coding, we still appreciate
volunteers to help improve documentation
and help test libarchive as it continues to evolve.