¿Cómo puedo crear un archivo zip para usuarios de Windows y Linux?

En Finder, cuando creo un archivo ("Comprimir elementos..."), el archivo zip resultante tiene archivos .DS_Store en carpetas y los archivos tienen bifurcaciones de recursos. ¿Cómo puedo crear un archivo zip adecuado para compartir entre plataformas desde Mac OS X?

Respuestas (2)

  • zip -r -x .DS_Store directory.zip directory
    • zipelimina atributos extendidos y ACL por defecto
  • find directory -name .DS_Store -delete; ditto -ck --norsrc directory directory.zip
    • --norsrcimplica --noextattry --noacl; --noextattrrequeriría--norsrc
    • -ces comprimir, -kusa PKZip (zip) en lugar de CPIO
  • COPYFILE_DISABLE= tar --exclude .DS_Store -czf directory.tgz directory
    • La configuración COPYFILE_DISABLEindica tarque se eliminen los atributos extendidos y las ACL en lugar de crear ._archivos

Los archivos que comienzan con ._son archivos AppleDouble (no bifurcaciones de recursos) y se usan para almacenar atributos extendidos y ACL.

Los atributos extendidos se utilizan para almacenar el estado de cuarentena de los archivos, las URL de origen de los archivos descargados de Internet, información sobre alias (los alias dejan de funcionar si se eliminan los atributos extendidos), comentarios de Spotlight, la codificación de archivos guardados con TextEdit, etc. .

Puede listar atributos extendidos y ACL con ls -l@e. Puede eliminar atributos extendidos y ACL recursivamente conxattr -cr .; chmod -NR .

Puedes usar el dittocomando.

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

Sin embargo, creo que esto seguirá incluyendo archivos .DS_Store.