Как я могу создать многокомпонентный tar-файл в Linux?

21

Как я могу создать многокомпонентный tar-файл в Linux?

hopeseekr
источник
1
Похоже, но не то же самое. Связанный вопрос, на который указывает @Sathya, является более сложным и требует более сложного решения.
Ян С.

Ответы:

29

Вы можете использовать splitкоманду, чтобы разделить архив на несколько файлов. Например, если я хочу, чтобы мой архив хранился в файлах размером 1 МБ:

tar -cvf - <stuff to put in archive> | split --bytes=1m --suffix-length=4 --numeric-suffix - myarchive.tar.

И когда я хочу рекомбинировать и разархивировать

cat myarchive.tar.* | tar xvf -
Ян С.
источник
1
в gnu split --numeric-суффиксы - это параметр.
Кевинф
2

GNU Tar изначально поддерживает несколько томов . Есть много вариантов, тот, который я нашел аккуратным, был

tar --create --multi-volume --file=/tmp/file1.tar --file=/tmp/file2.tar files_to_archive 

размер можно указать через -L (длина ленты)

Тем не менее, он не поддерживает сжатие таким образом, поэтому вам придется делать это отдельно. "tar: невозможно использовать многотомные сжатые архивы"

kevinf
источник
1

Используйте tar cдля создания архива tar и укажите k size-in-kbytesпараметр для управления максимальным размером каждой части. В итоге вы получите ((оригинальный размер) / (размер детали) + 1) части.

Путешествующий техник
источник
Где вы взяли "параметр k size-in-kbytes"? Не могу найти его в Linux.
слеске
видел это здесь: computerhope.com/unix/utar.htm
Путешествующий технический парень
1
К сожалению, не в Gentoo Linux.
hopeseekr
Arch Linux, tar (GNU tar) 1.29я тоже не вижу такой опции.
Иван Колмычек