Cómo descomprimir un archivo .bz2


377

Tengo un archivo como: filename.bz2Necesito descomprimir.

He intentado el comando: tar xvjf filename.tar.bz2pero no funcionó ya que el archivo no es un tararchivo.

¿Cómo descomprimo este archivo?

Respuestas:


497

Intenta lo siguiente:

bzip2 -d filename.bz2

Tenga en cuenta que este comando no conservará el archivo original.

Para preservar el archivo original, agregue la -kopción:

bzip2 -dk filename.bz2

44
También puede usar bunzip2, que por defecto usa la opción -d (descomprimir).
RonaldB

2
@LewisDiamond corrí bzip2 -d vim-8.0.tar.bz2, eso resulta vim-8.0.tar. No pude entrar en esto.
alhelal

44
@alhelal eso es porque es un archivo .tar.bz2. Descomprimiste el tarball, te queda el tarbal descomprimido. Extraerlo con tar -x vim-8.0.tar. Originalmente podrías haberlo usado tar -xjvf vim-8.0.tar.bz2.
Lewis Diamond

Una ligera corrección al comentario de Lewis, tar también necesita -f (al menos en Raspbian Wheezy) de la siguiente maneratar -xf vim-8.0.tar
JulianHarty

65

Para explicar un poco más, un solo archivo se puede comprimir bzip2así:

bzip2 myfile.txt

tar solo es necesario al comprimir varios archivos:

tar cvjf myfile.tar.bz *.txt

Por lo tanto, al descomprimir .bz2el uso de un archivo bunzip, al descomprimir tar.bz2el uso de un archivo tar xjvf.


66
Excelente consejo sobre el xjvf, me acaba de salvar. ¡Gracias!
Edgar Aroutiounian

44
Solo puedes usar tar xjf filename.tar.bz2. El vsolo agrega una salida detallada. ¡Mantenga su terminal limpia! También tuve problemas ejecutando tar -xjf, así que asegúrese de que intente ejecutar el sans-
MrOodles

1
tar xfdebería ser suficiente con la variante BSD - la jbandera solo se usa al comprimir
Mark Fox


12

bzip2 es monohilo, lo que significa que llevará mucho tiempo descomprimir un archivo grande.

Para descomprimir un .bz2archivo multiproceso, puede usar el programa gratuito de código abierto lbzip2:

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

-dindica que desea descomprimir el archivo. Determinará automáticamente cuántos hilos usará. Para especificar el número exacto de hilos que desea usar, use el -nparámetro, por ejemplo:

lbzip2 -d -n 32 my_file.bz2

Algunos comandos más útiles con lbzip2:

Para comprimir una carpeta:

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

Para descomprimir una carpeta:

 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

Algunas alternativas para descomprimir un .bz2archivo multiproceso:

pbzip2:

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

mpibzip2: diseñado para ser utilizado en máquinas de clúster.


Si necesita algunos .bz2archivos grandes para experimentar: https://dumps.wikimedia.org/mirrors.html

Por ejemplo (un .bz2archivo de 14 GB , 200 GB sin comprimir):

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/ hizo el punto de referencia:

ingrese la descripción de la imagen aquí


Para obtener más información sobre los parámetros para lbzip2: http://explainshell.com/explain?cmd=lbzip2+-d+-n+32+my_file.bz2 :

ingrese la descripción de la imagen aquí


3
bzip2 -dc my_file.tar.bz2 | tar xvf -

trabajó para mí en Cygwin


1
Sería útil si pudiera agregar algunas oraciones a su respuesta para explicar lo que hace.
Fixer1234

2
@ fixer1234 La opción '-c' copia la salida descomprimida en STDOUT que luego se canaliza a la utilidad tar y se presenta como nombre de archivo usando '-' para que pueda simplificarlo como: bzip2 -d my_file.tar.bz2 ; tar xvf my_file.tar
sactiw

1
Creo que incluso esto debería funcionar, bzip2 -dc my_file.tar.bz2 | tar xves decir, no es necesario usar la opción -f y el signo '-' correspondiente después porque tar puede leer directamente desde STDOUT a través del operador de tubería. Además, no dude en soltar la opción -v si no desea enumerar los archivos que se están procesando.
Sábado

2
Esto no ayuda, ya que el póster original ya mencionó que no es un tararchivo.
agua helada

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.