Parece que o arquivo tar está com defeito ou não é compatível com o padrão.
Observe que eu obtive o arquivo como imagem bz2 e não tive problemas com o uso de bzip2 -d gcc-4.9.0.tar.bz2 < tar tvf -
.
O arquivo descompactado tem a soma de verificação md5: 6b8f599053a52e7c2076485d1ad3e747.
Agora estou buscando o arquivo .gz, vamos ver o que recebo ...
OK, aqui está a soma de verificação md5 do gcc-4.9.0.tar.gz fe8786641134178ecfeee2dc7644a0d8 que é a mesma que você vê.
Observe que seu problema geralmente acontece quando o arquivo foi criado por gtar
, mas em casos raros, resulta em directory checksum error
.
Se você quiser entender melhor o que está acontecendo, recomendo que use o programa tartest
que vem com star
.
Obtenha o mais recente schilytools
de:
link
compile e execute o programa tartest/OBJ/*/tartest < gcc-4.9.0.tar
.
Eu fiz isso e descobri que a razão é que o arquivo usa um "tipo de arquivo" específico do fornecedor GNU '' L 'em um cabeçalho tar.
IMPORTANTE: se o tar GNU estava em conformidade com o padrão ou pelo menos meio livre de erros, esse problema não aconteceu, pois o nome do arquivo em questão encaixava perfeitamente no esquema de nomes 100 + 255 do POSIX.1-1988. . Portanto, esta é outra dica sobre por que as pessoas devem evitar usar o tar do GNU.
Eu recomendo usar star
.
Cada recurso único em star
está totalmente sob controle de uma estrutura de descrição de propriedade. Se você especificar um formato de arquivo, star
nunca criará conteúdo de arquivo relacionado a um formato de arquivo diferente.
Se você, por exemplo, ligar:
star -c -f out.tar -Hustar somedir
star
usará um formato de arquivo POSIX.1-1988 100% compatível e, caso haja um arquivo que não se encaixe nesse formato de arquivo, star
grava um aviso em vez de arquivar o arquivo usando métodos não padrão .
BTW: Aqui está o conjunto de alterações, em que a Sun adicionou suporte para esse recurso exclusivo do fornecedor:
changeset: 11995:caff1bd711f5
user: Rich Burridge <[email protected]>
date: Thu Mar 25 13:21:39 2010 -0700
description:
6202362 Solaris tar can't unpack files created with GNU tar
modified:
usr/src/cmd/tar/tar.c