developer.microsoft.com の Zip が UnZip 出来ない

developer.microsoft.com から IE 検証用の VM がダウンロード出来ますが、この zip ファイルが unzip で展開出来ませんでした。

~ ❯ unzip IE11.Win81.Vagrant.zip
Archive:  IE11.Win81.Vagrant.zip
warning [IE11.Win81.Vagrant.zip]:  3083694275 extra bytes at beginning or within zipfile
  (attempting to process anyway)
error [IE11.Win81.Vagrant.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

インストール手順書 によると、どうやら zip64 に対応した方法で展開する必要があるとのこと。

unzip

v6.0 系の unzip の場合、zip64 に対応しているらしいので、brew でインストールします。

普通にインストールしただけでは反映されないので、--force オプションを付けて brew link を行います。

それでも反映されない場合は、terminal を起動し直してみてください。

~ ❯ brew tap homebrew/dupes
~ ❯ brew install unzip
==> Installing unzip from homebrew/dupes
==> Downloading https://homebrew.bintray.com/bottles-dupes/unzip-6.0_2.el_capitan.bottle.tar.gz
Already downloaded: /Users/yug1224/Library/Caches/Homebrew/unzip-6.0_2.el_capitan.bottle.tar.gz
==> Pouring unzip-6.0_2.el_capitan.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local.
macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.
==> Summary
🍺  /usr/local/Cellar/unzip/6.0_2: 14 files, 358.1K
~ ❯ brew link unzip --force
~ ❯ unzip IE11.Win81.Vagrant.zip
Archive:  IE11.Win81.Vagrant.zip
 extracting: IE11 - Win81.box

brew tap せずに brew install homebrew/dupes/unzip でも可。

tar

tar でも Zip64 を展開することが出来ます。

~ ❯ tar xvf IE11.Win81.Vagrant.zip
x IE11 - Win81.box

ditto

OSX 固有のコマンドである ditto でも展開することが出来ます。メッセージが出てきますが問題ありませんでした。

~ ❯ ditto -xk /IE11.Win81.Vagrant.zip ./
ditto: Couldn't read pkzip signature.
ditto: Not a central directory signature

まとめ

unzip は新たにインストールする手間がありますし、ditto は OSX 固有なので、 tar で展開するのが一番手っ取り早い。

以上