GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kann ich Unix-Berechtigungen in einer ZIP-Datei speichern (erstellt mit Apache Ant)?

Um Blaines Antwort zu erweitern, können Sie untergeordnete Elemente verwenden, um Berechtigungen anzugeben:

<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>

Sie können Linux/Unix-Dateiberechtigungen nicht in einer ZIP-Datei speichern.

Bearbeiten (nach Kommentaren) Durch die Verwendung des Feldes "externe Attribute" im ZIP-Header können diese Attribute in einer ZIP-Datei gespeichert werden. GNUs unzip ist anscheinend in der Lage, dieses zusätzliche Feld zu lesen und Dateiberechtigungen wiederherzustellen.

Das TAR-Format – ein „natives“ Unix/Linux-Format – wurde entwickelt, um Dateiattribute einzuschließen, und Ant kann TAR-Dateien erstellen, die Attribute über alle Linux/Unix-Betriebssysteme hinweg beibehalten.

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

Ich denke, Sie können dies mit Apache Commons Compress tun.

Erster Absatz:

Zugriff auf interne und externe Attribute (die von einigen ZIP-Implementierungen zum Speichern von Unix-Berechtigungen verwendet werden).

Sehen Sie sich die API an und suchen Sie nach setUnixMode()


Sie müssen nicht zu tar-Dateien wechseln. Ich weiß nicht, warum Leute, die Ant nicht kennen, Ratschläge zu diesem Thema geben.

Verwenden Sie den filemode-Parameter von zipfileset. Dokumentiert unter http://ant.apache.org/manual/Types/zipfileset.html


Linux
  1. Dateiberechtigungen mit Git beibehalten

  2. Spielt unter Linux/Unix .tar.gz im Vergleich zu .zip eine Rolle?

  3. Dateiberechtigung in zip/7z/rar?

  4. Zip-Dateien werden unter Linux mit Backslashes erweitert, keine Unterverzeichnisse

  5. Datei- und Ordnerberechtigungen mit rsync beibehalten

Linux Zip- und Unzip-Befehl mit Beispielen

Linux – Unix-Berechtigungen und Dateitypen verstehen?

Linux-Dateiberechtigungen und Eigentumsrechte mit Beispielen erklärt

Dateiberechtigungen unter Linux mit Beispiel

Verwalten Sie Verzeichnis- und Dateiberechtigungen mit chmod Recursive

Mounten Sie mit sshfs und schreiben Sie Dateiberechtigungen