Kesalahan saat mencoba unzip file: “need PK compat. v6.1 (dapat melakukan v4.6) ”

24

Saya menerima file zip dari bank. Saya mendapatkan kesalahan berikut ketika saya mencoba untuk unzip.

unzip filename.zip 
Archive:  filename.zip
   skipping: SOME_STUFF.pdf  need PK compat. v6.1 (can do v4.6)

The fileperintah kembali

Zip archive data

untuk file ini.

Ada cukup banyak utas yang berisi pesan kesalahan ini, tetapi satu-satunya saran konkret yang mereka miliki adalah untuk menggunakan 7z xatau 7za xdari p7zip-fullpaket. Ini gagal dengan kesalahan:

Unsupported Method

Sub items Errors: 1

Saya menggunakan Debian wheezy amd64. Saya tidak melihat pembaruan signifikan dari unzipatau 7zapaket dalam pengujian / tidak stabil.

Saya menghargai saran tentang bagaimana cara unzip file ini, dan lebih umum, apa arti pesan kesalahan PK compat. v6.1 (can do v4.6)? Untuk utilitas yang banyak digunakan, ziptidak tersedia banyak dokumentasi tentangnya. README dalam sumber-sumber Debian menunjuk ke http://www.info-zip.org/pub/infozip/ yang mencantumkan rilis tanggal 29 April 2009 untuk UnZip 6.0.

Ini adalah versi keluaran untuk unzipbiner di sistem saya.

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]

dpkg melaporkan versi paket sebagai 6.0-8+deb7u2.

Output dari zipinfoadalah:

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%
Faheem Mitha
sumber
Saya menemukan laporan bug ini yang menyarankan untuk menginstal p7zip-rardi Debian jika Anda mendapatkan 7zkesalahan yang Anda dapatkan.
Anthon

Jawaban:

30

Asal kesalahan

PK dalam kesalahan adalah singkatan dari Phil Katz, penemu format PKZIP asli. The ziputilitas tidak terus dengan kemampuan pkzipperangkat lunak komersial berasal, terutama penyimpanan sertifikat bahwa bank Anda sertakan dalam ZIP file mereka.

Wikipedia memberikan gambaran tentang perkembangan format. Tetapi ziputilitas Unix tidak mengimplementasikan perubahan setelah tahun 2002.

Anda mungkin harus membeli versi komersial PKWARE untuk Linux untuk mengompres ini.

Halaman manual untuk zipmemiliki yang berikut mengatakan untuk dirinya sendiri dan unzip:

   A  companion  program  (unzip(1))  unpacks  zip  archives.  The zip and
   unzip(1) programs can work with archives produced by PKZIP  (supporting
   most PKZIP features up to PKZIP version 4.6), and PKZIP and PKUNZIP can
   work with archives produced  by  zip  (with  some  exceptions,  notably
   streamed  archives,  but  recent  changes  in the zip file standard may
   facilitate better compatibility).  zip version 3.0 is  compatible  with
   PKZIP  2.04  and  also supports the Zip64 extensions of PKZIP 4.5 which
   allow archives as well as files to exceed the previous 2 GB limit (4 GB
   in  some  cases).  zip also now supports bzip2 compression if the bzip2
   library is included when zip is compiled.  Note that PKUNZIP 1.10  can‐
   not extract files produced by PKZIP 2.04 or zip 3.0. You must use PKUN‐
   ZIP 2.04g or unzip 5.0p1 (or later versions) to extract them.

Larutan

Meskipun ziptidak bisa melakukan pekerjaan itu ada alat lain yang bisa. Anda menyebutkan utilitas 7zip dan versi perintah Linux / Unix dari 7-Zip yang, antara lain dapat membaca dan menulis ZIPformat. Ia mengklaim bahwa jika 7-Zip tidak dapat membaca file zip, bahwa dalam 99% kasus file tersebut rusak . Utilitas 7-Zip seharusnya dapat membaca file Anda, jadi itu rusak atau Anda berada di 1% (yang saya tidak menemukan detail lebih lanjut).

7-zip di Linux hadir dalam berbagai executable dengan dukungan format yang berbeda. Yang paling dasar ( 7zr), tidak mendukung ZIP, Anda harus menggunakan setidaknya 7zaatau yang lengkap 7z:

7za x filename.zip

Paket versi Linux yang berbeda 7za/ 7zdalam paket dengan nama yang berbeda.

Yang paling mudah (seperti sering) menginstal di Solus:

sudo eopkg install p7zip

Pada versi Linux yang diturunkan dari Debian, paket p7ziphanya menginstal basis 7zyang tidak mendukung ZIP. Perpecahan ini telah menyebabkan beberapa masalah dan penginstalan p7zip-fulltidak melakukan apa yang dikatakannya, kadang-kadang Anda juga harus menginstalp7zip-rar Di sistem Linux Mint yang perlu saya lakukan:

sudo apt-get install p7zip-full p7zip-rar

Pada RedHat / CentOS Anda harus memiliki repositori EPEL yang diaktifkan. Misalnya pada CentOS 7 yang perlu saya lakukan:

sudo yum install epel-release
sudo yum --enablerepo=epel install p7zip
Anthon
sumber
Terima kasih, Anthon, itu sangat informatif. Apakah Anda tahu mengapa ziputilitasnya tidak mengikuti? Pada catatan yang terkait, apakah ada metode transmisi yang dilindungi kata sandi yang dapat saya katakan kepada bank saya untuk digunakan yang mungkin dapat bekerja pada sistem berbasis Linux tanpa menggunakan perangkat lunak berpemilik?
Faheem Mitha
@FaheemMitha Dugaan saya adalah pkware ingin mendapatkan lebih banyak uang dan tidak mengungkapkan detail format yang lebih baru atau menerbitkan kode sebagai sumber terbuka. Saya tidak berpikir bank Anda akan berubah hanya untuk Anda, saya punya masalah selama beberapa tahun dengan file PDF yang sedikit tidak sesuai yang tidak bisa dibaca dan akhirnya saya nyalakan VM WinXP saya untuk melakukannya.
Anthon
Saya tidak berharap bank saya melakukan apa pun hanya untuk saya. :-) Tapi saya pikir jika ada beberapa metode alternatif yang tersedia, mereka mungkin mempertimbangkan untuk menggunakannya. Dalam hal ini, file zip ini tidak dikirimkan kepada saya melalui beberapa metode otomatis. Itu dikirim kepada saya oleh seseorang atas permintaan saya.
Faheem Mitha
Format ZIP sebagaimana ditentukan dalam file "APPNOTES" didokumentasikan oleh PKWare secara terbuka. @Anthon
eckes
9

Saya berlari ke masalah yang sama kecuali dengan PK compat. v6.3. Memecahkannya dengan mengekstrak arsip dengan versi POSIX 7-zip.

Paket Arch Linux: p7zip .

Mandarin
sumber
1
Menggunakan 7zip adalah pilihan terbaik bagi saya. yaitu7z x archive.zip
Matt H
3

Saya berlari ke kode kesalahan yang sama persis ( need PK compat. v6.1) ketika mencoba membuka zip file zip dengan unzipper MacOS default.

Saya mencoba p7zip dan agak dalam sebelum memeriksa App Store.

Di App Store, saya menemukan aplikasi unzipper gratis bernama "Unarchiver" (hasil pencarian pertama pada tulisan ini) dan berhasil membuka ritsleting file tanpa masalah.

Untuk pengguna Mac, saya sarankan menggunakan program "Unarchiver" gratis itu.

Jonathan Steele
sumber
Itu tidak akan membantu OP, di sini, yang menggunakan Debian ...
Jeff Schaller
1
@JeffSchaller OP telah lama pindah. :-) Dan saya baik-baik saja dengan jawaban Mac, meskipun itu tidak langsung menjawab pertanyaan. Mungkin itu akan bermanfaat bagi seseorang.
Faheem Mitha
Saya pikir itu akan lebih mungkin berguna (dan ditemukan) di Pertanyaan Mac (Ask Different?)
Jeff Schaller
2
@JeffSchaller Nah, jika seseorang mencari pesan kesalahan di Google, mereka cenderung tersandung pada pertanyaan ini.
Faheem Mitha
Saya setuju, kita harus ingat bahwa SO berguna juga untuk pertanyaan yang mirip dengan yang asli, sebenarnya akan lebih buruk jika ada pertanyaan seperti ini untuk setiap OS yang berbeda ...
Francesco Marchetti-Stasi