É seguro assumir que o arquivo tar.gz é saudável?

0

Eu tenho um arquivo tar.gz bastante grande (17GB) que é uma versão tar.gz de um diretório. O problema aqui é que recebi a seguinte mensagem após a operação tar.

tar: Error exit delayed from previous errors

Agora, como demora muito para fazer o download, só quero ter certeza de que o arquivo está íntegro antes de fazer o download. Existe uma maneira de garantir a integridade do arquivo, que não leva muito tempo?

Atualmente, todas as soluções de verificação que encontrei demoram muito tempo para serem concluídas.

    
por Hamed Momeni 11.08.2013 / 11:56

2 respostas

2

Você não pode assumir que o arquivo tar.gz é saudável, mas as chances de IMHO são muito boas.

Uma causa raiz muito comum do "Error exit delayed from previous errors" é o fato de um arquivo ter seu tamanho alterado durante o processamento ou ter desaparecido um pouco antes. Dependendo do tipo de arquivo que seu arquivo contém, isso pode ser um problema. Em qualquer caso, tar está processando corretamente esse tipo de evento e os arquivos criados devem ser utilizáveis.

Na próxima vez que você criar seu arquivo, sugiro esquecer a opção v (verbose) ou redirecionar stdout para um arquivo. Embora seja útil para pequenos arquivos contendo uma dúzia de arquivos ou mais, ele adiciona um ruído inútil à tar output e você terá as mensagens de erro, se houver, na tela e não perdidas na rolagem do emulador de terminal.

tar czvf large.tar.gz someDirectory >/tmp/large.tar.list

Obviamente, não há garantia de 100% de que seu arquivo tar.gz esteja íntegro. A única maneira de saber isso seria extraí-lo em algum lugar e ver se nenhum erro aparece. Mesmo se for o caso, ainda existe a possibilidade de alguns arquivos não terem sido salvos devido a problemas de direitos de acesso, ou mais estranhos, como nomes de arquivos / nomes de caminhos longos ou inválidos, sistemas de arquivos corrompidos, transmissão corrompida, etc ...

    
por 11.08.2013 / 21:38
1

Na minha experiência, tar: Error exit delayed from previous errors normalmente significa que o gzip gerado no processo de alcatrão teve um erro (normalmente o arquivo que está sendo adicionado alterou o conteúdo conforme estava sendo colocado no tar) e o erro acima é dado.

Isso provavelmente constituiria um "arquivo com falha" (o arquivo pode ser diferente, ausente ou quebrado em seu tar). Para grandes volumes de conteúdo (em mudança), eu sugeriria usar rsync para copiar os arquivos.

    
por 11.08.2013 / 21:38

Tags