tar: Um bloco zero solitário em 343398

8

ao tentar extrair um arquivo tar.gz no terminal do ubuntu ocorreu um erro int na última frase aqui está: tar: Um bloco zero solitário em 343398

qual é a solução para este problema?

    
por wael 28.07.2012 / 12:19

2 respostas

15

Depende se isso acontece com todos os arquivos tar.gz ou apenas este. Esse arquivo em particular pode estar corrompido e, portanto, não abre corretamente. Se estiver usando tar para extrair, você precisará usar a opção z , pois isso é necessário quando um arquivo é compactado: tar xzvf <file.tar.gz> . Alternativamente, também vale a pena tentar extraí-lo com gunzip <file.tar.gz>

Para descobrir se o arquivo está corrompido, execute gzip -t <file.tar.gz> ; Este comando verificará o arquivo em busca de erros e, se algum deles for encontrado, ele deverá aparecer no terminal. Isso deve informar se o arquivo está corrompido.

Se o arquivo estiver em bom estado e o erro ocorrer novamente, significa que provavelmente é o problema conhecido com o tar que ocorre quando um arquivo não tem um par de zero blocks no final dele, como o GNU tar espera. A solução para isso é adicionar a opção -i para ignorar o zero blocks . Portanto, use tar ixzvf <file.tar.gz> O problema está documentado aqui em detalhes.

    
por user76204 28.07.2012 / 13:02
0

O mesmo aconteceu comigo porque eu cansei stdout e stderr através de um canal que não separa stderr e stdout (uma sessão de terminal android adb).

Dessa forma, algumas mensagens de erro acabaram no fluxo. Este foi o comando defeituoso:

  • Comando com falha, o shell adb apenas mescla stderr e stdout localmente = > lixo! : adb shell tar -cf - /some/dir \| uuencode bla | uudecode -o - > backup.tar

  • Comando fixo:% adb shell tar -cf - /some/dir 2>/dev/null\| uuencode bla | uudecode -o - > backup.tar

O mesmo acontecerá se você fizer um comando similar sobre o SSH como este rápido tar streaming sobre o ssh se você esquecer de redirecionar o stderr para / dev / null:

ssh user@host tar -czf /some/remote/path 2\>/dev/null > /local/path/to/file.tar.gz

    
por ce4 30.07.2012 / 14:37

Tags