In computing, an archive file is a computer file that is composed of one or more files along with metadata. Archive files are used to collect multiple data files together into a single file for easier portability and storage, or simply to compress files to use less storage space. Archive files often store directory structures, error detection and correction information, arbitrary comments, and sometimes use built-in encryption.
Archive files are particularly useful in that they store file system data and metadata within the contents of a particular file, and thus can be stored on systems or sent over channels that do not support the file system in question, only file contents – examples include sending a directory structure over email, files with names unsupported on the target file system due to length or characters, and retaining files' date and time information.
Additionally, it facilitates transferring high numbers of small files such as resources of saved web pages, since a container file is transferred using a single file operation, whereas transferring many small files requires the computer to modify the file system structure for each file individually, making it considerably slower.
Beyond archival purposes, archive files are frequently used for packaging software for distribution, as software contents are often naturally spread across several files; the archive is then known as a package. While the archival file format is the same, there are additional conventions about contents, such as requiring a manifest file, and the resulting format is known as a package format. Examples include deb for Debian, JAR for Java, APK for Android, and self-extracting Windows Installer executables.
Features supported by various kinds of archives include:
- converting metadata into data stored inside a file (e.g., file name, permissions, etc.)
- checksums to detect errors
- data compression
- file concatenation to store multiple files in a single file
- file patches / updates (when recording changes since a previous archive)
- error correction code to fix errors
- splitting a large file into many equal sized files for storage or transmission
Some archive programs have self-extraction, self-installation, source volume and medium information, and package notes/description.
The file extension or file header of the archive file are indicators of the file format used. Computer archive files are created by file archiver software, optical disc authoring software, and disk image software.
- Archiving only formats store metadata and concatenate files.
- Compression only formats only compress files.
- Multi-function formats can store metadata, concatenate, compress, encrypt, create error detection and recovery information, and package the archive into self-extracting and self-expanding files.
- Software packaging formats are used to create software packages that may be self-installing files.
- Disk image formats are used to create disk images of mass storage volumes.
Java also introduced a whole family of archive extensions such as jar and war (j is for Java and w is for web). They are used to exchange entire byte-code deployment. Sometimes they are also used to exchange source code and other text, HTML and XML files. By default they are all compressed.
Error detection and recovery
Archive files often include parity checks and other checksums for error detection, for instance zip files use a cyclic redundancy check (CRC). RAR archives may include additional error correction data (called recovery records).
Archive files that do not natively support recovery records can use separate parchive (PAR) files that allows for additional error correction and recovery of missing files in a multi-file archive.
- "Archive File: What it's Used For" (in en). https://www.lifewire.com/what-is-an-archive-file-2625792.
- "Archive files" (in en-us). 2015-02-07. https://www.ibm.com/docs/en/zos/2.1.0?topic=routine-archive-files.
- "What is Archiving And Why is it Important?" (in en). 2015-03-23. https://www.securedatamgt.com/blog/what-is-archiving/.
- "Data Portability and Platform Competition | Is User Data Exported From Facebook Actually Useful to Competitors?". pp. 22. https://ia802501.us.archive.org/29/items/data_portability_and_platform_competition_-_is_user_data_exported_from_facebook_/data_portability_and_platform_competition_-_is_user_data_exported_from_facebook_actually_useful_to_competitors.pdf.
- "Why file transfer speeds of small vs large files could be different" (in en). 2020-06-17. https://kb.netapp.com/Advice_and_Troubleshooting/Data_Storage_Software/ONTAP_OS/Why_file_transfer_speeds_of_small_vs_large_files_could_be_different.
- "Why Small Files Take Longer to Copy Than Large Files" (in en-GB). 2018-10-10. https://www.dq-int.co.uk/blog/why-small-files-take-longer-to-copy-than-large-files/.
- Manager, Amit Ashbel, Senior Marketing and Strategy. "Data Archiving: The Basics and 5 Best Practices" (in en-us). https://cloud.netapp.com/blog/clc-blg-data-archiving-the-basics-and-5-best-practices.
- "What Is a File Extension & Why Are They Important?" (in en). https://www.lifewire.com/what-is-a-file-extension-2625879.
- "What are Archive Files?". https://www.exefiles.com/en/extensions/file-types/archive/.
- "Common file name extensions in Windows". https://support.microsoft.com/en-us/windows/common-file-name-extensions-in-windows-da4a4430-8e76-89c5-59f7-1cdbbc75cb01.
- Malefanem, Moses. Learning Java Network Programming. https://www.academia.edu/21445522.
- Drummond, James R. (1997) (in En). Parity, Checksums and CRC Checks (1st ed.). Toronto. pp. 13. https://faraday.physics.utoronto.ca/PVB/Drummond/Micro/ln_comm1.pdf.
- text. "What are PAR and PAR2 Files?" (in en). https://help.easynews.com/kb/article/72-what-are-par-and-par2-files/.
- "Application Note on the .ZIP file format"- official white paper published by PKWARE, Inc.
- Tape Archive (.TAR) file format specification- excerpt from File Format List 2.0 by Max Maischein
- "IBM 726 Magnetic tape reader/recorder from IBM Archives
- "1401 Data Processing System" from IBM Archives
Original source: https://en.wikipedia.org/wiki/Archive file. Read more