Libarchive

libarchive

libarchive

Open-source archive and compression library


libarchive is a free and open-source library for reading and writing various archive and compression formats. It is written in C and works on most Unix-like systems and Windows.[3]

Quick Facts Initial release, Stable release ...

History

libarchive's development was started in 2003 as part of the FreeBSD project.[1] During the early years it was led by the FreeBSD project, but later it became an independent project.[4] It was first released with FreeBSD 5.3 in November 2004.[5]

libarchive

libarchive automatically detects and reads archive formats.[6] If the archive is compressed, libarchive also detects and handles compression formats before evaluating the archive.[6] libarchive is designed to minimize the copying of data internally for optimal performance.[7]

Supported archive formats:[8]

  • 7z - read and write
  • ar - read and write
  • cab - read only
  • cpio - read and write
  • ISO9660- read and write
  • lha & lzh - read only
  • pax - read and write
  • rar - read only
  • shar - write only
  • tar - read and write
  • warc (ISO 28500:2009) - read and write
  • xar - read and write
  • zip - read and write

Utilities

libarchive provides command-line utilities called bsdtar and bsdcpio.[3] These are complete re-implementation based on libarchive.[9][10] These are the default system tar and cpio on FreeBSD, NetBSD, macOS and Windows.[5]

There is also bsdcat, designed to decompress a file to the standard output like zcat.[11]

Users

libarchive was originally developed for FreeBSD, but is also used in NetBSD and macOS as part of those operating systems.[5]

bsdtar has been included in Windows since Windows 10 April 2018 Update.[12] In May 2023, Microsoft announced Windows 11 will natively support additional archive formats such as 7z and RAR via libarchive.[13]


References

  1. "ReleaseNotes". GitHub. Archived from the original on 12 March 2022. Retrieved 25 May 2023.
  2. "libarchive". www.libarchive.org. Archived from the original on 24 May 2023. Retrieved 25 May 2023.
  3. "ReleaseEngineering". GitHub. Archived from the original on 30 April 2022. Retrieved 25 May 2023.
  4. "LibarchiveUsers". GitHub. Archived from the original on 28 November 2022. Retrieved 25 May 2023.
  5. libarchive(3)  FreeBSD Library Functions Manual
  6. "ZeroCopy". GitHub. Archived from the original on 30 April 2022. Retrieved 25 May 2023.
  7. "Libarchive Formats". GitHub. 17 January 2020. Archived from the original on 11 September 2020.
  8. bsdtar(1)  FreeBSD General Commands Manual
  9. bsdcpio(1)  FreeBSD General Commands Manual
  10. bsdcat(1)  FreeBSD General Commands Manual
  11. "Tar and Curl Come to Windows!". Microsoft Community Hub. 21 March 2019. Archived from the original on 15 April 2023. Retrieved 25 May 2023.

Share this article:

This article uses material from the Wikipedia article Libarchive, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.