Windows、Linux、Mac用に作成したプログラムをパッケージ化して配布しています。ファイルとフォルダをzipアーカイブに入れる予定です。
正しいフォルダーとファイルのアクセス許可を設定してからzipに圧縮して再配布した場合、ユーザーがLinuxまたはMacシステムでそれらを抽出しても、それらのアクセス許可は維持されますか?または、権限を自分で設定する必要がありますか?
zip
ファイルのアクセス許可をアーカイブに保存しません。
tar
アーカイブは、LinuxとOSXでファイルのアクセス許可を保持します。Windowsで何が起こるかわかりません。Windowsでテストでき、それが機能する場合は、これがおそらく最善の策です。それはおそらく、人々がアーカイブを解凍するためにどのツールを使用するかに依存します。
クロスプラットフォームインストーラーを作成するための非商用オプションはほとんどありませんが、別のオプションはインストーラーを作成することです。ウィキペディアにはリストがあります。
ここでは、インストーラーが最適なオプションです。その理由をもう少し詳しく説明しましょう。
Windowsには次の権限があります。
Modify
Read & Execute
Read
Write
グループまたはユーザー名に割り当てられているもの、
Unixベースのシステムには次のものがあります。
Read
Write
Execute
所有者、グループなどに割り当てることができます。
ファイルシステムがパーミッションを異なる方法で処理するため、あるシステムから別のシステムにパーミッションをマップするのは難しいことがわかりますか。
ただし、Info-Zipなどの一部のzipユーティリティは、ユーザーIDとグループID、ファイルのアクセス許可、シンボリックリンクのサポートなどのUnixベースのファイルシステム機能をサポートしています。また、NTFSファイルシステムのアクセス許可もサポートしており、ファイルを抽出するときにNTFSアクセス許可からUnixアクセス許可に、またはその逆に変換しようとします。これにより、意図しない組み合わせが発生する可能性があります。たとえば、実行可能ファイルが拒否された状態で.exeファイルがNTFSボリュームに作成されます。*
プログラムの配布を計画している場合は、インストーラーが最適なソリューションです。
*ウィキペディアから:Zip(ファイル形式)