Como eu resolvo o erro “tar: Um bloco zero solitário em 60140”?

0

Estou recebendo um erro de um arquivo tar.gz que foi criado com winace ao abri-lo com tar vxzf package.tar.gz no Linux:

tar: A lone zero block at 60140
    
por 719016 10.07.2012 / 11:30

2 respostas

3

Parece que você perdeu um dos setores do disco rígido em que o tarball estava, de modo que o bloco do arquivo está todo zerado. Você pode querer baixá-lo novamente ou restaurar a partir de um backup ou algo assim.

Para uma segunda opinião sobre o arquivo, tente soltá-lo com gunzip e, em seguida, descompacte-o com tar xvf ... .

Você também pode querer ler os contadores SMART no disco rígido e ver se ele está reportando quaisquer setores defeituosos pendentes, remapeados ou realocados. Se você encontrar algum, tire tudo do disco rígido que puder (ou se tiver backups suficientes recentes, teste seus backups em algum lugar para ter certeza de que pode restaurar tudo deles) e apague o disco rígido com a opção selecionada para realmente escreva zeros ou dados aleatórios em todos os setores da unidade. Essa é a única maneira de forçar um disco rígido a remapear qualquer setor defeituoso. Mas uma vez que um disco rígido está começando a ter setores falhando, provavelmente é hora de substituir a unidade.

    
por 10.07.2012 / 11:43
0

Este é provavelmente um arquivo .tgz de construção incorreta.

O bloco zero solitário significa exatamente isso. O arquivo tar consiste em blocos de cabeçalho e conteúdo de arquivo intercalado (o cabeçalho determina quantos blocos de conteúdo de arquivo haverá). O arquivo é então finalizado por dois ou mais blocos zero.

Agora, se houver apenas um bloco zero e o arquivo terminar depois disso ou se houver blocos diferentes de zero após esse GNU%,tar gravará esse diagnóstico e terminará (como se o arquivo tivesse terminado corretamente).

Se você tivesse perdido setores do seu disco rígido, isso provavelmente resultaria em gzip mostrando erro também (e o tar reagindo sobre isso), por exemplo:

gzip: stdin: unexpected end of file 
tar: A lone zero block at 1754
tar: Child returned status 1
tar: Error is not recoverable: exiting now

similarily se o download foi finalizado prematuramente gzip também emitiria erros. Sem esses erros, é improvável que o .tgz tenha se machucado de alguma forma (é provável que gzip detecte erros de bits no fluxo de zip e dê erros para isso).

Dado que o fluxo de zip é consistente, poder-se-ia concluir que o fluxo de .tar que foi compactado estava com defeito (o que acontece apenas ao empacotar o arquivo).

    
por 31.03.2017 / 14:00