[MASOCH-L] Compactação de backup
Danton Nunes
danton at inexo.com.br
Fri Oct 17 11:07:03 -03 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