2012-09-28 19:40:38 +0000 2012-09-28 19:40:38 +0000
402
402

Como descomprimir um ficheiro .bz2

Tenho um ficheiro como: filename.bz2 Preciso de descomprimir.

Tentei o comando: tar xvjf filename.tar.bz2, mas não funcionou porque o ficheiro não é um ficheiro tar.

Como descomprimir este ficheiro?

Respostas (6)

528
528
528
2012-09-28 19:42:03 +0000

Tente o seguinte:

bzip2 -d filename.bz2

Note que este comando não irá preservar o arquivo original.

Para preservar o arquivo original, adicione a opção -k:

bzip2 -dk filename.bz2
67
67
67
2012-09-28 19:49:53 +0000

Para explicar um pouco mais, um único ficheiro pode ser comprimido com bzip2 assim:

bzip2 myfile.txt

tar só é necessário quando se comprime vários ficheiros:

tar cvjf myfile.tar.bz *.txt

Assim, quando se descomprime um ficheiro .bz2 utiliza bunzip, quando se descomprime um ficheiro tar.bz2 utiliza tar xjvf.

20
20
20
2012-09-28 19:42:07 +0000

Utilize o comando bunzip2 (ou bzip2 -d) para descomprimir o ficheiro. Para mais informações, consulte esta página man page ,

14
14
14
2017-01-25 18:50:35 +0000

bzip2 é mono-threaded, o que significa que levará muito tempo a descomprimir um ficheiro grande.

Para descomprimir um ficheiro .bz2 multithreadedly, pode usar o programa gratuito de código aberto lbzip2 :

sudo apt-get install lbzip2
lbzip2 -d my_file.bz2

-d indica que deseja descomprimir o ficheiro. Determinará automaticamente quantos fios irá utilizar. Para especificar o número exacto de threads que pretende utilizar, utilize o parâmetro -n, por exemplo

lbzip2 -d -n 32 my_file.bz2

Mais alguns comandos úteis com lbzip2:

Para comprimir uma pasta:

tar -c -I lbzip2 -f file.tar.bz2 folder_name

Para descomprimir uma pasta:

tar -I lbzip2 -xvf file.tar.bz2

Parâmetros:

-I, --use-compress-program PROG
      filter through PROG (must accept -d)
-x, --extract, --get
      extract files from an archive
-v, --verbose
      verbosely list files processed
-f, --file ARCHIVE
      use archive file or device ARCHIVE

Algumas alternativas para descomprimir um ficheiro .bz2 multithreadedly: pbzip2 :

sudo apt-get install pbzip2
pbzip2 -d my_file.bz2

mpibzip2 : concebido para ser utilizado em máquinas de cluster.


Se precisar de alguns ficheiros .bz2 de grandes dimensões para experimentar: https://dumps.wikimedia.org/mirrors.html

Por exemplo (um ficheiro de 14 GB .bz2, 200 GB não comprimido):

wget http://dumps.wikimedia.your.org/wikidatawiki/20170120/wikidatawiki-20170120-pages-articles-multistream.xml.bz2 
lbzip2 -d -n 32 wikidatawiki-20170120-pages-articles-multistream.xml.bz2

http://vbtechsupport.com/1614/ fez o benchmark:


Para mais informações sobre os parâmetros para lbzip2: http://explainshell.com/explain?cmd=lbzip2+-d+-n+32+my_file.bz2 :

3
3
3
2015-05-21 11:12:31 +0000
bzip2 -dc my_file.tar.bz2 | tar xvf -

trabalharam para mim no cygwin

-5
-5
-5
2016-01-14 13:57:06 +0000
  1. Vá a https://cloudconvert.com .
  2. Carregue o ficheiro.
  3. Converta-o para um ficheiro .tar.
  4. Faça o download do ficheiro.
  5. Extraia-o dali, no seu terminal.