Désactiver le stockage des fichiers invisibles «._» sur mon stockage réseau cfs ou smb

34

J'utilise OS X Mavericks et j'ai des disques de stockage d'entreprise montés (en utilisant smb ou cfs). (smb: //[email protected]/directory/data). Lorsque je travaille avec des fichiers sur le lecteur ou que je copie des fichiers sur le lecteur, certains fichiers masqués sont créés. La plupart de ces fichiers commencent par un tiret ._et ensuite le nom du fichier d'origine, comme:

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

Et la plupart du temps, les célèbres ._.DS_Storeet .DS_Storesont également là.

Sur mon Mac, ces .points sont invisibles, mais mes collègues Windows voient ces fichiers. Comment puis-je empêcher OS X de créer ces étranges fichiers invisibles?

Sur support.apple.com (et d'autres sources Internet), vous pouvez trouver une «écriture par défaut» pour désactiver la création de fichiers .DS_Store sur vos lecteurs réseau. Mais cela ne fonctionne pas dans Mavericks:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Pour l'instant, j'utilise cet oneliner, mais faire un rm -rfne me semble pas correct dans ce cas.

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

Modifier: je ne veux pas supprimer les fichiers ni les exclure de la copie. Je veux qu'ils ne soient pas créés en premier lieu.

Edit: je préfère une solution OS X «native» aux applications tierces.

Modifier: Cette question a deux réponses, une pour les fichiers ._ et une pour les fichiers .DS_Store. La prime est récompensée dot_clean, cette application de ligne de commande native nettoie tous les fichiers ._. Malheureusement, il n'efface pas les fichiers .DS_Store, cela peut être fait efficacement avec Asepsis. Asepsis stocke .DS_Stores dans un emplacement fixe, et non dans le dossier lui-même.

CousinCocaine
la source
Je ne sais pas si ces suggestions résoudront votre problème, alors laissez-les dans un commentaire. 1. Essayez TinkerTool bresink.com/osx/TinkerTool.html et utilisez Finder> "Ne pas créer de fichiers .DS_Store cachés via une connexion réseau". 2. Essayez le volet des préférences système Secrets secrets.blacktree.com et décochez Finder> Utiliser .DS_Stores sur un réseau.
@gentlemanhog, je vais essayer vos suggestions. Mais je préfère une solution OS X «native» aux applications tierces.
CousinCocaine
@gentlemanhog, malheureusement vos solutions ne fonctionnent pas dans Mavericks.
CousinCocaine

Réponses:

31

J'avoue que je n'avais pas remarqué que la defaults writecommande avait cessé de fonctionner dans Mavericks. Cependant, quand je ne monte réseau propre, au lieu de votre une doublure findet rm, j'utilise ceci:

dot_clean .

Le fichier manf explique:

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

Je n'utilise pas l'indicateur -m, mais vous pouvez le trouver utile dans votre situation.

-m      Always delete dot underbar files.

Voici une autre personne essayant activement d'empêcher la création de fichiers .DS_Store: http://www.aorensoftware.com/blog/2011/12/24/death-to-ds_store/ - on dirait qu'il ne les veut pas sur les lecteurs autant qu'il n'en veut pas sur le réseau!

evilblender
la source
C'est le bon outil pour le travail. Malheureusement, cette solution est un montage «post» et doit être exécutée après le montage. L'asepsie fait un meilleur travail ( apple.stackexchange.com/a/136558/55028 ) mais est une application tierce et ne fonctionne que sur les fichiers .DS_Store, et ne fonctionne que pour tous les fichiers .DS_Store sur chaque montage.
CousinCocaine
12

Je viens d'essayer, et cela fonctionne dans Mavericks (au moins pour désactiver les partages réseau .DS_Store):

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Vous devez également vous rappeler de redémarrer le Finder également:

killall Finder
dmuir
la source
1
Cela ne fonctionne pas sur El Capitan, pour un lecteur Samba. .DS_Storedes fichiers sont encore en cours de création
Sébastien
Ce .DS_Storene sont pas des fichiers AppleDouble, ce sont juste des fichiers invisibles «normaux» créés par le Finder. Donc, votre vision de ces fichiers .DS_Store n'est pas une indication si cela DSDontWriteNetworkStoresfonctionne ou non.
Thomas Tempelmann
4

Les ._fichiers sont des fichiers AppleDouble utilisés pour stocker des métadonnées telles que des attributs étendus, des listes de contrôle d'accès, des indicateurs de fichier et des fourchettes de ressources.

Pour les supprimer, exécutez:

find . -name ._\* -delete

Vous pouvez voir si les fichiers ont des attributs étendus, des ACL ou des indicateurs de fichier avec ls -l@eO. Les ._fichiers sont généralement créés car les fichiers ont des attributs étendus. Vous pouvez utiliser xattr -cpour supprimer des attributs étendus ou chmod -Npour supprimer des ACL. cp -Xet rsynccopier des fichiers sans attributs étendus, ACL, indicateurs de fichier ou fourchettes de ressources.

Lri
la source
Je ne veux pas supprimer les fichiers ni les exclure de la copie. Je veux qu'ils ne soient pas créés en premier lieu.
CousinCocaine
2
Si vous utilisez le Finder, vous ne pouvez pas empêcher leur création.
Fyrefly
@Fyrefly, mais vous pouvez les créer ailleurs. Voir Asepsis , apple.stackexchange.com/a/136558/55028 . Une solution «native» pourrait donc aussi être possible
CousinCocaine
3

Comme vous devrez désactiver l'écriture de fichiers cachés sur chaque Mac qui pourrait se connecter à votre partage, une meilleure option serait d'arrêter cela sur le partage et non sur les clients.

Il vous suffit de modifier votre configuration de partage (par exemple sous Linux dans /etc/samba/smb.conf) et d'ajouter l'option suivante dans votre configuration de partage:

veto files = /._*/.DS_Store/ 

Désormais, aucun client Mac ne peut enregistrer de fichiers avec ces modèles sur votre partage.

cloudranger
la source
1
'veto files' n'empêche pas l'écriture de fichiers, il empêche les utilisateurs de voir les fichiers. Veuillez vous référer à samba.org
Justin Catterall
1
samba a cependant l'option "supprimer les fichiers veto = oui", qui les supprime également.
rwenz3l
1
Malheureusement, delete veto files = yesne supprime pas ces fichiers de points, il garantit simplement que vous pouvez supprimer un dossier qui contient des fichiers qui ont été cachés à la vue par l' veto filesoption, donc il n'accomplit pas ce que l'OP recherchait (et ce que je recherche également en vain pour).
xmnboy
2

Je n'ai pas essayé moi-même, et je me rends compte que l'OP préfère les solutions natives, mais néanmoins:

Il existe une application appelée Asepsis qui fonctionne en redirigeant la création de ces fichiers dans un dossier spécial, c'est-à-dire d'une manière qui les empêche d'apparaître.

Gel
la source
C'est un bon outil pour le travail. Malheureusement, cette solution est une application tierce et ne fonctionne que sur les fichiers .DS_Store (pas les fichiers ._), et ne fonctionne que pour tous les fichiers .DS_Store sur chaque montage. C'est une bonne solution, mais des fichiers non natifs et non ._ et donc pas de prime. sry.
CousinCocaine
1

Ce n'est pas une solution native, et cela n'empêche pas réellement d' écrire ces fichiers, mais il les poursuit activement et les supprime dès qu'ils sont écrits…

BlueHarvest

BlueHarvest supprime automatiquement les fichiers .DS_Store et ._ AppleDouble de vos clés USB, cartes SD, lecteurs de musique, serveurs de fichiers ou tout autre disque non Mac. BlueHarvest supprime ces éléments au fur et à mesure qu'ils sont créés ou modifiés afin que vous soyez toujours libre des métadonnées sans avoir à lever le petit doigt.

Aucune affiliation, je l'utilise avec succès depuis plusieurs années.

Tetsujin
la source
0

Autant que je sache, vous ne pouvez pas empêcher que ces fichiers soient créés. Au moins, le Finder les créera.

La suppression de ces fichiers n'aidera pas trop - car la prochaine fois que vous accéderez au volume et à ses dossiers sur Mac, le Finder les créera à nouveau.

Je suis étonné que vos collègues Windows voient ces fichiers. Je travaille depuis de nombreuses années maintenant avec mon Mac sous Mac et Windows - et je ne vois jamais ces fichiers. Ni sur Mac ni sur Windows.

Ces fichiers sont marqués comme "masqués" par défaut et n'apparaîtront pas si Windows est configuré pour masquer les fichiers et dossiers cachés.

Martin
la source
J'ai vérifié, et ils ont désactivé "masquer les fichiers cachés". Mais cela ne les empêche pas d'être créés. Je pense qu'il existe un moyen de résoudre ce problème, comme il y avait dans OS 10.5 par défaut, écrivez com.apple.desktopservices DSDontWriteNetworkStores -bool true
CousinCocaine
S'ils ont désactivé (décoché) «masquer les fichiers cachés», alors c'est juste l'inverse: activez-le. :-) Et comme je l'ai dit: pour autant que je sache, il n'y a pas de solution "native OS X solution". Et: vous avez lié à une réponse de "support.apple.com" qui dit: "La désactivation de la création de fichiers .DS_Store sur des serveurs de fichiers distants peut provoquer un comportement inattendu dans le Finder". Et: je ne proposerais pas d'installer des applications qui promet de l'empêcher. Pour autant que je sache, cela peut être très dangereux.
Martin
2
"cela peut être très dangereux" :) Maintenant, je veux vraiment que ces fichiers disparaissent! Sérieusement, les fichiers .DS_Store stockent les propriétés du Finder et les fichiers DS_Store corrompus peuvent faire des choses étranges. Je ne veux pas de fichiers DS_Store corrompus, je ne veux PAS de fichiers DS_Store. Je n'ai pas peur de les retirer. Et revenons à ma question initiale: comment puis-je empêcher OS X de créer ces étranges fichiers invisibles? Et avec cela, je veux dire tous les fichiers ._ et .DS_Store. Rien d'autre.
CousinCocaine
Il serait utile pour moi (et peut-être pour vous) de confirmer que les personnes activées (et non désactivées) "masquent les fichiers cachés". Et je peux comprendre que vous ne vouliez pas que ces fichiers soient créés et que vous vouliez une solution native, mais s'il n'y a pas de solution native alors cela n'aide pas de dire "mais je le veux".
Martin
-1

J'ai trouvé un moyen très facile et gratuit de se débarrasser des fichiers go ._, en particulier à partir d'un fat32 HD externe.

Lancez OnyX (logiciel gratuit). Dans Utilitaires, accédez à AppleDouble, sélectionnez ... le dossier. C'est ça!!!

Mariano Rocchi
la source
1
L'OP déclare tout à fait spécifiquement qu'il ne veut pas d'un outil de nettoyage, mais qui empêche les fichiers d'être écrits du tout.
Tetsujin