15 votos

¿Dónde se almacenan los metadatos "Where from" cuando se descargan a través de Chrome?

Estoy ejecutando Mavericks con Chrome, y cuando descargo una imagen/archivo se guarda el 'Where from' cuando se ve a través de Get Info. Esto también ocurre en Safari.

Ahora, entiendo que hay un historial de descargas separado que puede ser visto y eliminado a través de los trucos en el siguiente artículo: http://www.cultofmac.com/179873/list-your-macs-entire-download-history-at-once-os-x-tips/ Se utilizan al abrir las aplicaciones por primera vez para mostrar al usuario su procedencia.

Sin embargo, he borrado esto y confirmo que está vacío, pero todavía aparece en el 'Where from'. He hecho algunas pruebas más y he subido la imagen para ver los datos EXIF y los metadatos, pero no parece estar almacenado en los metadatos de los archivos en absoluto. Entonces, ¿dónde podría estar almacenado?

¿Alguien sabe cómo se almacenan estos metadatos "De dónde" y dónde se almacenan? ¿Se queda con el archivo si se pone el archivo en la unidad USB y se abre en un ordenador diferente?

No me preocupa tanto quitarlo, pero no veo de dónde sale?

0 votos

¿también te apetece una respuesta programática que muestre cómo recuperar esta información para un archivo? Veo que has confirmado la respuesta que lo explica "a nivel de shell"...

22voto

Ged Byrne Puntos 481

Se almacena en un atributo extendido en el archivo. En concreto, el com.apple.metadata:kMDItemWhereFroms atributo. Puede permanecer con el archivo cuando lo mueves a diferentes ordenadores, pero depende del sistema de archivos o del protocolo de compartición de archivos que utilices. Si lo mueves a otro Mac en un disco HFS+, es probable que lo conserve, pero no necesariamente si lo transfieres a través de la red, y muy probablemente no con un disco externo con un sistema de archivos que no sea HFS+.

Puede comprobar un archivo ejecutando xattr -lp com.apple.metadata:kMDItemWhereFroms myfile en el Terminal, o eliminarlo con xattr -d com.apple.metadata:kMDItemWhereFroms my file . ls -l@ también es útil; listará los nombres de xattrs junto con la información habitual de ls.

Si quieres eliminarlo de varios archivos, echa un vistazo a esta pregunta: ¿Cómo eliminar el xattr com.apple.quarantine de todos los archivos .webarchive con ese atributo extendido?

0 votos

Es una respuesta muy informativa, gracias. ¿Estoy en lo cierto al decir que el archivo es contiene los datos del archivo, y luego hay un archivo shell oculto que realmente tiene el xattr añadido a él?

0 votos

Casi, pero no exactamente. Es más parecido a los metadatos. De la misma manera que un archivo tiene contenidos que son los datos reales, pero también un nombre, fecha de creación, etc., puede tener atributos extendidos adjuntos.

0 votos

@robmathers: caramba, te me has adelantado. También me olvidé de la opción -l de xattr. Ten un upvote.

9voto

James Socol Puntos 146

Hay atributos extendidos asignado a los archivos descargados, como com.apple.quarantine para poner los archivos ejecutables en cuarentena y com.apple.metadata:kMDItemWhereFroms para los datos "De dónde". La presencia de estos atributos puede revelarse en el Terminal a través de ls -l@ /path/to/downloaded/file .

Ahora para obtener los datos reales almacenados en este kMDItemWhereFroms, encontré una solución basada en esta respuesta (que también explica un poco más sobre el método de conversión):

xattr -p com.apple.metadata:kMDItemWhereFroms /path/to/downloaded/file | sed -e 's/0D//g' -e 's/.*\(5F 10\)...//' -e 's/00.*//'| xxd -r -p | sed -e 's@ (.*@@g'

Esto devolverá la url. Tenga en cuenta que en este momento está en una forma relativamente difícil de leer, ya que mi línea de comandos-fu parece fallar. Actualizaré la respuesta una vez que haya encontrado la forma adecuada sed para ello.

8 votos

A partir de los primeros bytes, "bplist", adiviné que se trataba de un plist binario, así que aquí está cómo decodificarlo usando las herramientas de Apple para leerlos: xattr -p com.apple.metadata:kMDItemWhereFroms "$file" | xxd -r -p | plutil -convert xml1 -o - - . Si desea obtener la(s) URL(s) (la mayoría de los archivos parecen tener dos) por sí mismos, lo adecuado sería utilizar alguna herramienta XML general (como xpath ) o alguna herramienta específica para plistas (no puedo ayudarte en eso). (Probado en 10.8.5.)

0 votos

@AaronDavies tienes razón. Por desgracia, las cadenas no parecen estar en un orden específico dentro del XML. Es bueno ver que esto también funciona en cosas como los archivos adjuntos de Mail.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X