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?
zip -r -x .DS_Store directory.zip directory
zip
elimina atributos extendidos y ACL por defectofind directory -name .DS_Store -delete; ditto -ck --norsrc directory directory.zip
--norsrc
implica --noextattr
y --noacl
; --noextattr
requeriría--norsrc
-c
es comprimir, -k
usa PKZip (zip) en lugar de CPIOCOPYFILE_DISABLE= tar --exclude .DS_Store -czf directory.tgz directory
COPYFILE_DISABLE
indica tar
que se eliminen los atributos extendidos y las ACL en lugar de crear ._
archivosLos 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 ditto
comando.
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.