Provided by: manpages-es-extra_0.8a-16_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)