Libarchive

Summary

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]

libarchive
Initial release2003; 21 years ago (2003)[1]
Stable release
3.7.3[2] Edit this on Wikidata / 8 April 2024
Repository
  • github.com/libarchive/libarchive Edit this at Wikidata
Written inC
Operating systemcross-platform
Typelibrary
LicenseNew BSD License[3]
Websitelibarchive.org Edit this on Wikidata

History edit

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 edit

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 edit

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 edit

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 edit

  1. ^ a b "ReleaseNotes". GitHub. Archived from the original on 12 March 2022. Retrieved 25 May 2023.
  2. ^ "Release Libarchive 3.7.3 · libarchive/libarchive". Retrieved 9 April 2024.
  3. ^ a b c "libarchive". www.libarchive.org. Archived from the original on 24 May 2023. Retrieved 25 May 2023.
  4. ^ "ReleaseEngineering". GitHub. Archived from the original on 30 April 2022. Retrieved 25 May 2023.
  5. ^ a b c "LibarchiveUsers". GitHub. Archived from the original on 28 November 2022. Retrieved 25 May 2023.
  6. ^ a b libarchive(3) – FreeBSD Library Functions Manual
  7. ^ "ZeroCopy". GitHub. Archived from the original on 30 April 2022. Retrieved 25 May 2023.
  8. ^ "Libarchive Formats". GitHub. 17 January 2020. Archived from the original on 11 September 2020.
  9. ^ bsdtar(1) – FreeBSD General Commands Manual
  10. ^ bsdcpio(1) – FreeBSD General Commands Manual
  11. ^ bsdcat(1) – FreeBSD General Commands Manual
  12. ^ "Tar and Curl Come to Windows!". Microsoft Community Hub. 21 March 2019. Archived from the original on 15 April 2023. Retrieved 25 May 2023.
  13. ^ Panay, Panos (23 May 2023). "Bringing the power of AI to Windows 11 - unlocking a new era of productivity for customers and developers with Windows Copilot and Dev Home". Windows Developer Blog. Archived from the original on 25 May 2023. Retrieved 25 May 2023.

External links edit

  • Official website