Skip to content
Tim Kientzle edited this page Jun 21, 2014 · 13 revisions

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

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 this Wiki documentation, answer questions on the mailing list, and help test libarchive as it continues to evolve.