#大容量のzipを展開(解凍)できない bad CRCなどのエラーが発生する場合の対処法
大容量のファイルをzipで圧縮した場合、展開するときにbad CRCと表示されることがあります。
大容量のファイルでは、同じ.zip拡張子でもZIP64というフォーマット拡張が適用されている場合があります。これに対応していない展開ソフトではエラーになる模様です。
圧縮前のファイルサイズが4GB程度あるとZIP64が適用されるようです。
Linuxでbad CRCが発生した例
$ unzip hoge.zip
Archive: hoge.zip
inflating: abc.txt bad CRC 306a1b53 (should be 2a7ce59e)
inflating: def.txt
inflating: ghi.txt bad CRC 90fb626f (should be dbaa772e)
inflating: jkl.txt
inflating: mno.txt bad CRC d204aa0e (should be 2b5c71f4)
同じファイルをWindowsのLhaplusで解凍した場合、「正常に解凍できません。CRCが一致しないか、出力先ファイルが使用中です。」というエラーが起きます。
##対策
まずは、以下を確認
- 正常に圧縮ができていたか
- ネットワークや外部記憶装置を経由してファイルを移動させた際、正常に移動できていたか
ここでは、上記を何度やり直しても解決しない場合の対策を紹介します。
ZIP64をサポートする展開ツール、7-Zipを試してみます。
###CentOSの場合
$ sudo yum --enablerepo=rpmforge install p7zip
$ 7za x hoge.zip
Amazon Linuxであれば、sudo yum install p7zip
でインストールできると思います。
「Everything is Ok」と表示されれば問題無く完了です。
###Ubuntuの場合
$ sudo aptitude install p7zip
$ 7zr x hoge.zip
CentOSと微妙にコマンドが異なるので注意。Ubuntuでは7zr
です。
###Windowsの場合
Lhaplus等のソフトを使用せず、Windowsのエクスプローラで開き、zipを展開する機能を利用して展開してみてください。
それでもダメなら7-Zipを試してみます。
ここからインストーラをダウンロードして、インストールします。
インストール後はファイルを右クリックしたときのメニューに、7-Zipという項目が追加されるので、展開を選びます。
ここで紹介したソフト
7-Zip https://sevenzip.osdn.jp/