web-dev-qa-db-ja.com

ファイルの解凍中にエラーが発生しました:「PK互換が必要です。v6.1(v4.6が可能)」

銀行からZipファイルを受け取りました。解凍しようとすると、次のエラーが表示されます。

_unzip filename.Zip 
Archive:  filename.Zip
   skipping: SOME_STUFF.pdf  need PK compat. v6.1 (can do v4.6)
_

fileコマンドは

_Zip archive data
_

このファイル。

このエラーメッセージを含むスレッドは多数ありますが、スレッドが持っている唯一の具体的な提案は、_7z x_パッケージの_7za x_または_p7Zip-full_を使用することです。これらはエラーで失敗します:

_Unsupported Method

Sub items Errors: 1
_

私はDebian wheezy AMD64を使用しています。ただし、testing/unstableにunzipまたは_7za_パッケージの大幅な更新はありません。

このファイルを解凍する方法の提案に感謝します。より一般的には、エラーメッセージPK compat. v6.1 (can do v4.6)はどういう意味ですか?広く使用されているユーティリティの場合、Zipにはそれに関するドキュメントがあまりありません。 DebianソースのREADMEは http://www.info-Zip.org/pub/infozip/ を指し、2009年4月29日付けのリリースをリストしています。 UnZip 6.0。

これが私のシステムのunzipバイナリのバージョン出力です。

_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はパッケージバージョンを_6.0-8+deb7u2_として報告します。

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%
_
27
Faheem Mitha

エラーの原因

エラーのPKは、元のPKZIPフォーマットの発明者であるPhil Katzを表しています。 Zipユーティリティは、pkzip派生の商用ソフトウェアの機能、特に銀行がZipファイルに含めたい証明書ストレージに追いついていません。

Wikipediaは開発の概要を示しています 形式。しかし、Unix Zipユーティリティは2002年以降の変更を実装していません。

これを解凍するには、PKWARE Linuxの商用バージョン を購入する必要がある場合があります。

Zipのmanページには、それ自体と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.

解決

Zipは仕事をすることができませんが、できる他のツールがあります。 7Zipユーティリティと 7-Zip のLinux/Unixコマンドラインバージョンについて言及しましたが、特にZip形式を読み書きできます。 7-ZipがZipファイルを読み取れない場合、それは 99%の場合、ファイルが壊れている であると主張しています。 7-Zipユーティリティはファイルを読み取ることができるはずです。そのため、ファイルが壊れているか、1%以内にあります(これ以上詳細は見つかりませんでした)。

Linuxの7-Zipは、さまざまな形式をサポートするさまざまな実行可能ファイルで提供されます。最も基本的な(7zr)はZipをサポートしていません。少なくとも7zaまたは本格的な7zを使用する必要があります。

7za x filename.Zip

異なる名前のパッケージ内の異なるLinuxバージョンパッケージ7za/7z.

最も簡単なのは(それほど頻繁に)Solusにインストールすることです。

Sudo eopkg install p7Zip

Debian派生のLinuxバージョンでは、パッケージp7Zipは、Zipをサポートしないベース7zのみをインストールします。この分割によりいくつかの問題が発生し、p7Zip-fullをインストールしてもそれが正しく実行されず、場合によっては p7Zip-rarをインストールする必要があります Linux Mintシステムでは:

Sudo apt-get install p7Zip-full p7Zip-rar

RedHat/CentOSでは、 [〜#〜] epel [〜#〜] リポジトリを有効にする必要があります。たとえば、CentOS 7では、次のことを行う必要がありました。

Sudo yum install epel-release
Sudo yum --enablerepo=epel install p7Zip
34
Anthon

PK compat. v6.3以外は同じ問題に遭遇しました。 7-Zip POSIXバージョンでアーカイブを抽出することで解決しました。

Arch Linuxパッケージ: p7Zip

10
Mandarin

まったく同じエラーコード(need PK compat. v6.1)デフォルトのMacOS解凍ツールでZipファイルを解凍しようとしています。

私はp7Zipを試してみて、App Storeをチェックする前に少し深く理解しました。

App Storeで、「Unarchiver」と呼ばれる無料の解凍アプリ(この記事を書いている時点での最初の検索結果)を見つけました。問題なくファイルを正常に解凍しました。

Macユーザーの場合は、無料の「Unarchiver」プログラムを使用することをお勧めします。

3
Jonathan Steele