Как заархивировать папку с большим количеством дубликатов файлов с максимально возможным уровнем сжатия?

Я знаю, что использование tar с параметром -J позволяет сжимать папку с высоким уровнем сжатия, в результате получается файл tar.xz.

У меня есть папка с несколькими резервными копиями моего рабочего пространства, каждая из которых содержит множество библиотек (.so и.a и т. Д.), Которые обычно, но не всегда, представляют собой одни и те же файлы для каждой резервной копии (дублированные файлы).

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

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

1 ответ

Решение

Вы, вероятно, хотите полностью исключить все резервные копии.

В противном случае все, что создает сплошной архив, должно обрабатывать дубликаты файлов достаточно эффективно, поэтому tar+*, cpio+*, 7-zip (с опцией "solid"), RAR (с опцией "solid") или кучу других, но не ZIP.

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

Другие вопросы по тегам