
Eu executo comandos:
tar -cf myArchive.tar myDirectory/
gzip myArchive.tar
então copio o arquivo em várias mídias não confiáveis e depois descompacto-o usando:
tar -xzf myArchive.tar.gz
O fato de eu ter compactado o tar-ball garantirá de alguma forma a integridade, ou pelo menos um CRC do conteúdo descompactado?
Responder1
tar
em si não escreve uma soma de verificação para comparação posterior. Se você gzip
arquivar tar
, poderá ter essa funcionalidade.
tar
usa compress
. Se você usar o -Z
sinalizador ao criar o arquivotar
usará o compress
programa ao ler ou gravar o arquivo. Na gzip
página de manual:
O padrãocomprimirformato não foi projetado para permitir verificações de consistência.
Mas você pode usar o -z
parâmetro. Em seguida, tar
lê e grava o arquivo por meio do arquivo gzip
. E gzip
escreve uma soma de verificação CRC. Para exibir essa soma de verificação, use esse comando:
$ gzip -lv archive.tar.gz
method crc date time compressed uncompressed ratio uncompressed_name
defla 3f641c33 Sep 25 14:01 24270 122880 80.3% archive.tar
Degzip
página de manual:
Ao usar os dois primeiros formatos (gzip ou zip significa), o gunzip verifica um CRC de 32 bits.
Responder2
Sim oformato de arquivo gzipcontém uma soma de verificação CRC-32 que pode ser usada para detectar se o arquivo foi corrompido.
Claro, enquanto a soma de verificação permite gzipdizervocê que o arquivo está corrompido, na verdade não faz nada para ajudá-lo a recuperar os dados dentro do arquivo. Portanto, é mais útil para coisas como verificar se um arquivo que você acabou de baixar da web realmente foi baixado corretamente.
Se você está realmente preocupado em armazenar ou transmitir seus arquivos em mídias não confiáveis, considere usar um formato de arquivo comoparque realmente fornececorreção de errosalém da detecção de erros. É claro que a desvantagem de tais formatos é que a redundância necessária para a correção de erros necessariamente aumenta um pouco o tamanho do arquivo.
Responder3
tar
não possui uma verificação de integridade. Exemplo:
$ echo JJJJJJJJJJJJJJJJJJ > b
$ tar cvf a.tar b
$ sed -i s/JJJJJJJJJJJJJJJJJJ/tttttttttttttttttt/g a.tar
$ tar xvf a.tar
$ cat b
tttttttttttttttttt
Veja, o conteúdo do a.tar
arquivo mudou, então o arquivo b
tem um conteúdo completamente diferente, mas o tar não percebeu isso. Isso é verdade para qualquer tar, incluindo tar-1.28 (mais recente) com ambos os formatos tar --format=gnu --format=posix
. O pax
comando (leitor tar alternativo) pax -r < a.tar
também não percebe alterações no arquivo.
Responder4
O pacote PKZip (win/dos) vem com um programa chamado PKZipFix que pode recuperar arquivos danificados. Eu usei esse utilitário no passado, ele pode recuperar arquivos de arquivos moderadamente danificados que não seriam descompactados.