Dot-Dateien und andere Metadaten auf Nicht-Mac-Netzwerkfreigaben

Gibt es eine Möglichkeit, den Finder anzuweisen, die ._*-Dateien und andere Metadatendateien, die er normalerweise zu verwenden versucht, wenn er sich auf einer Netzwerkfreigabe befindet, nicht zu verwenden (oder sich darüber Sorgen zu machen)?

Wenn ich derzeit im Finder bin und versuche, eine Datei auf eine Netzwerkfreigabe zu kopieren, führt dies zu einem Fehler:

Der Finder kann den Vorgang nicht abschließen, da einige Daten in „Dateiname“ nicht gelesen oder geschrieben werden können. (Fehlercode -36)

Aber ich kann die Datei von der Terminal-Befehlszeile auf die Netzwerkfreigabe kopieren und sie danach problemlos vom Finder aus verwenden. Es scheint, dass die Metadaten auf der Netzwerkfreigabe nicht wirklich benötigt werden. Gibt es eine Möglichkeit, dem Finder das mitzuteilen?

Als Referenz verwende ich Snow Leopard und die Freigabe ist eine Samba-Freigabe auf einem Linux-Server.

Antworten (4)

Ist die Datei, die Sie zu kopieren versuchen, mit einem Ressourcenzweig?

Wenn Sie mit Dateiproblemen zu tun .DS_Storehaben, führen Sie den folgenden Befehl im Terminal aus:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Wenn Sie Probleme mit Ressourcenverzweigungen auf Snow Leopard haben, müssen Sie möglicherweise Ihre Einstellungen für die Streams-Einstellung smb.confauf dem Linux-Computer oder nsmb.confauf Ihrem lokalen Mac ändern. ( ._FILENAMEDateien sind die Ressourcenzweige der Datei). Weitere Informationen hierzu finden Sie unter Super User .

@Josh K: Es hat mich nicht einmal benachrichtigt, dass Sie geantwortet haben.
Hat den Trick nicht gemacht. Ich hatte auch große Hoffnungen auf diesen Super User-Vorschlag, aber es hat auch nicht funktioniert :( Es sind definitiv die Ressourcengabeln, und ich habe versucht, diese lokale nsmb.conf-Datei zu erstellen (sogar neu gestartet, nur um sicherzugehen), aber der Fehler Es erstellt weiterhin die ._-Datei auf dem Server und gibt denselben Fehler aus, wobei eine Datendatei mit null Bytes zurückbleibt.
@David: Gibt es eine Möglichkeit zu wissen, ob es mit Leopard funktioniert? Sie können auch versuchen, veto_files auf dem Server zu verwenden, was manchmal die Heilung und manchmal die Ursache von Problemen mit dem Finder ist. ( serverfault.com/questions/15044/… )
Keine Ahnung auf 10.5, sorry. Ich habe Veto-Dateien ausprobiert, Sachen hier ausprobiert: support.apple.com/kb/HT4017 Noch keine Würfel. Es gibt mehrere Ursachen für diesen allgemeinen Finder-E/A-Fehler, aber bisher habe ich keine Lösung für meinen gefunden.
defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Werde die DS-Dateien los. Alles andere müssen Sie möglicherweise von Hand erledigen.

Angepasst von https://apple.stackexchange.com/a/57832/8546


Finder

Finder tut viel, um die Integrität der Daten zu gewährleisten und seine Ergebnisse mit einer breiten Palette von Apple-Betriebssystemen kompatibel zu machen. Für einige Arten von Kopier-/Verschieberoutinen sind ._(Punkt-Unterstrich)-Dateien erforderlich .

Dateisystem

Wenn die Erstellung von ._Dateien auf Dateisystemebene verhindert wird, ist dieses Dateisystem zumindest teilweise inkompatibel mit:

  • Apple-Finder
  • Microsoft Office Excel, PowerPoint und Word 2011.

(Für jeden Anwendungsfall, bei dem Office 2011 in einem Dateisystem gespeichert wird, müssen Sie ._dieses Dateisystem zulassen … und so weiter.)

Fehlercode -36

-36 (ioErr) (E/A-Fehler) ist ein Dateisystemfehler, der anzeigt, dass Daten vom Betriebssystem nicht gesendet oder empfangen werden können. Historisch gesehen waren Fehler dieser Art eine Enttäuschung .

Ohne die Details Ihrer Samba-Konfiguration zu kennen:

  • Ich vermute, dass in Ihrem Fall der Fehler -36 das Ergebnis einer Dateisystembeschränkung ist.

Weitere Einzelheiten finden Sie in meiner Antwort auf eine ältere Frage: Warum werden Punktunterstriche ._-Dateien erstellt und wie kann ich sie vermeiden? :

Das funktioniert bei mir nicht mehr. Also habe ich ._* zu den Veto -Dateien hinzugefügt. Ich denke, es funktioniert, aber ich weiß nicht, ob es andere Komplikationen gibt?

vi /etc/samba/smb.conf

[global] veto files = /._*/.AppleDB/.AppleDouble/.AppleDesktop/:2eDS_Store/Network Trash Folder/Temporary Items/TheVolumeSettingsFolder/.@_ thumb/.@ _desc/:2e*/

(esc-shift-ZZ) Dienst smb neu starten Dienst nmb neu starten

Sie können dies auch im cron<br>find ausführen. -type f -name "._*" -exec rm -rvf {} +;