2

У меня есть, например, образ файловой системы, в котором есть сжатые файлы (со слабым сжатием, такие как gzip), например, manpages или архивы с таким же несжатым содержимым поблизости.

Как предварительно отфильтровать данные, чтобы "развернуть" сжатые данные в простую форму (чтобы повторно сжать их сильным сжатием), а затем выполнить пост-фильтрацию после распаковки, чтобы восстановить исходное "полусжатое" изображение? Совпадение SHA-1 - это советы, но они не являются строго обязательными (но получающееся изображение должно работать, например, повторно сжатые файлы не должны слишком сильно расти, быть распакованы и т.д.)

Как улучшение степени сжатия путем изменения алгоритмов слабого сжатия.

Есть ли программы для этого?

1 ответ1

0

Предполагая, что вы находитесь в среде, где вы можете писать и запускать сценарии оболочки, это довольно легко сделать:

когда делаете магазин:

  1. смонтировать образ файловой системы.
  2. искать все файлы с суффиксами "слабого сжатия"
  3. распаковать эти файлы
  4. сохранить где-нибудь список несжатых файлов
  5. размонтировать изображение
  6. сжать изображение

восстановить:

  1. распаковать изображение
  2. смонтировать систему
  3. использовать ранее сохраненный список для сжатия файлов

Это можно сделать с помощью некоторого кода обнаружения файлов в lesspipe.sh из Gentoo, find и gzip, bzipt2 и т.д.

Если вы предпочитаете сжимать отдельные файлы "сильным сжатием", а не целыми изображениями, это, безусловно, также выполнимо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .