GNU/Linux >> Linux の 問題 >  >> Linux

Unix パーミッションを zip ファイル (apache ant で作成) に保存できますか?

Blaine の回答を拡張するには、 子要素を使用してアクセス許可を指定できます。

<zip destfile="build/MyApplication.zip" encoding="UTF-8">

    <zipfileset dir="${content-dir}" encoding="UTF-8"
        includes="**/setup.sh" filemode="755"/>

    <zipfileset dir="${content-dir}" encoding="UTF-8"
        excludes="**/setup.sh"/>

</zip>

Linux/Unix ファイルのアクセス許可を ZIP ファイルに保存することはできません。

編集 (コメントの後) ZIP ヘッダー内の「外部属性」フィールドを使用すると、これらの属性を ZIP ファイル内に保存できます。 GNU の unzip その追加フィールドを読み取って、ファイルのアクセス許可を復元できるようです。

「ネイティブ」の Unix/Linux 形式である TAR 形式は、ファイル属性を含めるように設計されており、Ant はすべての Linux/Unix オペレーティング システムで属性を保持する TAR ファイルを作成できます。

<tar compression="gzip" destfile="my-archive.tgz">
  <tarfileset mode="544" dir="dir_with_shell_scripts">
     <include name="*.sh"/>
  </tarfileset>
</tar>

これは Apache Commons Compress でできると思います。

最初の段落:

<ブロック引用>

内部および外部属性へのアクセス (一部の zip 実装で Unix 許可を保存するために使用されます)。

API を見て、setUnixMode() を探します。


tar ファイルに切り替える必要はありません。 Ant を知らない人がこのトピックについてアドバイスを提供している理由がわかりません。

zipfileset の filemode パラメータを使用します。 http://ant.apache.org/manual/Types/zipfileset.html で文書化


Linux
  1. Linux – Unixのアクセス許可とファイルタイプを理解していますか?

  2. Linuxでのファイルパーミッションと例

  3. LinuxまたはUNIXでApacheファイルとディレクトリのインデックスを有効にするにはどうすればよいですか?

  1. Linux/Unix では、.tar.gz と .zip はどちらが重要ですか?

  2. zip/7z/rar のファイル許可?

  3. Linux では、Zip ファイルはバックスラッシュで展開され、サブディレクトリはありません

  1. rsync を使用してファイルとフォルダーのアクセス許可を保持する

  2. UNIX のアクセス許可とファイルの種類について

  3. sshfs と書き込みファイル権限でマウントする