Software:libarchive

From HandWiki
Short description: Open-source archive and compression library

libarchive
Initial release2003; 23 years ago (2003)[1]
Written inC
Operating systemcross-platform
Typelibrary
LicenseNew BSD License[2]

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.[2]

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.[3] It was first released with FreeBSD 5.3 in November 2004.[4]

libarchive

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

Supported archive formats:[7]

  • 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.[2] These are complete re-implementation based on libarchive.[8][9] These are the default system tar and cpio on FreeBSD, NetBSD, macOS and Windows.[4]

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

Users

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

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

References