¿Funcionará la configuración de un trabajo cron para eliminar archivos ._ shadow en un recurso compartido de Linux?

Hace poco alquitré un directorio para enviarlo a un sistema Linux remoto. Cuando lo descomprimí, había archivos ._ arrojados al directorio de destino.

Hice una búsqueda y encontré artículos de personas furiosas por esto en 2003.

foro de macosx en archivos ._

¿Para qué sirve esto en Mac OS X y puedo decirle que no cree estos archivos?

La razón por la que pregunto es que estoy administrando recursos compartidos de red donde aterrizarán estos archivos y me inclino a configurar un trabajo cron para eliminarlos periódicamente. Según tengo entendido, esta eliminación ayudará, ya que los archivos son el resultado de que el usuario-a establezca una preferencia en un archivo de recursos, luego el usuario-b estará sujeto a la contaminación cruzada de las preferencias de los usuarios.

De acuerdo con el enlace del foro, si bloqueo su creación, MacOS enloquecerá, pero esa información es bastante obsoleta. ¿Puede alguien indicarme un resumen actualizado de estos archivos? ¿Eliminar los archivos tendrá malas consecuencias cuando los archivos regresen a OS X?

No pude buscar en "._" :-( La forma en que afecta los archivos compartidos es una diferencia importante en esta pregunta.
La revisión 3 más reciente de esta pregunta está estrechamente relacionada con los archivos Dot y otros metadatos en recursos compartidos de red que no son de Mac (vinculados desde la primera pregunta dada por @Lri).
Por favor, ¿cuál Linux? Asumiendo Netatalk, ¿qué versión?

Respuestas (2)

Antes de Mac OS X, Mac OS usaba archivos 'bifurcados', que tienen dos componentes: una bifurcación de datos y una bifurcación de recursos. Los formatos de disco Mac OS Standard (HFS) y Mac OS Extended (HFS Plus) admiten archivos bifurcados. Cuando mueve este tipo de archivos a otros formatos de disco, la bifurcación de recursos se puede perder.

Con Mac OS X, existe un mecanismo llamado "AppleDouble" que permite que el sistema funcione con sistemas de archivos que no tienen una función de archivo bifurcado, como directorios remotos NFS, SMB, WebDAV o volúmenes UFS locales. AppleDouble hace esto convirtiendo el archivo en dos archivos separados. El primer archivo nuevo mantiene el nombre original y contiene la bifurcación de datos del archivo original. El segundo archivo nuevo tiene el nombre del archivo original con el prefijo "._" y contiene la bifurcación de recursos del archivo original. Si ve ambos archivos, el archivo ._ se puede ignorar sin problemas. A veces, al eliminar un archivo, el componente ._ no se eliminará. Si esto ocurre, puede eliminar con seguridad el archivo ._.

Esencialmente, cuando trabaja en archivos ubicados en un recurso compartido de red, termina con duplicados del archivo con un prefijo "._".

Puede ejecutar el siguiente comando para limpiar los archivos.

find . -name '._*' -exec rm '{}' ';'

También puede convertir esto en una tarea launchctl o cron.

._rara vez contiene información sobre la bifurcación de recursos. De lo contrario, esta es una buena respuesta: es seguro ignorar (no necesariamente seguro eliminar) un ._archivo si es un complemento de otro archivo; seguro eliminar un ._archivo si es huérfano.

… ¿puedo decirle que no cree estos archivos?

El trabajo cron propuesto

Como su servidor de archivos atiende a múltiples usuarios, la respuesta corta es:

  • debe permitir y no programar la eliminación de ._ archivos.

Para un servicio de archivos que no admite cosas como atributos extendidos:

servicio de archivos

Si configura el servidor para evitar la creación de ._archivos:

  • el servidor será incompatible con Finder y otras aplicaciones que se usan comúnmente en OS X.

Si permite la creación pero programa la eliminación :

  • la corrupción o la pérdida de datos pueden afectar el archivo nativo .

Visualizar: eliminación programada de un archivo de barra subyacente de puntos, mientras ese archivo está presente en relación con una copia en curso o un guardado en curso. Visualice una alfombra, arrancada de debajo de los pies de una operación. Es difícil para mí decir exactamente qué corrupción o pérdida puede ocurrir (los efectos pueden variar, dependiendo del momento en que se tome la alfombra), pero he visto efectos negativos con la suficiente frecuencia como para advertir sobre la eliminación programada de los archivos de la barra de puntos.

Lectura recomendada

Re: Dot files : una publicación de 2006 de Matt Deatherage , ex ingeniero de Apple. Esto es muy recomendable, por conveniencia hice anotaciones .

De manera más oscura, una tabla vinculada a la siguiente pregunta: Con WebDAV proporcionado por Microsoft SharePoint, ¿cómo pueden los usuarios de OS X minimizar los riesgos de corrupción y sobrescrituras multiusuario? – “…algunas partes…pueden generalizarse…”. Dentro de esa tabla se encuentran algunas de las soluciones alternativas a las que las personas pueden recurrir cuando se enfrentan a un servicio que evita los archivos de barras subyacentes de puntos. Sin entrar en detalles (solo se podía exprimir mucho en esa tabla): los resultados de las pruebas invitaron a la reflexión.

Clientes del servicio de archivos

._Finder lo requiere para tareas comunes como copiar o mover . Ese requisito no es configurable.

Para tareas comunes como guardar, ._es requerido por Microsoft Office Excel, PowerPoint y Word 2011 (Service Pack 2). Ese requisito no es configurable.

Etcétera …

SO del cliente

El uso de una computadora cliente que ejecuta algo que no sea OS X puede dejar un archivo AppleDouble disociado de su archivo nativo correspondiente. En algunos casos de uso, la disociación puede verse como corrupción.

Efectos percibidos de la corrupción y de la disociación

A partir de los resultados de las pruebas en una variedad de entornos, debo decir:

  • cuando un archivo nativo se corrompe o se pierde, el efecto siempre es grave
  • cuando se produce la disociación, el efecto suele ser inofensivo (sin atributos, el archivo nativo sigue siendo utilizable).

punto_limpio

dot_clean(1) Página del manual de OS X

Cuando se utiliza con sistemas de archivos como HFS Plus y ZFS:

  • dot_cleanse comporta como se esperaba
  • las fusiones tienen éxito sin pérdidas.

Tenga cuidado al ejecutar este comando en sistemas de archivos que no admitan información que pueda almacenarse en archivos AppleDouble. Ejemplo:

  • cuando el comando elimina ._archivos de un DOS_FAT_32volumen, la información se pierde (no se fusiona)
  • Reportaré el error a Apple.
Pero si los archivos ._* contienen datos, compartir archivos con usuarios que no sean de MacOS puede causar corrupción o pérdida de datos.
Un buen punto... a lo largo de los años, algunos debates relacionados han sido espinosos. En la edición más reciente de esta respuesta, animo a los lectores a otorgar mayor valor a la integridad del archivo nativo .