Архив (информатика)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Архив — файл, содержащий в себе один или несколько других файлов, вместе с метаинформацией. Часто используется для сжатия информации. Является результатом работы программы-архиватора.

Архивы могут сохранять структуру каталогов, иметь средства обнаружения и исправления ошибок (например, контрольные суммы), содержать комментарии, а также шифровать данные при помощи пароля.

Существуют архивы, оформленные в виде программ. Они являются самораспаковывающимися, то есть для их распаковки не требуется иметь совместимый архиватор установленным на компьютере.

Виды архивов[править | править исходный текст]

Схема совместного использования архиватора и компрессора
  • Файл, составленный из одного или нескольких файлов и метаданных, без использования сжатия. Создаются, например, программой tar. Иногда используются совместно с программами сжатия для получения архивов, обычно имеющих расширения типа «.tar.gz» или «.tar.lzma».
  • Файл, содержащий ровно один сжатый файл. Часто встречается в UNIX-подобных ОС: compress, gzip, bzip2, freeze, lzma. Используются самостоятельно или вместе с программами типа tar для получения архивов, обычно имеющих расширения типа «.tar.gz» или «.tar.bz2».

Многие архиваторы и форматы архивов объединяют эти две функции в произвольном порядке, например, 7z, ARJ, ZIP. Многие архиваторы сначала сжимают каждый входной файл, а затем объединяют их в единый архив. Однако для достижения большей степени сжатия эти операции применяются в обратном порядке (сжатие производится после объединения), в таких случаях архив называется «непрерывным». Непрерывные архивы затрудняют восстановление данных при повреждении архива и усложняют частичную распаковку архива.

Имея архив, можно получить исходный файл с помощью соответствующей программы распаковки (иногда объединённой с программой для создания архивов).

Сам архив может состоять из нескольких файлов для облегчения хранения и переноса большого количества данных при ограничениях на размер одной части — например, носителя данных, или сообщения e-mail. Такой архив называется многотомным.

К архиву может быть присоединён исполняемый код, который при выполнении распаковывает архив. Код может быть полнофункциональной программой распаковки этого формата архивов. Такой архив называется самораспаковывающимся (англ. self-extracting, иногда сокращённо «SFX»).

Данные в архиве могут быть зашифрованы каким-либо способом. При использовании универсальных архиваторов обычно используется просто шифрование с паролем.

При использовании Unix-архиваторов tar, gzip, шифрование можно производить с помощью утилиты GnuPG. Тогда результирующий файл может имеет расширение .tar.gz.gpg.

Метаданные[править | править исходный текст]

Архив почти всегда содержит метаданные. Например:

  • Имена файлов (кроме некоторых программ сжатия одиночных файлов — например, gzip, где в качестве имени файла используется имя архива без расширения, добавленного такой программой)
  • Идентификаторы владельцев, групп, и т. п. файлов, и их прав
  • Размеры файлов
  • Даты изменения, создания файлов
  • Контрольные суммы файлов для проверки правильности распаковки
  • Размер и контрольные суммы архива
  • Избыточные данные для восстановления данных при повреждении
  • Цифровая подпись создателя архива

См. также[править | править исходный текст]

Литература[править | править исходный текст]