Введение

Один или несколько компьютерных файлов с метаданными. В информатике, архивный файл — это компьютерный файл, состоящий из одного или нескольких файлов вместе с метаданными. Многие форматы архивов также поддерживают сжатие файлов, входящих в архив. Архивные файлы используются для объединения нескольких файлов данных в один файл для удобства переноса и хранения, или просто для сжатия файлов с целью экономии места на диске. Архивные файлы часто хранят структуру каталогов, информацию об обнаружении и исправлении ошибок, комментарии, а некоторые используют встроенное шифрование.

Переносимость

Архивные файлы особенно полезны тем, что они хранят данные файловой системы и метаданные внутри самого файла, и таким образом могут быть сохранены на системах или переданы по каналам, которые не поддерживают данную файловую систему, а работают только с содержимым файлов. Примеры включают отправку структуры каталогов по электронной почте, файлы с именами, не поддерживаемыми целевой файловой системой из-за их длины или используемых символов, а также сохранение информации о дате и времени создания файлов. Один архивный файл может содержать несколько файлов; это может ускорить передачу файлов и другие операции, требующие обработки каждого файла по отдельности, помимо преимуществ, связанных со сжатием.

Распространение программного обеспечения

Помимо использования в целях архивирования, архивные файлы часто применяются для упаковки программного обеспечения с целью распространения, так как компоненты программного обеспечения обычно распределены по нескольким файлам; в этом случае архив называют пакетом. Хотя формат архивного файла остается тем же, существуют дополнительные соглашения относительно содержимого, например, требование наличия манифест-файла, и результирующий формат известен как формат пакета. Примеры включают deb для Debian, JAR для Java, APK для Android и самораспаковывающиеся исполняемые файлы установщика Windows.

Форматы архива

Архивный формат — это формат файла архива. Некоторые форматы чётко определены их разработчиками и стали общепринятыми стандартами, поддерживаемыми различными производителями и сообществами.

Типы

Форматы, предназначенные только для архивирования, хранят метаданные и объединяют файлы. Форматы, предназначенные только для сжатия, сжимают файлы. Многофункциональные форматы могут хранить метаданные, объединять, сжимать, шифровать, создавать информацию для обнаружения и восстановления ошибок, а также упаковывать архив в самораспаковывающиеся и самоизвлекающиеся файлы. Форматы упаковки программного обеспечения используются для создания программных пакетов, которые могут быть самоустанавливающимися файлами. Форматы образов дисков используются для создания образов дисков томов массового хранения.

Примеры

Расширения имен файлов, используемые для различения различных типов архивов, включают zip, rar, 7z и tar, причем первое из них наиболее распространено. Java также представила целое семейство расширений архивов, таких как jar и war (j означает Java, а w — web). Они используются для обмена полными пакетами байт-кода для развертывания. Иногда их также применяют для обмена исходным кодом, а также другими текстовыми файлами, HTML и XML. По умолчанию все они сжаты.

Выявление и восстановление ошибок

Архивные файлы часто включают проверки четности и другие контрольные суммы для обнаружения ошибок, например, zip-файлы используют циклическую проверку избыточности (CRC). Архивы RAR могут содержать дополнительные данные для восстановления ошибок (называемые записями восстановления). Архивные файлы, которые не поддерживают встроенное восстановление, могут использовать отдельные файлы PAR (Parchive), позволяющие дополнительно исправлять ошибки и восстанавливать отсутствующие файлы в многотомном архиве.