Respostas:
Depende se isso acontece com todos os tar.gzarquivos ou apenas com este. Este arquivo específico pode estar corrompido e, portanto, não será aberto corretamente. Se estiver usando tar para extrair, você precisa usar a zopção, já que é necessário quando um arquivo é compactado: tar xzvf <file.tar.gz>. Como alternativa, também vale a pena tentar extraí-lo comgunzip <file.tar.gz>
Para descobrir se o arquivo está corrompido, execute gzip -t <file.tar.gz>; este comando verifica o arquivo quanto a erros e, se houver algum, deve aparecer no terminal. Isso deve informar se o arquivo está corrompido.
Se o arquivo estiver correto e o erro ocorrer novamente, significa que provavelmente é o problema conhecido com o tar que ocorre quando um arquivo não possui um par zero blocksno final, como espera o GNU tar. A solução para isso é adicionar a -iopção de ignorar o zero blocks. Então use tar ixzvf <file.tar.gz>O problema está documentado aqui em detalhes.
O mesmo aconteceu comigo porque eu canalizei stdout e stderr através de um canal que não separa stderr e stdout (uma sessão de terminal adb do Android).
Dessa forma, algumas mensagens de erro acabaram no fluxo. Este foi o comando defeituoso:
Comando defeituoso, 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ê executar um comando semelhante sobre o SSH, como este tar rápido transmitido pelo 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
No outro dia, recebi esse erro ao tentar descompactar um arquivo que não foi compactado em gzip. A origem do arquivo era desconhecida para mim, mas achei que o criador poderia usar catpara combinar vários alcatrões em um único. Isso fez com que o marcador zero no final do arquivo fosse lido pelo tarutilitário no meio de um arquivo combinado, exibindo o erro "Um bloco zero solitário".
Se for esse o caso, a opção --ignore-zerosou -ipode ajudar a suprimir esses erros. Por favor, veja man tarou este link como uma referência.
RequestTTY yesseu ssh_config. Pode ser desativado explicitamente com-T Disable pseudo-tty allocation.Para mim, o erro eratar: Skipping to next headeroriginalmente, o bloco de zero solitário ocorreu quando eu tentei com--posix..