В вычислениях, твердое сжатие - это метод сжатия данных нескольких файлов, в котором все несжатые файлы объединяются и обрабатываются как один блок данных. Такой архив называется сплошным архивом. Он изначально используется в форматах 7z и RAR, а также косвенно в форматах на основе tar, таких как . tar. gz и .tar.bz2 . Напротив, формат ZIP не является надежным, потому что он хранит отдельно сжатые файлы (хотя твердое сжатие можно эмулировать для небольших архивов, объединяя файлы в несжатый архивный файл и затем сжимая этот архивный файл во втором сжатом архиве). ZIP-файл).
Сжатые форматы файлов часто поддерживают оба сжатия (хранение данных в небольшом пространстве) и архивирование (хранение нескольких файлов и метаданных в одном файле). Их можно объединить двумя естественными способами:
Порядок имеет значение (эти операции не коммутируют ), и последнее является твердым сжатием.
В Unix сжатие и архивирование традиционно являются отдельными операциями, что позволяет понять это различие:
Твердое сжатие обеспечивает гораздо лучшую степень сжатия, когда все файлы похожи, что часто бывает, если они одного и того же формат файла. Это также может быть эффективным при архивировании большого количества небольших файлов.
С другой стороны, получение одного файла из сплошного архива требует обработки всех файлов перед ним, поэтому изменение твердых архивов может быть медленным и неудобным. В более новых форматах, таких как 7-zip, есть опция размера сплошного блока, которая позволяет разделить объединенный блок данных на индивидуально сжатые блоки меньшего размера, так что только ограниченный объем данных в блоке должен быть обработан, чтобы извлечь один файл. Параметры управляют максимальным размером окна сплошного блока, количеством файлов в блоке и разделением блоков по расширению файла.
Кроме того, если архив становится даже слегка поврежденным, некоторые данные (иногда даже все data) после того, как поврежденная часть в блоке может быть непригодной для использования (в зависимости от формата сжатия и архивирования), тогда как в формате нетвердого архива, как правило, только один файл непригоден для использования, а последующие файлы обычно могут быть извлечены.
-ms = on [:] сплошной архив на