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?

Jurado A
fuente

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
Lewis Diamond
fuente
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.

Benj
fuente
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
20

Use el comando bunzip2(o bzip2 -d) para descomprimir el archivo. Para obtener más información, consulte esta página de manual ,

Levon
fuente
Enlace roto Levon
ankii
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í

Franck Dernoncourt
fuente
3
bzip2 -dc my_file.tar.bz2 | tar xvf -

trabajó para mí en Cygwin

Vishal
fuente
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
-4
  1. Vaya a https://cloudconvert.com .
  2. Sube el archivo.
  3. Conviértalo en un archivo .tar.
  4. Descargalo.
  5. Extraerlo de allí, en tu terminal.
Señor de santos
fuente
77
¡No es adecuado para archivos realmente grandes!
narendranathjoshi
99
Somos superusuarios Queremos una solución basada en terminal.
noɥʇʎԀʎzɐɹƆ
@Señor. de Santos ... y, por lo tanto, ceder el control sobre sus datos. Usted no puede ser serio.
dirdi