Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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)
- firstname.lastname@example.org mailing list
- Extensive manpages are included with the distribution.
How to contribute
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.