Funktioniert das Festlegen eines Cron-Jobs zum Löschen von ._-Shadow-Dateien auf einer Linux-Freigabe?

Ich habe kürzlich ein Verzeichnis tariert, um es an ein entferntes Linux-System zu senden. Als ich es entpackte, wurden ._-Dateien in das Zielverzeichnis geworfen.

Ich habe eine Suche durchgeführt und Artikel von Leuten gefunden, die 2003 wütend darüber waren.

macosx-Forum zu ._-Dateien

Welchen Zweck erfüllt dies unter Mac OS X und kann ich ihm sagen, dass diese Dateien nicht erstellt werden sollen?

Der Grund, warum ich frage, ist, dass ich Netzwerkfreigaben verwalte, auf denen diese Dateien landen, und dazu neige, einen Cron-Job einzurichten, um sie regelmäßig zu löschen. Nach meinem Verständnis wird diese Löschung hilfreich sein, da die Dateien aus Benutzer-a resultieren, die eine Einstellung in einer Ressourcendatei festlegen, dann wird Benutzer-b einer benutzerübergreifenden Kontamination der Einstellungen ausgesetzt.

Laut dem Forum-Link wird MacOS ausflippen, wenn ich ihre Erstellung blockiere, aber diese Informationen sind ziemlich veraltet. Kann mir jemand eine aktuelle Zusammenfassung dieser Dateien zeigen? Wird das Löschen der Dateien negative Folgen haben, wenn Dateien zu OS X zurückkehren?

Ich konnte nicht nach "._" suchen :-( Wie sich dies auf Dateifreigaben auswirkt, ist ein wichtiger Unterschied in dieser Frage.
Die neuere Revision 3 dieser Frage steht in engem Zusammenhang mit Dot-Dateien und anderen Metadaten auf Nicht-Mac-Netzwerkfreigaben (verknüpft mit der ersten Frage von @Lri).
Bitte, welches Linux? Angenommen Netatalk, welche Version?

Antworten (2)

Vor Mac OS X verwendete das Mac OS „verzweigte“ Dateien, die aus zwei Komponenten bestehen: einem Datenzweig und einem Ressourcenzweig. Die Festplattenformate Mac OS Standard (HFS) und Mac OS Extended (HFS Plus) unterstützen Fork-Dateien. Wenn Sie diese Dateitypen auf andere Datenträgerformate verschieben, kann der Ressourcenzweig verloren gehen.

Bei Mac OS X gibt es einen Mechanismus namens „AppleDouble“, der es dem System ermöglicht, mit Dateisystemen zu arbeiten, die keine Fork-Dateifunktion haben, wie z. B. entfernte NFS-, SMB-, WebDAV-Verzeichnisse oder lokale UFS-Volumes. AppleDouble konvertiert die Datei dazu in zwei separate Dateien. Die erste neue Datei behält den ursprünglichen Namen und enthält den Datenzweig der ursprünglichen Datei. Die zweite neue Datei hat den Namen der Originaldatei mit dem Präfix „._ “ und enthält den Resource Fork der Originaldatei. Wenn Sie beide Dateien sehen, kann die ._-Datei getrost ignoriert werden. Manchmal wird beim Löschen einer Datei die ._-Komponente nicht gelöscht. In diesem Fall können Sie die ._-Datei sicher löschen.

Wenn Sie an Dateien arbeiten, die sich auf einer Netzwerkfreigabe befinden, erhalten Sie im Wesentlichen Duplikate der Datei mit einem „._“-Präfix.

Sie können den folgenden Befehl ausführen, um die Dateien zu bereinigen.

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

Sie könnten dies auch zu einer launchctl- oder cron-Aufgabe machen.

._enthält selten Resource-Fork-Informationen. Dies ist ansonsten eine gute Antwort – eine Datei kann sicher ignoriert (nicht unbedingt sicher gelöscht) ._werden, wenn sie eine Begleitdatei zu einer anderen Datei ist; sicher, eine ._Datei zu löschen, wenn es sich um eine verwaiste Datei handelt.

… kann ich ihm sagen, dass er diese Dateien nicht erstellen soll?

Der vorgeschlagene Cron-Job

Da Ihr Dateiserver mehreren Benutzern dient, lautet die kurze Antwort:

  • Sie sollten das Entfernen von Dateien zulassen und nicht planen. ._

Für einen Dateidienst, der Dinge wie erweiterte Attribute nicht unterstützt:

Dateidienst

Wenn Sie den Server so konfigurieren, dass die Erstellung von ._Dateien verhindert wird:

  • Der Server ist mit Finder und anderen Apps, die häufig unter OS X verwendet werden, nicht kompatibel.

Wenn Sie das Erstellen zulassen, aber das Entfernen planen :

  • Beschädigung oder Datenverlust können sich auf die native Datei auswirken.

Visualisieren: geplantes Löschen einer Dot-Underbar-Datei, während diese Datei in Bezug auf eine laufende Kopie oder eine laufende Speicherung vorhanden ist. Stellen Sie sich einen Teppich vor, der einer Operation unter den Füßen weggezogen wird. Es ist schwierig für mich, genau zu sagen , welche Beschädigungen oder Verluste auftreten können (die Auswirkungen können je nach Zeitpunkt des Teppichziehens variieren), aber ich habe oft genug negative Auswirkungen gesehen, um vor dem geplanten Entfernen von Dot-Underbar-Dateien zu warnen.

Literatur-Empfehlungen

Betreff : Dot-Dateien – ein Beitrag von Matt Deatherage aus dem Jahr 2006 , ehemals Ingenieur bei Apple. Dies wird dringend empfohlen, der Einfachheit halber habe ich Anmerkungen gemacht .

Etwas undurchsichtiger, eine Tabelle, die mit der folgenden Frage verknüpft ist: Wie können Benutzer von OS X mit WebDAV, das von Microsoft SharePoint bereitgestellt wird, das Risiko von Beschädigungen und Überschreibungen durch mehrere Benutzer minimieren? – „… einige Teile … können verallgemeinert werden …“. In dieser Tabelle sind einige der Problemumgehungen aufgeführt, auf die Benutzer zurückgreifen könnten, wenn sie mit einem Dienst konfrontiert werden, der Dateien mit Punktunterstrichen verhindert. Ohne ins Detail zu gehen (es ließe sich nur vieles in die Tabelle quetschen): Testergebnisse haben sehr nachdenklich gemacht.

Clients des Dateidienstes

Für alltägliche Aufgaben wie Kopieren oder Verschieben ._wird Finder benötigt. Diese Anforderung ist nicht konfigurierbar.

Für alltägliche Aufgaben wie Speichern ._wird von Microsoft Office Excel, PowerPoint und Word 2011 (Service Pack 2) benötigt. Diese Anforderung ist nicht konfigurierbar.

Usw …

Client-Betriebssystem

Die Verwendung eines Client-Computers, auf dem etwas anderes als OS X ausgeführt wird , kann dazu führen, dass eine AppleDouble-Datei von ihrer entsprechenden nativen Datei getrennt wird. In einigen Anwendungsfällen kann die Dissoziation als Korruption angesehen werden.

Wahrgenommene Auswirkungen von Korruption und Dissoziation

Aus Testergebnissen in einer Vielzahl von Umgebungen sollte ich sagen:

  • Wenn eine native Datei beschädigt wird oder verloren geht, sind die Auswirkungen immer schwerwiegend
  • Wenn eine Dissoziation auftritt, ist der Effekt normalerweise harmlos (ohne Attribute bleibt die native Datei verwendbar).

dot_clean

dot_clean(1) OS X Handbuchseite

Bei Verwendung mit Dateisystemen wie HFS Plus und ZFS:

  • dot_cleanverhält sich wie erwartet
  • Fusionen gelingen ohne Verluste.

Achten Sie darauf, diesen Befehl nicht auf Dateisystemen auszuführen, die Informationen, die möglicherweise in AppleDouble-Dateien gespeichert sind, nicht unterstützen . Beispiel:

  • Wenn der Befehl ._Dateien von einem DOS_FAT_32Volume löscht, gehen Informationen verloren (werden nicht zusammengeführt).
  • Ich werde Apple den Fehler melden.
Wenn die ._*-Dateien jedoch Daten enthalten, kann die gemeinsame Nutzung von Dateien mit Nicht-MacOS-Benutzern zu Beschädigungen oder Datenverlust führen.
Ein guter Punkt … im Laufe der Jahre waren einige diesbezügliche Debatten heikel. In der neuesten Ausgabe dieser Antwort ermutige ich die Leser, größten Wert auf die Integrität der nativen Datei zu legen.