ownCloudからダウンロードしたzipファイルの解凍

ownCloudは自前でファイル共有サーバを立てるためのサーバアプリケーション。フォルダをまとめてダウンロードしたところ,Macでzipの解凍ができない。
検索してみるとよく知られた問題のようである。ownCloudは大容量データをアーカイブするためにzip64を導入したが,Macのアーカイブユーティリティが対応していない。/usr/bin/unzipは古いバージョンだ。
$ /usr/bin/unzip --version
caution:  both -n and -o specified; ignoring -o
UnZip 5.52 of 28 February 2005, by Info-ZIP.  Maintained by C. Spieler.  Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
Info-ZIPのUnZipのページにはセキュリティ上の脆弱性が警告されている。新しいものを入れた方が良さそうだ。unzipzipMacPortsでインストールする。
$ sudo port -d install unzip zip
MacPortsで入れたunzipで解凍しようとしたが,複数の部分(multi-part)からなるアーカイブだとする警告が出て解凍できない。
Archive:  archive.zip
warning [archive.zip]:  zipfile claims to be last disk of a multi-part archive;
  attempting to process anyway, assuming all parts have been concatenated
  together in order.  Expect "errors" and warnings...true multi-part support
  doesn't exist yet (coming soon).
実際は単一のファイルしかない。zipで修復する。
$ zip -F archive.zip --out archive1.zip
修復したファイルも解凍できない。
Archive:  archive1.zip
   skipping: archive1/               need PK compat. v4.5 (can do v2.1)
   skipping: archive1/file1.docx  need PK compat. v4.5 (can do v2.1)
   skipping: archive1/file2.docx  need PK compat. v4.5 (can do v2.1)
圧縮アリゴリズムは7zipのようである。MacPortsでp7zipをインストールし,7zで解凍する。
$ sudo port -d install p7zip
$ 7z x archive1.zip 
7zでは解凍できた。試しに元のファイルを解凍してみたら,解凍できた。
$ 7z x archive.zip 
結論。ownCloudでダウンロードしたアーカイブの拡張子はzipだが,7zip形式で圧縮されているので,p7zipをインストールすれば7zで解凍できる。

コメント

このブログの人気の投稿

静的サイト生成ツールの導入

uptex

TeXのソースを分割してTeXShopでタイプセット