Deshabilitar el almacenamiento de archivos invisibles "._" en mi almacenamiento de red cfs o smb

31

Uso OS X Mavericks y tengo montadas algunas unidades de almacenamiento de la empresa (usando smb o cfs). (smb: //[email protected]/directory/data). Cuando trabajo con archivos en la unidad o copio archivos a la unidad, se crean algunos archivos ocultos. La mayoría de estos archivos comienzan con dot-dash ._ y luego el nombre del archivo original, como:

._test001.png
._test002.png
._test003.png

Y la mayoría de las veces, los famosos ._.DS_Store y .DS_Store también están allí.

En mi Mac, estos elementos . dot son invisibles, pero mis colegas de Windows ven estos archivos. ¿Cómo puedo evitar que OS X genere estos extraños archivos invisibles?

En support.apple.com (y otras fuentes de Internet) que puede encontrar una 'escritura predeterminada' para deshabilitar la creación de archivos .DS_Store en sus unidades de red. Pero esto no funciona en Mavericks:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Por ahora uso este oneliner, pero hacer un rm -rf se siente mal en este caso.

find . -type f -name "._*" -exec rm "{}" \;

Editar: no quiero eliminar los archivos ni excluirlos de la copia. Quiero que no se creen en primer lugar.

Editar: prefiero una solución OS X "nativa" en lugar de aplicaciones de terceros.

Editar: Esta pregunta tiene dos respuestas, una para los archivos ._ y otra para los archivos .DS_Store. La recompensa es recompensada por dot_clean , esta aplicación de línea de comando nativa limpia todos los archivos ._. Desafortunadamente, no borra los archivos .DS_Store, esto puede hacerse de manera efectiva con Asepsis. Asepsis almacena .DS_Stores en una ubicación fija, y no en la carpeta en sí.

    
pregunta CousinCocaine 26.06.2014 - 18:02

8 respuestas

28

Admito que no había notado que el comando defaults write dejó de funcionar en Mavericks. Sin embargo, cuando HAGO limpios los montajes de red, en lugar de su liner find y rm , uso esto:

dot_clean .

El archivo man explica:

dot_clean -- Merge ._* files with corresponding native files.

No uso la marca -m, pero puede que te resulte útil en tu situación.

-m      Always delete dot underbar files.

Aquí hay otra persona que intenta activamente detener la creación de archivos .DS_Store: enlace - parece que no los quiere tanto en las unidades como ¡Él no los quiere en la red!

    
respondido por el evilblender 02.07.2014 - 19:48
11

Solo lo intenté, y esto funciona en Mavericks (al menos para deshabilitar .DS_Store no para compartir la red):

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Solo debes recordar reiniciar el Finder también:

killall Finder
    
respondido por el dmuir 14.11.2014 - 02:55
4

Los archivos ._ son archivos AppleDouble que se utilizan para almacenar metadatos como atributos extendidos, ACL, marcas de archivos y forks de recursos.

Para eliminarlos, ejecuta:

find . -name ._\* -delete

Puede ver si los archivos tienen atributos extendidos, ACL o marcas de archivos con ls -l@eO . Los archivos ._ generalmente se crean porque los archivos tienen atributos extendidos. Puede usar xattr -c para eliminar los atributos extendidos o chmod -N para eliminar las ACL. cp -X y rsync copian archivos sin atributos extendidos, ACL, marcas de archivos o fuentes de recursos.

    
respondido por el user495470 29.06.2014 - 13:43
2

No lo he intentado yo mismo, y me doy cuenta de que el OP prefiere las soluciones nativas, pero no obstante:

Hay una aplicación llamada Asepsis que funciona al redirigir la creación de esos archivos a una carpeta especial, es decir, evitar que aparezcan.

    
respondido por el Frost 30.06.2014 - 13:07
2

Como tendría que deshabilitar la escritura de archivos ocultos en cada Mac que pudiera conectarse a su recurso compartido, una mejor opción sería detener esto en el recurso compartido y no en los clientes.

Todo lo que necesita hacer es editar su configuración compartida (por ejemplo, en Linux en /etc/samba/smb.conf) y agregar la siguiente opción en su configuración compartida:

veto files = /._*/.DS_Store/ 

Ahora, ningún cliente de Mac puede guardar ningún archivo con esos patrones en su recurso compartido.

    
respondido por el cloudranger 26.04.2015 - 09:04
0

Por lo que sé, no puede evitar que se creen estos archivos. Al menos el Finder los creará.

La eliminación de estos archivos tampoco ayudará, porque la próxima vez que accedas al volumen y sus carpetas en Mac, el Finder los creará de nuevo.

Me sorprende que sus colegas de Windows vean estos archivos. Llevo muchos años trabajando con mi Mac usando Mac y Windows, y nunca veo estos archivos. Ni en Mac ni en Windows.

Estos archivos están marcados como "ocultos" de manera predeterminada, y no aparecerán si Windows está configurado para ocultar archivos y carpetas ocultos.

    
respondido por el Martin 30.06.2014 - 11:59
0

No es una solución nativa, ni en realidad evita que se escriban estos archivos, pero los persigue activamente & eliminar tan pronto como estén escritas ...

BlueHarvest

  

BlueHarvest elimina automáticamente los archivos .DS_Store y ._ AppleDouble de sus llaves USB, tarjetas SD, reproductores de música, servidores de archivos o cualquier disco que no sea Mac. BlueHarvest elimina estos elementos a medida que se crean o modifican, por lo que siempre estará libre de metadatos sin que tenga que mover un dedo.

Sin afiliación, lo he estado utilizando con bastante éxito durante varios años.

    
respondido por el Tetsujin 27.12.2015 - 10:55
-1

Encontré una forma muy fácil y gratuita de deshacerte de los archivos ._, especialmente desde un HD externo con fat32.

Inicie OnyX (software gratuito). En Utilidades, vaya a AppleDouble, seleccione ... la carpeta. Eso es todo!

    
respondido por el Mariano Rocchi 27.12.2015 - 07:50

Lea otras preguntas en las etiquetas