tar -xvjf file.tar.bz2 >> Because the flag 'j' is used, tar command will call bzip2 to process the decompression.
Reported error explained:
bzip2: (stdin) is not a bzip2 file. >> bzip2 reported to parent process (tar) that the received file to process is NOT bz2 format
tar: Child returned status 2 >> tar reports the error status received from bzip2 child process by exiting execution.
In man documentation, error status means "2 to indicate a corrupt compressed file". As bzip2 did not recognized the format, it reports it as 'corrupt'
tar: Error is not recoverable: exiting now >> According to message received from child, compressed file is not accepted for processing
Steps to fixing the issue:
1- verify the format of the compression
file file.tar.bz2
POSIX tar archive (GNU) - "Or whatever other format", then correct it with the next step 2
2- tar -xvf file.tar.bz2
- "in case its a posix tar archive format"
tar xzvf ...
ortar xvf ...
- otherwise maybe a look into the head may reveal details.file data_or.tar.bz
which should tell you if the file is simply a mis-named archive of a different type.