Erro de bytes extras ao descompactar um arquivo

23

Quando eu digito unzip ../founation-latest.zip , isso gera:

warning [../foundation-latest.zip]: 248 extra bytes at beginning or within zipfile (attempting to process anyway)

O arquivo é de 138 KB. Ele descompacta corretamente, mas por que estou recebendo este erro?

    
por rainwater11 19.02.2014 / 02:46

7 respostas

31

Meu problema era porque eu estava tentando usar "unzip" no MAC OSX, que não pode lidar com coisas compactadas com o PKZIP.

Eu consegui brew install p7zip e descompactar usando o comando 7za x some_file.zip .

Eu originalmente encontrei a solução neste artigo: need-pk-compat-v4-5-pode-fazer-v2-1

    
por 09.07.2015 / 08:28
21

Eu encontrei este segmento que tinha um problema semelhante. O relatório de bug é intitulado: o unzip falha no ZIP de 5.4GB com "bytes extras no início ou no zipfile" . Uma das correções sugeridas foi usar esse comando no arquivo .zip .

$ 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

chave -FF do zip

trecho da página de manual do 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.
              ...
    
por 19.02.2014 / 03:31
3

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

    
por 06.10.2014 / 10:21
2

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

    
por 19.02.2014 / 02:53
2

Eu já vi esse tipo de erro antes, quando o arquivo zip foi transferido por meio de um serviço da web que estava com problemas. Após o exame direto 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.

    
por 08.09.2014 / 15:47
0

Eu também tive o mesmo problema. 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.

    
por 10.08.2017 / 07:16
0

Eu tive o mesmo problema no Linux com um arquivo .zip maior que 4 GB, combinado com um erro only DEFLATED entries can have EXT descriptor .

O comando 7z x resolveu todos os meus problemas.

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

    
por 23.10.2017 / 00:15

Tags