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