Erro de bytes extras ao descompactar um arquivo

28

Quando entro unzip ../founation-latest.zip, ele gera o seguinte:

warning [../foundation-latest.zip]: 248 bytes extras no início ou dentro do arquivo zip (tentando processar mesmo assim)

O arquivo tem 138 KB. Descompacta corretamente, mas por que estou recebendo esse erro?

rainwater11
fonte
2
Uma causa possível é que, em uma etapa de sua jornada para o sistema, ele foi transferido com o ftpmodo ASCII em vez do modo BINARY e alguns bytes foram adicionados. Se você usou ftpem qualquer estágio, execute o ftpcomando novamente, usando o comando 'bin' antes de qualquer 'put' ou 'get'.
Mark Plotnick
Poderia ter uma carga maliciosa no início. É uma internet hostil. Tome cuidado com o utilitário de descompactação usado para abrir um zip como esse.
jbrahy
Há muitas conjecturas nas respostas atuais, porque existem muitas causas possíveis. Seria bom ter um link ou cópia do arquivo em questão.
Duozmo
Em relação à carga útil possivelmente mal-intencionada: Nesse tamanho, você pode fazer upload do arquivo para virustotal.com para que seja verificado - caso não haja informações pessoais. No entanto, não me preocuparia muito com vírus no Linux, apenas se você copiar o arquivo original em outro lugar. (Você pode sempre voltar a embalar o arquivo se você acha que os dados estão completos.)
Ned64
Só para confirmar que isso é um problema. Tentei criar um backup do meu espaço no arquivo do iTunes com zipe com ditto. O unzipfornecido (por 10.11) falhou com ambos, bem como com 7za. O descompactação do MacOS simplesmente não gosta de arquivos zip (grandes?).
Otheus

Respostas:

37

Meu problema foi porque eu estava tentando usar "descompactar" no MAC OSX, que não consegue lidar com coisas compactadas com o PKZIP.

Eu era capaz de brew install p7zipe descompacte usando o comando 7za x some_file.zip.

Originalmente encontrei a solução neste artigo: need-pk-compat-v4-5-can-do-v2-1

Duyker
fonte
4
Fiz o download de uma VM do Windows no site microsoft.com e essa foi a solução para descompactar.
sod
11
Isso também pode se aplicar a descompactação no Linux: (no meu caso UnZip 6,00 de 20 de Abril de 2009, por Debian.)
BradHards
2
Também vale mencionar que é um pouco mais rápido e mostra progresso.
previous_developer
Também lida com p7z arquivos maiores e arquivos com o mais recente zip
Konrads
O mesmo problema hoje em uma imagem Linux da AWS. Transferiu o RPM do p7zip de timeoff.wsisiz.edu.pl/rpms.html e o arquivo foi testado e extraído sem problemas.
sprockets
23

Encontrei este tópico que tinha um problema semelhante. O relatório de erro é intitulado: descompacte falha no ZIP de 5,4 GB com "bytes extras no início ou no arquivo zip" . Uma das correções sugeridas foi usar esse comando no .ziparquivo.

$ zip -FFv foo.zip --out fixed.zip

Exemplo de execução

$ zip -FFv foo.zip --out fixed.zip
Fix archive (-FF) - salvage what can
 Found end record (EOCDR) - says expect single disk archive
Scanning for entries...
 Local ( 1      0): copying: d1/f1   (651734 bytes)
 Local ( 1 651817): copying: d1/d2/  (0 bytes)
 Local ( 1 651905): copying: d1/d2/f3   (80 bytes)
 Local ( 1 652083): copying: d1/f23   (891 bytes)
 Local ( 1 653021): copying: d1/f27   (8764 bytes)
 Local ( 1 661837): copying: d1/f24   (14818 bytes)
 Local ( 1 676709): copying: d1/f25   (17295 bytes)
...
 Cen   ( 1 5488799949): updating: d1/f13
 Cen   ( 1 5488800052): updating: d1/f14
Zip64 EOCDR found ( 1 5488800155)...
Zip64 EOCDL found ( 1 5488800211)...
EOCDR found ( 1 5488800231)...
$ echo $?
0

interruptor -FF do zip

trecho da página do manual zip

       -FF
       --fixfix
              Fix the zip archive. The -F option can be used if some 
              portions of the archive are missing, but requires a reasonably 
              intact central directory.   The  input  archive is scanned as 
              usual, but zip will ignore some problems.  The resulting 
              archive should be valid, but any inconsistent entries will be 
              left out.

              When doubled as in -FF, the archive is scanned from the 
              beginning and zip scans  for  special  signatures  to  
              identify  the  limits between the archive members. The single 
              -F is more reliable if the archive is not too much damaged, so 
              try this option first.

              If  the archive is too damaged or the end has been truncated, 
              you must use -FF.  This is a change from zip 2.32, where the 
              -F option is able to read a truncated archive.  The -F option 
              now more reliably fixes archives with minor damage and the -FF 
              option is  needed to fix archives where -F might have been 
              sufficient before.
              ...
slm
fonte
3

Eu já vi esse tipo de erro antes, quando o arquivo zip foi transferido por um serviço da web que estava com problemas. Após a análise direta do arquivo zip, descobri que uma mensagem de erro do serviço da Web havia sido enviada na frente do arquivo zip.

Você pode tentar examinar o arquivo zip como texto e ver se algo interessante aparece na frente.

Michael Kohne
fonte
3

Só tive esse aviso também. No meu caso, foi causado pelo download com 'curl -i', o que fez com que os cabeçalhos http aparecessem no início do arquivo zip. bobo eu. Certamente, essa não será a causa / solução em todos os casos, mas talvez ajude alguém ...

dknaus
fonte
2

Pode ser um arquivo de extração automática (windows .exe) ou foi preenchido por algum motivo.

Ricky Beam
fonte
11
O que você quer dizer com "acolchoado"?
rainwater11
Bytes extras (geralmente nulos (zero)) para tornar o arquivo um tamanho específico. Isso costumava ser um artefato do tamanho do bloco de transferência de arquivos (por exemplo, xmodem), mas no mundo moderno isso não acontece. Também poderia ser uma assinatura criptográfica. (Eu não tenho o arquivo, então eu não sei o que esses 248 bytes são.)
Ricky feixe
0

Eu também tive o mesmo problema. Eu observei o problema quando copiei arquivos do Windows para o servidor Unix sem usar o modo bin. A melhor maneira de resolver o problema foi transferir os arquivos no modo bin.

Amit
fonte
(1) Esta informação já foi apresentada em um comentário . Tudo bem, mas… (2) o comentário tem informações mais detalhadas que esta resposta. (3) Você deve melhorar esta resposta descrevendo do que está falando. Por favor, não responda nos comentários; edite sua resposta para torná-la mais clara e completa.
Scott Scott
0

Eu tive o mesmo problema no Linux com um .ziparquivo maior que 4 GB, composto por um only DEFLATED entries can have EXT descriptorerro.

O comando 7z xresolveu todos os meus problemas.

Tenha cuidado, porém, o comando 7z xextrairá todos os arquivos com um caminho enraizado no diretório atual. A opção -opermite especificar um diretório de saída.

Serge Stroobandt
fonte