LibArchive for Windows
LibArchive: library for reading and writing streaming archives
2.4.12
Libarchive is a programming library that can create and read several
different streaming archive formats, including most popular tar variants,
several cpio formats, and both BSD and GNU ar variants. It can also write
shar archives and read ISO9660 CDROM images and ZIP archives. The bsdtar
program is an implementation of tar(1) that is built on top of libarchive.
It started as a test harness, but has grown into a feature-competitive
replacement for GNU tar.
The libarchive library offers a number of features that make it both very
flexible and very powerful.
- Automatic format detection: libarchive can automatically determine both
the compression and the archive format, regardless of the data source.
(GNU tar and star only do full format detection when reading from a file,
for instance. Gunnar Ritter's heirloom tar also does full automatic format
detection.)
- Reads popular formats: libarchive can read GNU tar, ustar, pax interchange
format, cpio, zip, and ISO9660 formats. The internal architecture is easily
extensible. The only requirement for read support is that all metadata for a
file must precede the file data itself within the archive.
- Writes popular formats: libarchive can write ustar, pax interchange format,
cpio, and shar formats. The internal architecture is easily extensible. The
only requirement for write support is that all metadata for a file must follow
the preceding file's data within the archive. (Yes, there are formats that
libarchive can write but not read and vice versa.)
- Reads and writes POSIX formats: libarchive reads and writes POSIX-standard
formats, including "ustar," "pax interchange format," and the POSIX "cpio" format.
- Supports pax interchange format: Pax interchange format (which, despite the
name, is really an extended tar format) eliminates almost all limitations of
historic tar formats and provides a standard method for incorporating vendorspecific
extensions. libarchive exploits this extension mechanism to support
ACLs and file flags, for example. (Joerg Schilling's star archiver and recent
versions of GNU tar also support pax interchange format.)
- High-Level API: the libarchive API makes it fairly simple to build an archive
from a list of filenames or to extract the entries from an archive. However, the
API also provides extreme flexibility with regards to data sources. For example,
there are generic hooks that allow you to write an archive to a socket or read
data from an archive entry into a memory buffer.
- Modular: The library design carefully minimizes link pollution. If you
only need read support for a single format, for example, you will only get
the required code. This minimizes the size of statically-linked executables.
(In particular, zlib or libbz2 are only required if you specifically request
gzip or bzip2 support.)
- Extensible: The internal design uses generic interfaces for compression,
archive format detection and decoding, and archive data I/O. It should be
very easy to add new formats, new compression methods, or new ways of
reading/writing archives.
- Featureful: Libarchive handles ACLs, file flags, extended attributes,
international characters, large files, long pathnames, and many other
features. Details vary depending on the particular format, of course.
- Fast: Libarchive minimizes data copying when handling archive files and
contains carefully-tuned code for recreating objects on disk.
The bsdtar archiving program is built on libarchive, so offers a variety of
modern features. One unusual feature it offers is the ability to function
as a format-conversion filter, reading entries from one archive and emitting
an archive in a different format with the same contents. This feature was
simple to implement because libarchive's robust automatic format detection
makes it unnecessary to specify the format of the input archive.
The bsdtar program has a number of advantages over previous tar implementations:
- Library. Since the core functionality is in a library, it can be used by
other tools, such as pkg_add.
- Automatic format detection. Libarchive automatically detects the
compression (none/gzip/bzip2) and format (old tar, ustar, gnutar, pax, cpio,
iso9660, zip) when reading archives. It does this for any data source.
- Pax Interchange Format Support. This is a POSIX/SUSv3 extension to the old
"ustar" tar format that adds arbitrary extended attributes to each entry.
Does everything that GNU tar format does, only better.
- Handles file flags, ACLs, arbitrary pathnames, etc. Pax interchange
format supports key/value attributes using an easily-extensible technique.
Arbitrary pathnames, group names, user names, file sizes are part of the
POSIX standard; libarchive extends this with support for file flags, ACLs,
and arbitrary device numbers.
- GNU tar support. Libarchive reads most GNU tar archives. If there is
demand, this can be improved further.
- BSD license.
http://people.freebsd.org/~kientzle/libarchive
Sources: http://people.freebsd.org/~kientzle/libarchive/src
If you download the Setup program of the package, any requirements for
running applications, such as dynamic link libraries
(DLL's) from the dependencies as listed below under Requirements, are
already included. If you download the package as Zip files, then you must
download and install the dependencies zip file yourself.
Developer files (header files and libraries) from other
packages are however not included; so if you wish to develop your own
applications, you must separately install the required packages.
Description | | Download | | Size | | Last change | | Md5sum |
• Complete package, except sources | | Setup | | 1140310 | | 27 June 2008 | | 73e612405a10f690beffa8033a76cd46 |
• Sources | | Setup | | 856349 | | 27 June 2008 | | 6b22d9e7e503b1bc1da79eccdf004eef |
|
• Binaries | | Zip | | 263534 | | 27 June 2008 | | f2bd5a4ee39d9fc64b456d516f90afad |
• Developer files | | Zip | | 37691 | | 27 June 2008 | | 63f6e778ea3e8ef7fe198c08197d855c |
• Documentation | | Zip | | 717837 | | 3 February 2008 | | f776dae5e66a25e69652be39c9a63bbd |
• Sources | | Zip | | 1399362 | | 27 June 2008 | | 63f0bbda21069c456a62f518fb2220d6 |
• Dependencies | | Zip | | 73020 | | 31 March 2008 | | 737a54c70e4a42923f6707321c6a6aa6 |
• Original source | | http://people.freebsd.org/~kientzle/libarchive/src/libarchive-2.4.12.tar.gz |
You can also download the files from the GnuWin32
files page.
New releases of the port of this package
can be
monitored.
General Installation Instructions
GnuWin32 Help (feature requests, bugs, etc)
Requirements for running applications, excluding external ones
such as msvcrt.dll, perl, etc, are included in the
Setup program and the dependencies zip file.
- Win32, i.e. MS-Windows 95 / 98 / ME / NT / 2000 / XP / 2003 / Vista / 2008 with msvcrt.dll and msvcp60.dll.
If msvcrt.dll or msvcp60.dll is not in your Windows/System
folder, get them from
Microsoft,
or (msvcrt.dll only) by installing
Internet Explorer 4.0 or higher.
- bzip2
- zlib
libarchive,2.4.12,gnu,win32,win32s,win64,gnuwin32,i386,i486,i586,i686,ia64,x86-64,
gnuwin64,gnuwin,mswindows,ms-windows,windows,95,98,me,nt,2000,2k,xp,2003,vista,2008