У меня есть папка с около 50 файлов. Я хочу создать небольшие файлы tar.gz (10 МБ каждый) из этих 50 файлов.

Я пробовал команду split

tar cvzf - /dir | split --bytes=10MB - backup.tar.gz

Это делит файлы на более мелкие файлы tar.gz, но они больше не могут быть извлечены. (backup.tar.gzaa, backup.tar.gzab и т. д.)

Как я могу разделить их на несколько файлов tar.gz, где каждый самораспаковывающийся?

Я хотел бы иметь что-то вроде backup.tar.gz, backup1.tar.gz, чтобы я мог копировать отдельные файлы на машину Windows, как и когда это необходимо.

Заранее спасибо.

1 ответ1

0

Я хочу создать небольшие файлы tar.gz (10 МБ каждый)

Я попробовал команду split tar cvzf - /dir | split --bytes = 10 МБ - backup.tar.gz

Split разбивает файл. Это работает просто отлично. Однако gzip нужна вся информация. Таким образом, вам нужно будет объединить все предыдущие файлы еще раз, чтобы распаковать.

Что вы могли бы сделать, это создать тары размером около 20 МБ, а затем сжать каждый из них. Изменяйте размер, пока они не уменьшат сжатые 10 МБ.

Поскольку сжатие зависит от содержимого, это след и ошибка.

Я хотел бы иметь что-то вроде backup.tar.gz, backup1.tar.gz, чтобы я мог копировать отдельные файлы на машину Windows, как и когда это необходимо.

Лучшее решение, которое я могу выбрать: выбрать около 20 МБ файлов. Затем распакуйте их в одно целое, затем сожмите (с помощью -z для gzip) или любую другую программу.

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

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