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

NOMBRE

       bzip2,  bunzip2  -  un compresor de ficheros por ordenacion de bloques,
       v0.9.0
       bzcat - descomprime ficheros hacia la salida estandar
       bzip2recover - recupera datos desde ficheros bzip2 danados

SINOPSIS

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

DESCRIPCI'ON

       bzip2 comprime ficheros utilizando el algoritmo de compresion de  texto
       por   ordenacion   de  bloques  de  Burrows-Wheeler.  Generalmente,  la
       compresion obtenida es considerablemente mejor que  la  de  compresores
       mas  convencionales  basados en LZ77/LZ78, y se aproxima al rendimiento
       de la familia PPM de compresores estadisticos.

       Las opciones de la linea de comandos son deliberadamente muy  similares
       a las de GNU Gzip, pero no son identicas.

       bzip2 espera que una lista de nombres acompane las opciones de la linea
       de comandos.  Cada fichero es reemplazado por una copia  comprimida  de
       el  mismo,  de  nombre  "nombre_original.bz2".  Cada fichero comprimido
       tiene la misma  fecha  de  modificacion  y  permisos  que  el  original
       correspondiente,  de forma que estas propiedades puedan ser recuperadas
       correctamente en el momento de  la  descompresion.  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 tamano de los nombres, como por ejemplo  MS-
       DOS.

       Por defecto, bzip2 y bunzip2 no sobreescribiran ficheros existentes. Si
       quieres que esto ocurra, especifica la opcion -f.

       Si no se especifica el nombre de ningun fichero, bzip2 comprimira desde
       la  entrada  estandar hacia la salida estandar.  En este caso, bzip2 se
       negara a escribir la salida comprimida hacia una terminal, ya que  esta
       seria totalmente incomprensible y por lo tanto inutil.

       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 ningun fichero, la
       descompresion se realiza desde la  entrada  estandar  hacia  la  salida
       estandar.

       bunzip2 descomprimira correctamente un fichero que sea la concatenacion
       de uno o mas ficheros comprimidos. El resultado es la concatenacion  de
       los   correspondientes  ficheros  descomprimidos.  Con  (-t)  se  puede
       comprobar la integridad de ficheros concatenados comprimidos.

       Tambien se  pueden  comprimir  o  descomprimir  ficheros  a  la  salida
       estandar  utilizando  la  opcion  -c.   Multiples  ficheros  pueden ser
       comprimidos y descomprimidos de esta forma.   Las  salidas  resultantes
       van  siendo  pasadas  secuencialmente  hacia  la  salida  estandar.  La
       compresion de multiples ficheros de esta manera  genera  un  flujo  que
       contiene  multiples representaciones de ficheros.  Tal flujo solo puede
       ser descomprimido correctamente por la  version  0.9.0  o  superior  de
       bzip2;  versiones  anteriores  de  bzip2  pararan  tras descomprimir el
       primer fichero del flujo.

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

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

       Como autocomprobacion para tu proteccion, bzip2 utiliza CRCs de 32 bits
       para  asegurarse  de  que  la  version  descomprimida  de un fichero es
       identica a la original.  Esto protege contra la corrupcion de los datos
       comprimidos,  y contra fallos sin detectar en bzip2 (afortunadamente es
       muy poco probable).  La posibilidad de que la corrupcion de datos  pase
       desapercibida  es  microscopica,  alrededor  de  una probabilidad entre
       cuatro billones por cada fichero procesado. Cuidado, sin  embargo,  con
       que  la  comprobacion se realiza tras la descompresion, por lo que solo
       entonces se te informara de si algo esta mal. El programa no  te  puede
       ayudar a recuperar los datos originales descomprimidos.  Puede utilizar
       bzip2recover para intentar recuperar los datos de ficheros danados.

VALOR DEVUELTO

       0 para finalizacion normal, 1 para problemas  de  entorno  (fichero  no
       encontrado,  opciones  no  validas,  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 tamano del bloque
       afecta tanto al porcentaje de compresion conseguido, como a la cantidad
       de  memoria  necesitada  para  la  compresion  y  la descompresion. Las
       opciones -1 a -9 especifican que el  tamano  de  los  bloques  vaya  de
       100,000 bytes hasta 900,000 bytes (el utilizado) respectivamente. En el
       momento de  descompresion,  el  tamano  de  bloque  utilizado  para  la
       compresion  es  leido  de la cabecera del fichero comprimido y entonces
       bunzip2 se asigna a si mismo la  memoria  justa  para  descomprimir  el
       fichero.  Puesto  que  el  tamano  de  los bloques esta guardado en los
       ficheros comprimidos, se deduce  que  las  opciones  -1  hasta  -9  son
       irrelevantes  para  la  descompresion  y  por tanto son ignoradas.  Los
       requerimientos para la descompresion y la compresion, en bytes,  pueden
       ser calculados de esta forma::

             Compresion:    400k + ( 7 x tamano de bloque )

             Descompresion: 100k + ( 4 x tamano de bloque ), o
                            100k + ( 2.5 x tamano de bloque )

       Los  tamanos  de  bloques  mas  grandes producen rapidamente resultados
       marginales cada vez mas pequenos.  La  mayor  parte  de  la  compresion
       procede  de  los  primeros  doscientos  o  trecientos  KBs de tamano de
       bloque, un hecho a considerar  cuando  se  utilice  bzip2  en  maquinas
       pequenas.  Tambien  es  importante  apreciar  que los requerimientos de
       memoria en la descompresion  vienen  dados  por  el  tamano  de  bloque
       elegido en la compresion.

       Para  ficheros comprimidos con el tamano de bloque por defecto de 900k,
       bunzip2 requerira aproximadamente 3700 kbytes para descomprimir.   Para
       soportar  la  descompresion de cualquier fichero en una maquina de 4MB,
       bunzip2 tiene una opcion para descomprimir  utilizando  aproximadamente
       la mitad de esta cantidad de memoria, unos 2300 kbytes. La velocidad de
       descompresion tambien se divide por  dos,  por  lo  que  solo  se  debe
       utilizar cuando sea necesario. La opcion mencionada es -s.

       En  general,  intenta utilizar el mayor tamano de bloque que permita la
       cantidad de  memoria  de  tu  sistema,  puesto  que  esto  maximiza  la
       compresion  conseguida.   La velocidad de compresion y descompresion no
       se ven practicamente afectadas por el tamano de bloque.

       Otro punto importante tiene que ver con los ficheros que  caben  en  un
       solo  bloque  --  eso  equivale a la mayoria de ficheros que encontrara
       usando grandes tamanos de bloque. La cantidad de memoria  utilizada  es
       proporcional  al  tamano  del fichero, ya que el fichero es mas pequeno
       que un bloque. Por ejemplo, comprimir un fichero de 20.000 bytes con la
       opcion  -9  hara 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 asignara 3700k pero solo utilizara 100k +
       20000 * 4 = 180 kbytes.

       Aqui esta una tabla que resume la utilizacion maxima  de  memoria  para
       los  diferentes  tamanos  de  bloque. Tambien se recoge el tamano total
       resultante de compresion de 14 ficheros del "Calgary  Text  Compression
       Corpus"  que  sumaban 3,141,622 bytes. Esta columna da una idea de como
       varia la compresion en funcion del tamano de  bloque.  Estos  datos  no
       llegan  a  dar  una  verdadera  idea de la ventaja de tamanos de bloque
       grandes para ficheros grandes, ya  que  el  Corpus  esta  dominado  por
       ficheros pequenos.

                   Uso al     Uso al      Descomp.    Tamano
          Opcion   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   estandar.  -c
              descomprimira multiples ficheros hacia la salida estandar,  pero
              solo comprimira un solo fichero hacia la salida estandar.

       -d --decompress
              Fuerza la descompresion.  bzip2, bunzip2 y bzcat son en realidad
              el mismo programa, y la decision sobre la accion a  realizar  se
              toma  en  funcion  del nombre que se utilice. Esta opcion ignora
              este mecanismo y hace que bzip2 descomprima.

       -z --compress
              El complementario a -d: fuerza la compresion, 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 descompresion 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
              compresion o la descompresion.

       -s --small
              Reduce   la  utilizacion  de  memoria  para  la  compresion,  la
              descompresion   y   la   comprobacion.    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 compresion, -s selecciona  un  tamano  de  bloque  de
              200k, lo que limita el uso de memoria a aproximadamente el mismo
              numero, a  expensas  del  porcentaje  de  compresion.  En  pocas
              palabras,  si  su  maquina 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  compresion  para  cada
              fichero  procesado).  El  uso  de  mas opciones -v incrementa el
              nivel de  extension,  arrojando  gran  cantidad  de  informacion
              principalmente de interes para usos de diagnostico.

       -L --license -V --version
              Muestra  la  version del programa, los terminos de la licencia y
              sus condiciones.

       -1 a -9
              Pone el tamano de bloque  a  100  k,  200  k  ..  900  k  en  la
              compresion. No afecta a la descompresion. 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  aleatorizacion.   Esta  opcion  hace  que  lo  deje de
              intentar mucho antes.

       --repetitive-best
              Lo contrario de --repetitive-fast. Lo intenta mucho mas antes de
              pasar a la aleatorizacion.

RESCATANDO DATOS DESDE FICHEROS DA~NADOS

       bzip2  comprime los ficheros en bloques, normalmente de 900kbytes. Cada
       bloque se maneja de manera independiente. Si un error de transmision  o
       del  medio (fisico) provoca que un fichero .bz2 multibloque sea danado,
       puede que sea posible recuperar los datos de los bloques  intactos  que
       queden en el fichero.

       La  representacion  comprimida  de  cada  bloque esta delimitada por un
       patron de 48 bits, lo que hace posible el encontrar los limites de  los
       bloques  con  cierta  certeza. Cada bloque contiene su propio CRC de 32
       bit, por lo que los bloques danados  puedes  ser  distinguidos  de  los
       intactos.

       bzip2recover  es un simple programa cuyo unico proposito es la busqueda
       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
       esten intactos.

       bzip2recover  toma  un  solo argumento, el nombre del fichero danado, y
       crea un grupo de ficheros  "rec0001fichero.bz2",  "rec0002fichero.bz2",
       etc,  conteniendo  los  bloques  extraidos. Los nombres de salida estan
       disenados de forma que la utilizacion  de  comodines  en  un  procesado
       posterior  (por  ejemplo,  "bzip2  -dc  rec*file.bz2 > recovered_data")
       liste los ficheros en el orden "correcto".

       bzip2recover sera de mayor provecho cuando trate ficheros .bz2 grandes,
       ya  que  estos  contendran  muchos  bloques.  Es  inutil  utilizarlo en
       ficheros de un solo bloque danados, ya que el bloque  danado  no  podra
       ser  recuperado.  Si desea minimizar cualquier posible perdida de datos
       debida a  un  error  del  medio  fisico  o  de  la  transmision,  puede
       considerar   la   utilizacion  de  tamanos  de  bloque  menores  en  la
       compresion.

NOTAS SOBRE El FUNCIONAMIENTO DEL PROGRAMA

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

       Estos  casos  patologicos  son  raros  en  la   practica,   apareciendo
       principalmente  en ficheros de prueba construidos artificialmente, y en
       imagenes a bajo nivel de discos. No es recomendable utilizar bzip2 para
       comprimir   estas   ultimas.  Si  obtiene  un  fichero  que  causa  una
       pronunciada lentitud al comprimir, intente utilizar un tamano de bloque
       tan pequeno como sea posible, con la opcion -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 maquina sea capaz de servir fallos de cache. Debido a esto,
       se ha observado que pequenos cambios en el codigo para reducir la  tasa
       de  fallos  proporcionan  una mejora desproporcionadamente grande en el
       funcionamiento del programa. Supongo  que  bzip2  funcionara  mejor  en
       maquinas con caches de gran tamano.

ADVERTENCIAS

       Los  mensajes  de  error  de E/S no son tan utiles como podrian.  Bzip2
       intenta detectar errores de E/S y salir limpiamente, pero los  detalles
       sobre la causa del problema a veces pueden ser enganosos.

       Esta  pagina  del  manual  pertenece  a la version 0.9.0 de bzip2.  Los
       datos comprimidos creados por esta version son  totalmente  compatibles
       en  un  sentido u otro con la anterior version publica del programa, la
       0.1pl2, pero con la siguiente excepcion: Solo la  version  0.9.0  puede
       descomprimir  correctamente  multiples ficheros concatenados. La 0.1pl2
       no puede hacer esto; parara justo despues  de  descomprimir  el  primer
       fichero en el flujo de datos.

       La expansion 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  mas  de  512  megabytes.  Esto  podria  ser
       facilmente 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 transformacion por ordenacion
       de bloques), David Wheeler (otra vez, por el codificador  de  Huffman),
       Peter  Fenwick  (por  el  modelo de programacion estructurada del bzip,
       original, y por muchos refinamientos), y Alistair Moffat, Radford  Neal
       y  Ian Witten (por el codificador aritmetico del bzip original).  Estoy
       en deuda con ellos por su ayuda, su  apoyo  y  sus  consejos.   Vea  el
       manual  en  la  distribucion  sin compilar para encontrar apuntes sobre
       donde hallar fuentes de documentacion.  Christian von Roques me animo a
       buscar   algoritmos   de  ordenacion  mas  rapidos,  para  acelerar  la
       compresion.  Bela Lubkin me alento para que mejorara el  funcionamiento
       de la compresion en los casos peores.  Mucha gente envio parches, ayudo
       con los problemas de portabilidad, presto maquinas, dio consejo  y  fue
       de ayuda en general.

                                                                      bzip2(1)