Любая команда Linux для выполнения параллельной распаковки файла tar.bz2?

У меня довольно большой файл (~ 50 ГБ), и для его запуска требуется некоторое время

tar xvf file.tar.bz2

. Мне известны программы, которые могут выполнять параллельное сжатие для файлов bzip2, но я не знаю программ, которые могут выполнять параллельную распаковку для файлов bzip2.

Есть ли программы, которые могут достичь этого? Какой точный синтаксис команды использовать для извлечения из файла?

Я использую Ubuntu 12.04

17
задан 8 November 2012 в 12:37

4 ответа

lbzip2 и pbzip2 инструменты, которые можно использовать для параллельного сжатия и распаковки.

Использование:

lbzip2 -d <file.tar.bz2> 
pbzip2 -d <file.tar.bz2> 

-d опция используется для распаковки.

Устанавливать эти пакеты:

lbzip2 Install lbzip2тип:

sudo apt-get install lbzip2

pbzip2 Install pbzip2тип:

sudo apt-get install pbzip2
22
ответ дан 8 November 2012 в 12:37

lbzip2 кажется намного лучше, чем pbzip2 в вашем случае, поскольку он способен ускорить распаковку стандартных файлов .bz2, в то время как pbzip2 этого не делает. (Только что проверил - 17 секунд для lbzip2 против 56 секунд для pbzip2 на частично загруженном четырехъядерном процессоре).

0
ответ дан 8 November 2012 в 12:37

Вы можете распаковать ваш архив с помощью одиночной команды , используя опцию tar -I. Это дает вам возможность использовать любую утилиту сжатия, которая поддерживает опцию -d.

tar -I lbzip2 -xvf <file.tar.bz2>

Это очень полезно при работе с большим архивом, поскольку вам не нужно иметь вдвое больше несжатого размера, доступного в целевой файловой системе (временный файл tar и выходной файл). Это также быстрее, так как вам нужно гораздо меньше дискового ввода-вывода.

Конечно, это работает и при сжатии:

tar -I lbzip2 -cvpf <file.tar.bz2> <file>

Проверьте tar --help, чтобы узнать больше опций.

0
ответ дан 8 November 2012 в 12:37

Вы можете использовать pbzip2 с флагом -d для «распаковки»,

из man-страницы:

  pbzip2 -d myfile.tar.bz2

. в распакованный файл "myfile.tar". Он будет использовать автоматически определенное количество процессоров (или 2 процессора, если автоматическое определение не поддерживается).

После распаковки вам нужно распаковать файл с помощью

 tar xf myfile.tar

. Tar-файл - это просто контейнер, к которому вы можете применить несколько алгоритмов сжатия, например, вы можете иметь «.tar. gz "или" .tar.bz2 ", к которым применяются разные алгоритмы сжатия. Таким образом, pbzip2 будет только распаковывать архив, но не будет извлекать файлы, используйте tar для распаковки файлов. Tar не должен занимать много времени, так как архив уже распакован, и он просто извлечет файлы. (обратите внимание, что мы не используем флаг 'z' или флаг 'j' в команде tar, что указывает на то, что мы также хотим распаковать файл)

0
ответ дан 8 November 2012 в 12:37

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

Похожие вопросы: