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.7[2] Edit this on Wikidata / 13 October 2024
Repository
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.7 · libarchive/libarchive". Retrieved 13 October 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.
edit