[MASOCH-L] Compactação de backup

Danton Nunes danton at inexo.com.br
Fri Oct 17 11:07:03 BRT 2008


On Fri, 17 Oct 2008, Mauricio Bonani wrote:

> Lembro de ter lido em algum lugar que era mais seguro usar gz ao invés
> de bzip2 (ou o contrário).
> O texto dizia que caso um byte do arquivo compactado fosse corrompido,
> um dos métodos de compactação teria o arquivo todo corrompido e o
> outro perderia apenas uma parte deste.
>
> Alguém já viu esse texto e/ou pode confirmar essa informação?

não vi, mas como o bzip2 funciona por blocos enquanto o gzip é sequencial, 
eu diria que caso um bit seja corrompido, com o gzip você recupera até 
perto do bit corrompido, com o bzip2 teoricamente seria tudo menos o bloco 
bichado.

no caso de backup considere também o rzip, que por ser não causal (i.é, 
usar dados "futuros" na compressão) pode comprimir mais que os dois acima, 
que são causais, entretanto o fato do rzip não ser causal impede de usá-lo 
para comprimir o stdin.

do manual do bzip2:

 	bzip2 compresses files in blocks, usually 900kbytes long.  Each
 	block is  handled  independently.   If  a  media  or
 	transmission  error  causes  a  multi-block .bz2 file to become
 	damaged, it may be possible to recover data from the
 	undamaged blocks in the file.

 	The compressed representation of each block is delimited by a
 	48-bit pattern, which makes it possible  to  find  the
 	block  boundaries  with  reasonable certainty.  Each block also
 	carries its own 32-bit CRC, so damaged blocks can be
 	distinguished from undamaged ones.

 	bzip2recover is a simple program whose purpose is to search for
 	blocks in .bz2 files, and write each block out  into
 	its  own  .bz2  file.   You can then use bzip2 -t to test the
 	integrity of the resulting files, and decompress those
 	which are undamaged.



More information about the masoch-l mailing list