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


21

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



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: невозможно использовать многотомные сжатые архивы"


1

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


Где вы взяли "параметр k size-in-kbytes"? Не могу найти его в Linux.
слеске


1
К сожалению, не в Gentoo Linux.
hopeseekr

Arch Linux, tar (GNU tar) 1.29я тоже не вижу такой опции.
Иван Колмычек
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.