Wie kann ich ein Zip-Archiv für Windows- und Linux-Benutzer erstellen?

Wenn ich im Finder ein Archiv erstelle ("Elemente komprimieren..."), enthält das resultierende ZIP-Archiv .DS_Store-Dateien in Ordnern und Dateien haben Ressourcenverzweigungen. Wie kann ich ein ZIP-Archiv erstellen, das für die plattformübergreifende Freigabe von Mac OS X geeignet ist?

Antworten (2)

  • zip -r -x .DS_Store directory.zip directory
    • zipentfernt standardmäßig erweiterte Attribute und ACLs
  • find directory -name .DS_Store -delete; ditto -ck --norsrc directory directory.zip
    • --norsrcimpliziert --noextattrund --noacl; --noextattrwürde brauchen--norsrc
    • -ckomprimiert ist, -kverwendet PKZip (zip) anstelle von CPIO
  • COPYFILE_DISABLE= tar --exclude .DS_Store -czf directory.tgz directory
    • Die Einstellung COPYFILE_DISABLEweist an tar, erweiterte Attribute und ACLs zu entfernen, anstatt ._Dateien zu erstellen

Die Dateien, die mit beginnen, ._sind AppleDouble-Dateien (keine Ressourcenzweige) und werden verwendet, um erweiterte Attribute und ACLs zu speichern.

Erweiterte Attribute werden verwendet, um den Quarantänestatus von Dateien, die Quell-URLs von aus dem Internet heruntergeladenen Dateien, Informationen über Aliase (Aliase funktionieren nicht mehr, wenn erweiterte Attribute entfernt werden), Spotlight-Kommentare, die Codierung von mit TextEdit gespeicherten Dateien usw. zu speichern .

Sie können erweiterte Attribute und ACLs mit auflisten ls -l@e. Mit können Sie erweiterte Attribute und ACLs rekursiv entfernenxattr -cr .; chmod -NR .

Sie können den dittoBefehl verwenden.

ditto -ck --norsrc sourcedir destination.zip

-c create an archive
-k create a PKZip archive instead of the default, which is CPIO
--norsrc do not preserve the resource forks

Ich denke jedoch, dass dies immer noch .DS_Store-Dateien enthalten wird.