2

У меня есть файл data_or.tar.bz

Я пытался извлечь его с

$ tar xjvf data_or.tar.bz

Выход

bzip2: (stdin) is not a bzip2 file.
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Можно ли извлечь только файлы bz2 с помощью команды tar ?

-- Обновить

$ file data_or.tar.bz 
data_or.tar.bz: POSIX tar archive (GNU)

1 ответ1

6

Ваш тарболл несжатый. Расширение .bz устарело и вводит в заблуждение.

Вы можете распаковать с помощью следующей команды:

tar xvf data_or.tar.bz

Вероятно, здесь произошло то, что data_or.tar.bz был создан с --auto-compress (или tar -cavf), который выбирает алгоритм сжатия из предоставленного расширения.

Правильное расширение для сжатых файлов bzip2 - .bz2 , в то время как расширение .bz - для сжатых файлов bzip .

bzip использует арифметическое кодирование (которое является запатентованным алгоритмом), поэтому bzip2 был создан в 1997 году как альтернатива без патента. В результате bzip2 и bzip несовместимы.

tar не может обработать сжатие bzip (de), поэтому --auto-compress несжатый архив.

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