Como converter tar.bz2 para .bz2?

Como converter tar.bz2 para .bz2?

Tenho um arquivo com compactaçã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

PS

Eu tentei o abaixo também:

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.

Responder1

taré como um arquivo zip que armazena vários outros arquivos, mas não os compacta. bzip2compacta um arquivo, mas apenas um de cada vez. Um .tar.bz2arquivo provavelmente indica que vários arquivos foram colocados em um arquivo tare posteriormente compactados. Você não pode juntá-los sem alcatroá-los primeiro.

Seu erro é porque seu .tar.bz2arquivo 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 compactar apenas essa pasta:

$ bzip2 test_file
$ ls
test_file.bz2

informação relacionada