LoginSignup
6

More than 5 years have passed since last update.

posted at

powershellのcompress-archiveコマンドで作成したzipに潜むちょっとした罠

powershellを使うと、追加のソフトウェアなしで、コマンドラインからzipファイルの作成ができます。

c:\example>powershell compress-archive -Force <source_directory> <output_zip_file_name>

こんな感じです。

通常使う分には問題ないと思うのですが、特定の使い方をするとちょっとだけ問題が出ます。

  • 圧縮環境はwindows10
  • 圧縮ファイルに2階層以上(?)のディレクトリが含まれている
  • 圧縮ファイルは linux(Ubuntu14.0.4)で展開する
  • 展開時に unzip コマンドを利用している

この条件がそろうと、ubuntu 側で解凍したとき、ディレクトリのアクセス権限に実行権限が付きません。
実際、解凍先のディレクトリを ls してみると、サブディレクトリに実行権限が付与されていませんでした。

なお、僕の環境をそのまま書いただけなので、もしかしたら他の環境でも同じようなことが起きるかもしれません。

https://sevenzip.osdn.jp/ からダウンロードできる 7za.exe で作成した zipファイルではそんなことはなかったので、powershell固有の話みたいです。

解決策
ディレクトリは755 ファイルは644 一括権限更新シェルあたりを参考に、ディレクトリだけ権限755なり775なりに変更してください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
6