tar shows "is not a bzip2 file" error when uncompressing a .tar.bz file

2

2

I've a data_or.tar.bz file

I tried to extract it with

$ tar xjvf data_or.tar.bz

Output is

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

Can only bz2 files be extracted with tar command?

-- update

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

Mithun Sreedharan

Posted 2011-11-29T10:09:30.470

Reputation: 1 485

2maybe it was wrongly named? if you feel lucky try tar xzvf ... or tar xvf ... - otherwise maybe a look into the head may reveal details. – bdecaf – 2011-11-29T10:14:58.603

5Try file data_or.tar.bz which should tell you if the file is simply a mis-named archive of a different type. – Mokubai – 2011-11-29T10:18:07.917

@Mokubai [lease see updated question – Mithun Sreedharan – 2011-11-29T10:31:13.093

Answers

7

Your tarball is uncompressed. The extension .bz is obsolete and misleading.

You can decompress using the following command:

tar xvf data_or.tar.bz

What probably happened here is that data_or.tar.bz was created with the --auto-compress switch (or tar -cavf) that chooses the compression algorithm from the supplied extension.

The proper extension for bzip2 compressed files is .bz2, while the .bz extension is for bzip compressed files.

bzip uses arithmetic encoding (which is a patented algorithm), so bzip2 was created in 1997 as a patent-free alternative. As a result, bzip2 and bzip are incompatible.

tar cannot handle bzip (de)compression, so the --auto-compress switch resulted in an uncompressed tarball.

Dennis

Posted 2011-11-29T10:09:30.470

Reputation: 42 934