Recebi um arquivo zip de um banco. Eu recebo o seguinte erro ao tentar descompactá-lo.
unzip filename.zip
Archive: filename.zip
skipping: SOME_STUFF.pdf need PK compat. v6.1 (can do v4.6)
O file
comando retorna
Zip archive data
para este arquivo.
Há um número razoável de threads contendo essa mensagem de erro, mas as únicas sugestões concretas que eles têm é usar 7z x
ou 7za x
do p7zip-full
pacote. Estes falham com o erro:
Unsupported Method
Sub items Errors: 1
Estou usando o Debian wheezy amd64. Não vejo atualizações significativas dos pacotes unzip
ou 7za
no testing / unstable.
Gostaria de receber sugestões de como descompactar este arquivo e, de maneira mais geral, o que significa a mensagem de erro PK compat. v6.1 (can do v4.6)
? Para um utilitário amplamente usado, zip
não há muita documentação disponível sobre ele. O README nas fontes Debian aponta para http://www.info-zip.org/pub/infozip/, que lista um lançamento datado de 29 de abril de 2009 para o UnZip 6.0.
Aqui está a saída da versão para o unzip
binário no meu sistema.
unzip -v
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
Compiled with gcc 4.7.2 for Unix (Linux ELF) on Feb 3 2015.
UnZip special compilation options:
ACORN_FTYPE_NFS
COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)
SET_DIR_ATTRIB
SYMLINKS (symbolic links supported, if RTL and file system permit)
TIMESTAMP
UNIXBACKUP
USE_EF_UT_TIME
USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported)
USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported)
UNICODE_SUPPORT [wide-chars, char coding: UTF-8] (handle UTF-8 paths)
LARGE_FILE_SUPPORT (large files over 2 GiB supported)
ZIP64_SUPPORT (archives using Zip64 for large files supported)
USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.6, 6-Sept-2010)
VMS_TEXT_CONV
WILD_STOP_AT_DIR
[decryption, version 2.11 of 05 Jan 2007]
UnZip and ZipInfo environment options:
UNZIP: [none]
UNZIPOPT: [none]
ZIPINFO: [none]
ZIPINFOOPT: [none]
O dpkg reporta a versão do pacote como 6.0-8+deb7u2
.
A saída de zipinfo
é:
zipinfo filename.zip
Archive: filename.zip
Zip file size: 6880 bytes, number of entries: 1
-rw-a-- 6.4 fat 10132 Bx defN 15-Feb-06 16:24 SOME_STUFF.pdf
1 file, 10132 bytes uncompressed, 6568 bytes compressed: 35.2%
p7zip-rar
no Debian, caso você receba o7z
erro que recebeu.Respostas:
Origem do erro
O PK no erro significa Phil Katz, o inventor do formato PKZIP original. O
zip
utilitário não acompanhou os recursos dopkzip
software comercial derivado, principalmente o armazenamento de certificados que os bancos gostam de incluir em seus arquivos ZIP.A Wikipedia fornece uma visão geral do desenvolvimento do formato. Mas os
zip
utilitários Unix não implementam as alterações após o ano de 2002.Pode ser necessário comprar a versão comercial do PKWARE para Linux para descompactar isso.
A página de manual para
zip
tem o seguinte a dizer por si mesma eunzip
:Solução
Embora
zip
não possa fazer o trabalho, existem outras ferramentas que podem. Você mencionou o utilitário 7zip e a versão de linha de comando do Linux / Unix do 7-Zip que, entre outros, pode ler e escrever noZIP
formato. Alega que, se o 7-Zip não pode ler um arquivo zip, em 99% dos casos o arquivo está quebrado . Os utilitários do 7-Zip devem poder ler seu arquivo, para que ele esteja quebrado ou o seu esteja em 1% (sobre o qual não encontrei mais detalhes).O 7-zip no Linux vem em vários executáveis com suporte a diferentes formatos. O mais básico (
7zr
), não suporta ZIP, você deve usar pelo menos7za
ou o pleno direito7z
:Pacote de versão diferente do Linux
7za
/7z
em pacotes com nomes diferentes.O mais fácil (como sempre) é instalar no Solus:
Na versão Linux derivada do Debian, o pacote
p7zip
instala apenas a base7z
que não suporta ZIP. Essa divisão causou alguns problemas e a instalaçãop7zip-full
não faz o que diz: às vezes você também precisa instalarp7zip-rar
No meu sistema Linux Mint, eu precisava fazer:No RedHat / CentOS, você precisa ter o repositório EPEL ativado. Por exemplo, no CentOS 7 eu precisava fazer:
fonte
zip
utilitário não acompanhou? Em uma nota relacionada, existe algum método de transmissão protegido por senha que eu poderia pedir ao meu banco para usar e que poderia funcionar em um sistema baseado em Linux sem usar software proprietário?Corri para o mesmo problema, exceto com
PK compat. v6.3
. Resolvido, extraindo o arquivo morto com a versão 7-zip POSIX.Pacote do Arch Linux: p7zip .
fonte
7z x archive.zip
Encontrei exatamente o mesmo código de erro (
need PK compat. v6.1
) ao tentar descompactar um arquivo zip com o descompactador padrão do MacOS.Eu experimentei o p7zip e mergulhei fundo nele antes de verificar a App Store.
Na App Store, encontrei um aplicativo descompactador gratuito chamado "Desarquivador" (o primeiro resultado de pesquisa deste artigo) e descompactou com êxito o arquivo sem problemas.
Para usuários de Mac, sugiro usar o programa "Unarchiver" gratuito.
fonte