Pregunta ¿Qué es la carpeta __MACOSX?


¿Qué son estas carpetas __MACOSX que sigo viendo en archivos zip creados por personas en OSX? Algunos toman hasta el 30% del archivo.

¿Qué programa está produciendo esta carpeta __MACOSX y cómo pueden los usuarios de Mac evitar este error?


133


origen


Son muy irritantes, sí, y por lo general son inútiles ya que los recursos de los tenedores a menudo están vacíos. Pero al menos son inofensivos, a diferencia del enfoque no estándar que Apple ha llevado a tamaños de archivo de 4GB con las funciones integradas de OS X, lo que confundirá a cualquier otra herramienta y volverá a romper con archivos suficientemente grandes. Y bueno, podría ser peor, podría estar guardando dos copias de cada archivo con el mismo nombre, una para los datos y otra para la bifurcación de recursos, a menudo haciendo que sea imposible acceder a cualquiera de ellos, como solía hacerlo antes OSX Mac. Oh Apple, ¿por qué odias los formatos de archivo estándar? - bobince
@bobince: en realidad, los tenedores de recursos fueron una muy buena idea ... en ese momento. En la actualidad, el mismo efecto se logra almacenando recursos como archivos individuales, la mayoría de los cuales se parecen mucho a los formatos de archivo estándar.
¡Nada malo con los metadatos como tal, es solo que Apple tiene una gran habilidad para inventar sus propios formatos y estropear los formatos existentes con extensiones innecesariamente incompatibles! Tener los datos de tipo contenido como metadatos es en sí mismo una gran cosa y me entristece que OS X se esté moviendo hacia el hackeo de extensiones de archivos de Windows como una alternativa. Aunque esto no es tan malo como en Linux, donde el sistema de archivos admite el almacenamiento de metadatos Content-Type, pero ningún escritorio lo usa, prefiriendo una mezcla completamente rota de file-extension / name-patterns y content-sniffing (urgh!). Suspiro, OSes eh? - bobince
@bobince: Pero sí, al menos el formato que inventaron esta no causa ningún daño real, aparte de los listados de directorios ligeramente desordenados y desperdiciando esencialmente 1 inodo y 1 bloque por extracción de recursos vacíos, a menos que utilice algo como NTFS (que almacenará el contenido del archivo en MFT para archivos tan pequeños), en en ese caso, solo desperdicia el "inodo" (entrada de MFT). - SamB
Puede ser arreglado después del hecho por zip -d filename.zip __MACOSX/\* - Chris Johnson


Respuestas:


http://www.realsoftware.com/listarchives/gettingstarted/2005-09/msg00328.html

Apple proporciona capacidad incorporada para archivos ZIP en OS X 10.3 y superior, y estos archivos son el resultado de que Apple almacena de forma segura Resource Forks. Nunca vería estos archivos ejecutando OS X 10.3 o superior, pero dado que Windows y otros sistemas operativos no entienden esta forma especial de Resource Forks, aparecerán tal como los ve.


53



No se trata solo de recursos, todo lo que está más allá de los contenidos básicos de archivos se coloca en el archivo AppleDouble. Apple se está alejando de las herramientas de recursos, pero hacia cosas como atributos extendidos que también se almacenarán en el contenedor AppleDouble. - Gordon Davisson
Lo haces sonar como una característica. Los archivos .zip faltan intencionalmente en el departamento de metadatos. Si desea metadatos, use un formato diferente, no una Mac. Ejemplo de implementación correcta de zip + metadatos: .jar - Zenexer
enlace muerto, por favor corregir. - think123
"ya que Windows y otros sistemas operativos no entienden" - Ugh. Odio este tipo de terminología - Joe Plante
Acabo de descubrir: si estás en una Mac, usando la línea de comando, unzip filename.zip desempaquetará el directorio __MACOSX /, que no desea, pero open filename.zip hará lo correcto. - Edward Falk


Aquí hay un enlace que lo explica bastante bien. Supongo que es un poco tarde para ayudar a Yada, pero para la posteridad.

Explicación de la horquilla de recursos en Wikipedia

El resto es mi opinión:

@nickf: Nunca ver estos archivos no es una FUNCIÓN de esas versiones de OS X es un error. Las personas producen datos, lo envuelven, lo almacenan en diferentes medios, etc. Necesitan saber qué se necesita o qué no se necesita. Esconderlo los mantiene en la oscuridad.

La vieja mala idea de ocultar cosas a los usuarios: Un programador, preocupado con la conveniencia de lograr su propio trabajo, abusa de algo en el dominio del usuario final, para hacerlo más fácil para sí mismo.

En este caso, almacenó metadatos en el espacio de datos del usuario, luego lo ocultó al usuario. Se perdió el panorama general: el usuario no se dará cuenta de los detalles ocultos. Cuando empaqueta sus datos y los envía a un lugar imprevisto por el programador, las piezas que faltan no se enviarán o llegarán piezas desconocidas que tampoco el usuario o el destinatario pueden explicar.

Ocultar cosas del usuario es malo. Asume que el usuario es estúpido, cuando más exactamente es el programador siendo estúpido, o flojo

Para ser claros, este mal hábito no se limita a MAC. Está en todas partes. Es una consecuencia de que los programadores se enamoran de sus propios esquemas y que los proveedores prioricen sus propios objetivos antes que las necesidades del usuario final.

En breve.

__MAC OS X:
extraños excrementos de programadores que huelen saliendo de debajo de la alfombra donde fueron barridos.

Programadores y vendedores: por favor, mantengan las cosas al aire libre. Cuando los ocultas, te vuelves estúpido y el usuario desinformado.


97



Esta respuesta sería mejor si fuera solo una respuesta. El alarido extendido sobre los programadores estúpidos y los usuarios perezosos le quita valor. - Kristopher Johnson
@pbernatchez En realidad, si te detuvieras para aprender cómo eran las cosas y cómo evolucionaron, probablemente no dejes aquí tus propios "excrementos" arrogantes y arrogantes. Los tenedores de recursos eran un detalle de implementación (¡realmente agradable!) Anterior a Mac OS X y los usuarios solo los encontraron cuando interactuaban con otros sistemas. desde la década de los 90, Apple se ha movido cada vez más a un mundo sin herramientas de recursos, pero aún se inclina hacia atrás para mantener la compatibilidad. "Almacenar metadatos en el espacio de datos del usuario"? WTF? ¿Qué tan torcidamente tiene que definir "metadatos" y "espacio de datos del usuario" para decir eso? ¡Debes odiar los sistemas de archivos! - hmijail
"Ocultar cosas del usuario es malo". Hombre, también debes odiar todo tipo de interfaces de usuario, y bibliotecas, y abstracción, y ... bueno, cualquier tipo de programación y computadoras más avanzadas que un ábaco. - hmijail
Esto no responde la pregunta. Después de leer esta respuesta, todavía no tengo idea de qué metadatos está contenido en la carpeta _MACOSX, o qué recursos son. Supongo que la gente está votando esto solo porque están de acuerdo con la diatriba. - Atte Juvonen
Aquí hay otro enlace que creo que explica recursos bifurcaciones bastante bien: xahlee.info/UnixResource_dir/macosx.html - GDP2


Para responder a su pregunta final:

¿cómo pueden los usuarios de Mac evitar este error?

Los usuarios de Mac OS X pueden instalar una utilidad de archivado de terceros como Keka, dígale que no use Resource Forks, luego configúrelo como el compresor predeterminado.


Cómo hacer esto con Keka

Dile a Keka que no use Resource Forks

  1. Abrir Keka sin un archivo (desde Launchpad, Spotlight, etc.)
  2. prensa ⌘ Cmd+, a Preferencias abiertas
  3. Selecciona el Compresión lengüeta
    Keka "Compression" tab, selected
  4. Comprobar "Excluir las bifurcaciones de recursos de Mac OS X (por ejemplo: .DS_Store)" 
    A checkbox reading "Exclude Mac OS X resource forks (ex: .DS_Store)"

Haga de Keka el compresor predeterminado

  1. En el mismo Preferencias de Keka ventana
  2. Selecciona el General lengüeta
    Keka "General" tab, selected
  3. Haga clic en "Establecer Keka como compresor / descompresor predeterminado" [sic]
    enter image description here

12



Esto podría mejorarse agregando algo de información sobre los últimos 2 pasos, "dígale que no use Resource Forks, luego configúrelo como el compresor predeterminado". - Steven C. Howell
@ stvn66 ¡Hecho! Solo para su información, eso usualmente está fuera del alcance de estas preguntas, y es por eso que no lo hice al principio. - Ben Leggiero
Bajando, perdón. No soy partidario de instalar software de terceros para solucionar un problema que se puede solucionar con el software predeterminado. Como Chris Johnson señaló anteriormente, zip -d eliminará las bifurcaciones de recursos de un archivo zip. De hecho, creo que si usa zip en primer lugar, las fuentes de recursos no se agregan en primer lugar. - Edward Falk
@EdwardFalk ¡Eso es justo! Esta respuesta estaba destinada a resolver el "¿Cómo hago para que siempre se comporte de esta manera?" problema, no el "¿Cómo hago para que se comporte de esta manera una vez?" uno. - Ben Leggiero