Непрерывный архив

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

Непрерывный архив (англ. solid archive) — архив, упакованный таким образом, что все сжимаемые файлы рассматриваются как один непрерывный поток данных. При упаковке каждого файла (кроме первого) используется информация, содержащаяся в предыдущих файлах.

К преимуществам непрерывного архива следует отнести потенциальное увеличение степени сжатия. При этом чем меньше средний размер файлов, чем больше самих файлов и чем более файлы схожи между собой по содержимому, тем сильнее увеличение степени сжатия.

Недостатки непрерывного архива:

  • изменение непрерывного архива (то есть добавление или удаление из него файлов) происходит медленнее, чем обычного;
  • извлечение отдельного файла из середины или конца архива происходит медленнее, чем из его начала, так как для этого приходится распаковывать все предыдущие упакованные файлы (архиватор RAR/WinRAR поддерживает специальный файл, задающий порядок добавления файлов в архив, чтобы, например, файлы readme распаковывались мгновенно);
  • если непрерывный архив окажется повреждён, то не удастся извлечь не только файл, на данные которого приходится повреждение, но и все файлы, следующие после него, поэтому при создании непрерывных архивов имеет смысл всегда добавлять данные для восстановления.

Многотомные и самораспаковывающиеся архивы также могут быть непрерывными.

Архиваторы, позволяющие создавать непрерывные архивы:

  • WinRAR/RAR
  • 7-Zip
  • FreeArc
  • Tar в комбинации с компрессорами gzip, bzip2, lzma (xz) и т. д.; для распаковки даже файлов из начала нужно распаковать весь архив.
  • WinAce

При использовании комбинаций Tar с компрессорами с малым размером словаря эффективность от использования непрерывных архивов снижается. В частности, очень малым словарем обладает gzip (32 КБ) и недостаточно большим - bzip2 (менее 1 МБ)[1].

См. также[править | править код]

  1. https://www.ionos.com/digitalguide/server/tools/archiving-and-compression-using-linux/#