3

У меня есть несколько каталогов, содержащих тысячи файлов gzip (в целом речь идет о файлах 1M). Некоторые из этих файлов повреждены, и большинство из них действительно маленькие (пара КБ).

Почти все они очень похожи по содержанию, поэтому сжатие всех вместе должно улучшить степень сжатия по сравнению с текущей ситуацией.

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

Какова лучшая стратегия здесь? Тар устойчив к коррупции? Я бы предпочел что-то, что может быть реализовано в виде однострочного или простого скрипта bash.

2 ответа2

3

После изучения этого способа я решил бы, как распаковать все файлы, создать список всех сумм sha256 (или любой другой хэш, который вы предпочитаете), а затем сжать все файлы вместе в один архив. Я был бы склонен использовать файл tar.gz для скорости и простоты использования, но вы можете использовать zip или bzip, 7zip, xz или что-то еще, если вы хотите меньший архив. Сжатие всех файлов в один большой сэкономит довольно много места само по себе.

Когда это будет сделано, используйте «par2», чтобы создать избыточность и проверку для zip-файла, и создайте резервную копию файла вместе с файлами .par2. (Я не играл с этим много, но цель par2 состоит в том, чтобы создать архив, который создает избыточность (PARity), чтобы поддержать целостность файлов.

2

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

Вы говорите, что существуют тысячи файлов размером 1 МБ, что соответствует количеству гигабайт. Допустим, у вас есть 5000 файлов, то есть 5 ГБ данных. Допустим, архивирование на Ultra снижает до 2 ГБ. Если вы попробуете другую программу и алгоритм, это будет на 5% лучше (я думаю, это будет высокая оценка), это сэкономит вам только 100 ГБ. Не так много в грандиозной схеме.

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

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