Provided by: manpages-es-extra_0.8a-19_all bug

NOMBRE

       bzip2, bunzip2 - un compresor de ficheros por ordenación de bloques, v0.9.0
       bzcat - descomprime ficheros hacia la salida estándar
       bzip2recover - recupera datos desde ficheros bzip2 dañados

SINOPSIS

       bzip2 [ -cdfkstvzVL123456789 ] [ ficheros ...  ]
       bunzip2 [ -fkvsVL ] [ ficheros ...  ]
       bzcat [ -s ] [ ficheros ...  ]
       bzip2recover fichero

DESCRIPCIÓN

       bzip2  comprime  ficheros  utilizando  el  algoritmo  de compresión de texto por ordenación de bloques de
       Burrows-Wheeler. Generalmente, la compresión obtenida es considerablemente mejor que  la  de  compresores
       más  convencionales  basados  en LZ77/LZ78, y se aproxima al rendimiento de la familia PPM de compresores
       estadísticos.

       Las opciones de la línea de comandos son deliberadamente muy similares a las de GNU  Gzip,  pero  no  son
       idénticas.

       bzip2  espera  que  una  lista de nombres acompañe las opciones de la línea de comandos.  Cada fichero es
       reemplazado por una copia  comprimida  de  él  mismo,  de  nombre  "nombre_original.bz2".   Cada  fichero
       comprimido  tiene la misma fecha de modificación y permisos que el original correspondiente, de forma que
       estas propiedades puedan ser recuperadas correctamente en el momento de la descompresión.  El  manejo  de
       los  nombres  de  los  ficheros  es  "ingenuo" en el sentido de que no hay forma de preservar los nombres
       originales, los permisos y las fechas en los sistemas de ficheros que carecen de estos conceptos,  o  que
       tienen serias restricciones en el tamaño de los nombres, como por ejemplo MS-DOS.

       Por  defecto,  bzip2  y  bunzip2  no  sobreescribirán  ficheros  existentes.  Si quieres que esto ocurra,
       especifica la opción -f.

       Si no se especifica el nombre de ningún fichero, bzip2 comprimirá desde  la  entrada  estándar  hacia  la
       salida  estándar.   En  este caso, bzip2 se negará a escribir la salida comprimida hacia una terminal, ya
       que ésta sería totalmente incomprensible y por lo tanto inútil.

       bunzip2 (o bzip2 -d) descomprime y recupera todos los ficheros  cuyos  nombres  acaben  en  ".bz2".   Los
       ficheros  sin  este  sufijo  son  ignorados.  Al igual que antes, si no se especifica el nombre de ningún
       fichero, la descompresión se realiza desde la entrada estándar hacia la salida estándar.

       bunzip2 descomprimirá  correctamente  un  fichero  que  sea  la  concatenación  de  uno  o  más  ficheros
       comprimidos.  El  resultado es la concatenación de los correspondientes ficheros descomprimidos. Con (-t)
       se puede comprobar la integridad de ficheros concatenados comprimidos.

       También se pueden comprimir o descomprimir ficheros  a  la  salida  estándar  utilizando  la  opción  -c.
       Múltiples  ficheros  pueden  ser comprimidos y descomprimidos de esta forma.  Las salidas resultantes van
       siendo pasadas secuencialmente hacia la salida estándar.  La compresión de  múltiples  ficheros  de  esta
       manera  genera  un  flujo  que contiene múltiples representaciones de ficheros.  Tal flujo solo puede ser
       descomprimido correctamente por la versión 0.9.0 o superior  de  bzip2;  versiones  anteriores  de  bzip2
       pararán tras descomprimir el primer fichero del flujo.

       bzcat (o bzip2 -dc ) descomprime todos los ficheros especificados hacia la salida estándar.

       La  compresión  siempre  se  realiza,  incluso  aunque el fichero comprimido sea ligeramente mayor que el
       original. Los ficheros de menos de cien bytes tienden a hacerse más  grandes,  ya  que  el  mecanismo  de
       compresión  tiene una sobrecarga constante de unos 50 bytes. Datos aleatorios (incluyendo la salida de la
       mayoría de compresores) son codificados a unos 8.05 bits por byte,  dando  una  expansión  alrededor  del
       0.5%.

       Como autocomprobación para tu protección, bzip2 utiliza CRCs de 32 bits para asegurarse de que la versión
       descomprimida  de  un  fichero es idéntica a la original.  Esto protege contra la corrupción de los datos
       comprimidos, y contra  fallos  sin  detectar  en  bzip2  (afortunadamente  es  muy  poco  probable).   La
       posibilidad  de  que  la  corrupción  de  datos  pase  desapercibida  es  microscópica,  alrededor de una
       probabilidad entre cuatro billones  por  cada  fichero  procesado.  Cuidado,  sin  embargo,  con  que  la
       comprobación  se  realiza tras la descompresión, por lo que solo entonces se te informará de si algo está
       mal. El programa no te puede ayudar a recuperar los  datos  originales  descomprimidos.   Puede  utilizar
       bzip2recover para intentar recuperar los datos de ficheros dañados.

VALOR DEVUELTO

       0  para  finalización  normal,  1  para problemas de entorno (fichero no encontrado, opciones no válidas,
       errores de E/S, etc...), 3 para un error interno de consistencia (ej. un bug o fallo)  que  ha  provocado
       que bzip2 se asuste.

CONTROL DE MEMORIA

       Bzip2  comprime  en  bloques  los  ficheros  grandes.  El tamaño del bloque afecta tanto al porcentaje de
       compresión conseguido, como a la cantidad de memoria necesitada para la compresión  y  la  descompresión.
       Las  opciones  -1 a -9 especifican que el tamaño de los bloques vaya de 100,000 bytes hasta 900,000 bytes
       (el utilizado) respectivamente. En el momento de descompresión, el tamaño de  bloque  utilizado  para  la
       compresión  es  leído  de  la  cabecera del fichero comprimido y entonces bunzip2 se asigna a si mismo la
       memoria justa para descomprimir el fichero. Puesto que el tamaño de los  bloques  está  guardado  en  los
       ficheros comprimidos, se deduce que las opciones -1 hasta -9 son irrelevantes para la descompresión y por
       tanto  son  ignoradas.   Los  requerimientos  para la descompresión y la compresión, en bytes, pueden ser
       calculados de esta forma::

             Compresión:    400k + ( 7 x tamaño de bloque )

             Descompresión: 100k + ( 4 x tamaño de bloque ), o
                            100k + ( 2.5 x tamaño de bloque )

       Los tamaños de bloques más grandes producen rápidamente resultados marginales cada vez más  pequeños.  La
       mayor  parte de la compresión procede de los primeros doscientos o trecientos KBs de tamaño de bloque, un
       hecho a considerar cuando se utilice bzip2 en máquinas pequeñas. También es importante apreciar  que  los
       requerimientos  de  memoria  en  la  descompresión  vienen  dados  por  el tamaño de bloque elegido en la
       compresión.

       Para ficheros comprimidos con el tamaño de bloque por defecto de 900k, bunzip2 requerirá  aproximadamente
       3700  kbytes  para  descomprimir.   Para soportar la descompresión de cualquier fichero en una máquina de
       4MB, bunzip2 tiene una opción para descomprimir utilizando aproximadamente la mitad de esta  cantidad  de
       memoria,  unos  2300  kbytes. La velocidad de descompresión también se divide por dos, por lo que solo se
       debe utilizar cuando sea necesario. La opción mencionada es -s.

       En general, intenta utilizar el mayor tamaño de bloque que permita la cantidad de memoria de tu  sistema,
       puesto  que esto maximiza la compresión conseguida.  La velocidad de compresión y descompresión no se ven
       prácticamente afectadas por el tamaño de bloque.

       Otro punto importante tiene que ver con los ficheros que caben en un solo bloque --  eso  equivale  a  la
       mayoría  de ficheros que encontrará usando grandes tamaños de bloque. La cantidad de memoria utilizada es
       proporcional al tamaño del fichero, ya que el  fichero  es  más  pequeño  que  un  bloque.  Por  ejemplo,
       comprimir  un  fichero  de  20.000  bytes  con la opción -9 hará que el compresor se asigne unos 6700k de
       memoria, pero solo utilice 400k + 20000 * 7 = 540 kilobytes de ella. De forma similar, el descompresor se
       asignará 3700k pero solo utilizará 100k + 20000 * 4 = 180 kbytes.

       Aquí está una tabla que resume la utilización máxima de memoria para los diferentes  tamaños  de  bloque.
       También  se  recoge el tamaño total resultante de compresión de 14 ficheros del "Calgary Text Compression
       Corpus" que sumaban 3,141,622 bytes. Esta columna da una idea de como varía la compresión en función  del
       tamaño  de  bloque.  Estos  datos  no  llegan a dar una verdadera idea de la ventaja de tamaños de bloque
       grandes para ficheros grandes, ya que el Corpus está dominado por ficheros pequeños.

                   Uso al     Uso al      Descomp.    Tamaño
          Opción   comprimir  descomp.    usando -s   del Corpus

            -1      1100k       500k         350k      914704
            -2      1800k       900k         600k      877703
            -3      2500k      1300k         850k      860338
            -4      3200k      1700k        1100k      846899
            -5      3900k      2100k        1350k      845160
            -6      4600k      2500k        1600k      838626
            -7      5400k      2900k        1850k      834096
            -8      6000k      3300k        2100k      828642
            -9      6700k      3700k        2350k      828642

OPCIONES

       -c --stdout
              Comprime o descomprime hacia la salida estándar. -c  descomprimirá  múltiples  ficheros  hacia  la
              salida estándar, pero solo comprimirá un solo fichero hacia la salida estándar.

       -d --decompress
              Fuerza  la descompresión.  bzip2, bunzip2 y bzcat son en realidad el mismo programa, y la decisión
              sobre la acción a realizar se toma en función del nombre que se utilice. Esta opción  ignora  este
              mecanismo y hace que bzip2 descomprima.

       -z --compress
              El complementario a -d: fuerza la compresión, independientemente del nombre con que se invoque.

       -t --test
              Comprueba  la  integridad  del  fichero(s)  especificado,  pero no lo descomprime.  En realidad se
              realiza una descompresión de prueba y se lanza el resultado.

       -f --force
              Fuerza la sobrescritura de los ficheros de salida. Normalmente, bzip2 no sobreescribe ficheros  ya
              existentes.

       -k --keep
              Mantener (no borrar) los ficheros de entrada durante la compresión o la descompresión.

       -s --small
              Reduce  la  utilización  de  memoria  para la compresión, la descompresión y la comprobación.  Los
              ficheros son descomprimidos y comprobados utilizando un algoritmo modificado que solo requiere 2.5
              bytes por cada byte del bloque. Esto significa que cualquier fichero puede  ser  descomprimido  en
              2300k de memoria, aunque a la mitad de la velocidad normal.

              Durante  la compresión, -s selecciona un tamaño de bloque de 200k, lo que limita el uso de memoria
              a aproximadamente el mismo número, a expensas del porcentaje de compresión. En pocas palabras,  si
              su  máquina  no  tiene  mucha  memoria (8 megabytes o menos), utilice -s para todo. Vea CONTROL DE
              MEMORIA arriba.

       -v --verbose
              Modo extenso (muestra el porcentaje de compresión para cada fichero  procesado).  El  uso  de  más
              opciones   -v   incrementa   el  nivel  de  extensión,  arrojando  gran  cantidad  de  información
              principalmente de interés para usos de diagnóstico.

       -L --license -V --version
              Muestra la versión del programa, los términos de la licencia y sus condiciones.

       -1 a -9
              Pone el tamaño de bloque a 100 k, 200 k .. 900 k en la compresión. No afecta a  la  descompresión.
              Vea CONTROL DE MEMORIA arriba.

       --repetitive-fast
              bzip2  introduce algunas variaciones pseudoaleatorias en bloques muy repetitivos, para limitar los
              casos de peor funcionamiento al comprimir. Si el ordenamiento encuentra dificultades, el bloque es
              aleatorizado, y el ordenamiento se reinicia.  En pocas palabras, bzip2 lo intenta por  tres  veces
              antes de pasar a utilizar aleatorización.  Esta opción hace que lo deje de intentar mucho antes.

       --repetitive-best
              Lo contrario de --repetitive-fast. Lo intenta mucho más antes de pasar a la aleatorización.

RESCATANDO DATOS DESDE FICHEROS DAÑADOS

       bzip2  comprime  los  ficheros  en  bloques,  normalmente  de  900kbytes. Cada bloque se maneja de manera
       independiente. Si un error de transmisión o del medio (físico) provoca que un  fichero  .bz2  multibloque
       sea dañado, puede que sea posible recuperar los datos de los bloques intactos que queden en el fichero.

       La representación comprimida de cada bloque está delimitada por un patrón de 48 bits, lo que hace posible
       el encontrar los límites de los bloques con cierta certeza. Cada bloque contiene su propio CRC de 32 bit,
       por lo que los bloques dañados puedes ser distinguidos de los intactos.

       bzip2recover  es un simple programa cuyo único propósito es la búsqueda de bloques en ficheros .bz2, para
       su posterior escritura en su propio fichero .bz2. Entonces puede utilizar  bzip2  -t  para  comprobar  la
       integridad de los ficheros resultantes y descomprimir aquellos que estén intactos.

       bzip2recover  toma  un  solo  argumento,  el  nombre  del  fichero  dañado,  y  crea un grupo de ficheros
       "rec0001fichero.bz2", "rec0002fichero.bz2", etc, conteniendo los bloques extraídos. Los nombres de salida
       están diseñados de forma que la utilización de comodines en un procesado posterior (por  ejemplo,  "bzip2
       -dc rec*file.bz2 > recovered_data") liste los ficheros en el orden "correcto".

       bzip2recover  será  de  mayor provecho cuando trate ficheros .bz2 grandes, ya que estos contendrán muchos
       bloques. Es inútil utilizarlo en ficheros de un solo bloque dañados, ya que el bloque dañado no podrá ser
       recuperado. Si desea minimizar cualquier posible perdida de datos debida a un error del medio físico o de
       la transmisión, puede considerar la utilización de tamaños de bloque menores en la compresión.

NOTAS SOBRE El FUNCIONAMIENTO DEL PROGRAMA

       La fase de ordenación del programa recoge y junta todas las cadenas similares del fichero. Debido a esto,
       los ficheros que contienen series muy largas de símbolos, tales como "aabaabaabaab ..." (repetida  varios
       cientos  de  veces)  puede  que se compriman de forma extraordinariamente lenta. Puede utilizar la opción
       -vvvv para monitorizar en detalle el progreso, si así lo desea.  La velocidad de descompresión no  se  ve
       afectada.

       Estos  casos  patológicos  son  raros  en  la  práctica, apareciendo principalmente en ficheros de prueba
       construidos artificialmente, y en imágenes a bajo nivel de discos. No es recomendable utilizar bzip2 para
       comprimir estas últimas. Si obtiene un fichero que causa una pronunciada lentitud al  comprimir,  intente
       utilizar un tamaño de bloque tan pequeño como sea posible, con la opción -1.

       Normalmente bzip2 reserva varios megabytes de memoria para operar en ellos, y entonces los utiliza de una
       manera  bastante  aleatoria. Esto significa que el funcionamiento del programa, tanto para comprimir como
       para descomprimir, se ve en gran parte determinado por la velocidad a la que  su  máquina  sea  capaz  de
       servir  fallos de caché. Debido a esto, se ha observado que pequeños cambios en el código para reducir la
       tasa de fallos proporcionan una mejora desproporcionadamente grande en el  funcionamiento  del  programa.
       Supongo que bzip2 funcionará mejor en máquinas con caches de gran tamaño.

ADVERTENCIAS

       Los  mensajes  de  error  de E/S no son tan útiles como podrían.  Bzip2 intenta detectar errores de E/S y
       salir limpiamente, pero los detalles sobre la causa del problema a veces pueden ser engañosos.

       Esta página del manual pertenece a la versión 0.9.0 de bzip2.  Los datos  comprimidos  creados  por  esta
       versión  son totalmente compatibles en un sentido u otro con la anterior versión pública del programa, la
       0.1pl2, pero con la siguiente excepción: Solo la versión 0.9.0 puede descomprimir correctamente múltiples
       ficheros concatenados. La 0.1pl2 no puede hacer esto; parará justo  después  de  descomprimir  el  primer
       fichero en el flujo de datos.

       La expansión de comodines bajo Windows 95 y NT no es perfecta.

       bzip2recover  utiliza  enteros  de  32  bits  para  representar  las  posiciones  de los bits en ficheros
       comprimidos, por lo que no puede manejar ficheros comprimidos de más de 512 megabytes.  Esto  podría  ser
       fácilmente solucionado.

AUTOR

       Julian Seward, jseward@acm.org.

       http://www.muraroa.demon.co.uk

       Las  ideas  incluidas  en bzip2 se deben (al menos) a la siguiente gente: Michael Burrows y David Wheeler
       (por la transformación por ordenación de bloques),  David  Wheeler  (otra  vez,  por  el  codificador  de
       Huffman),  Peter  Fenwick  (por  el  modelo de programación estructurada del bzip, original, y por muchos
       refinamientos), y Alistair Moffat, Radford Neal y Ian Witten (por  el  codificador  aritmético  del  bzip
       original).   Estoy  en  deuda  con  ellos  por  su  ayuda,  su apoyo y sus consejos.  Vea el manual en la
       distribución sin compilar para encontrar apuntes sobre donde hallar fuentes de documentación.   Christian
       von  Roques  me  animó  a buscar algoritmos de ordenación más rápidos, para acelerar la compresión.  Bela
       Lubkin me alentó para que mejorara el funcionamiento de la compresión en los casos peores.   Mucha  gente
       envío  parches,  ayudó  con los problemas de portabilidad, prestó máquinas, dio consejo y fue de ayuda en
       general.

                                                                                                        bzip2(1)