Como converter tar.bz2 para .bz2?

1

Eu tenho um arquivo com compressão tar.bz2, gostaria de convertê-lo para .bz2. Existe um comando que faz isso de uma só vez?

Eu tentei o abaixo, mas sem alegria!

 tar -xvjf US.tar.bz2
 US

 bzip2: Compressed file ends unexpectedly;
         perhaps it is corrupted?  *Possible* reason follows.
 bzip2: Inappropriate ioctl for device
         Input file = (stdin), output file = (stdout)

 It is possible that the compressed file(s) have become corrupted.
 You can use the -tvv option to test integrity of such files.

 You can use the 'bzip2recover' program to attempt to recover
 data from undamaged sections of corrupted files.

 tar: Unexpected EOF in archive
 tar: Unexpected EOF in archive

P.S.

Eu também tentei o seguinte:

bunzip2 -c < US.tar.bz2 | gzip -c > us.bz2

que produz:

bunzip2: Compressed file ends unexpectedly;
    perhaps it is corrupted?  *Possible* reason follows.
bunzip2: Inappropriate ioctl for device
    Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the 'bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
    
por mehany 02.11.2015 / 20:51

1 resposta

0

tar é como um arquivo zip que armazena vários outros arquivos, mas não os compacta. bzip2 compacta um arquivo, mas apenas um por vez. Um arquivo .tar.bz2 provavelmente indica que vários arquivos foram colocados em tar e subsequentemente compactados. Você não pode abocanhá-los juntos sem tostá-los, primeiro.

Seu erro é porque seu arquivo .tar.bz2 está corrompido. Veja um exemplo de um arquivo funcionando corretamente abaixo.

$ ls
test_file.tar.bz2
$ tar xvjf test_file.tar.bz2 
test_file
$ ls
test_file  test_file.tar.bz2

EDITAR

No exemplo acima, havia apenas um arquivo no tar. Se você quiser zipar apenas essa pasta:

$ bzip2 test_file
$ ls
test_file.bz2
    
por 02.11.2015 / 21:11