Ausgegrauter Ordner im Finder (OSX) auf der Netzwerk-SMB-Freigabe

Ausgegrauter Ordner im Finder (OSX) auf der Netzwerk-SMB-Freigabe

Haben Sie Geduld mit mir, das ist lang und kompliziert, aber TL;DR: Wo versteckt OSX zusätzliche Attribute in Dateien (entweder auf freigegebenen oder lokalen Dateien)?

Wir haben Probleme in unserer Enterprise-Umgebung. Wir haben ein Oracle ZFS-Setup und unsere OSX-Rechner mounten das Volume per SMB.

Ein Benutzer hat versucht, einen Ordner zwischen Speicherorten zu verschieben und hat dies auf halbem Weg abgebrochen. Dies führte dazu, dass die Ordner an beiden Speicherorten ausgegraut wurden. Im Finder wird für den Ordner ein Erstellungs- und Änderungsdatum vom 13.06.1943 06:13:00 angezeigt. Wenn wir auf unseren Linux-Workstations die Datei starten, werden die korrekten Erstellungs- und Änderungsdaten angezeigt. Wir berühren die Datei dann von der Linux- oder OSX-Workstation aus und können den Ordner über das Terminal sehen und sogar den Befehl „Öffnen“ auf den Ordner anwenden. Im Finder bleibt er jedoch ausgegraut und kann nicht geöffnet werden. Dies betraf alle OSX-Workstations, die auf diese Datei zugegriffen haben. Keine davon konnte sie sehen, aber unter Windows und Linux funktionierte alles einwandfrei.

Um dieses Problem zu beheben, haben wir letztendlich die veralteten Befehle „GetFileInfo“ und „SetFile“ verwendet.

Meine Frage an die Community lautet: Wo werden diese Attribute gespeichert? Sie waren in der Datei mit ls -la oder stat nicht sichtbar. Aber sie waren da, als wir sie mit GetFileInfo angesehen haben. Weiß jemand, ob OSX ein komisches Samba-Caching durchführt und es auf dem Server speichert? Oder ob es das in eine blöde .DS_Store-Datei schreibt?

HILFE!!! BITTE

Antwort1

OS X bietet mehrere Möglichkeiten, seine zusätzlichen Metadaten auf Datenträgern zu speichern, die diese nicht nativ unterstützen:

  • Auf Dingen wie FAT-Volumes werden die Metadaten als separate Datei mit einem "._"-Präfix im Dateinamen gespeichert, wobeiApfelDoubleFormat. Wenn die Originaldatei beispielsweise „somefile.txt“ hieße und Sie sie auf ein FAT32-Volume kopiert hätten, würden die Daten in „somefile.txt“ kopiert und die Metadaten würden als „._somefile.txt“ gespeichert.

  • Auf einem NTFS-Volume, das über SMB gemountet ist (unter bestimmten Bedingungen, die ich nicht ganz verstehe), werden die Metadaten wie folgt gespeichert:Alternative NTFS-Datenströme.

Ich bin nicht sicher, ob die SMB-Implementierung Ihres Oracle-Servers alternative Datenströme unterstützt, aber ich vermute, dass dies der Fall ist und der Mac sie verwendet, um zusätzliche Metadaten zu speichern (und der Server speichert sie wahrscheinlich als erweiterte ZFS-Attribute). Sie könnten direkt auf dem Server danach suchen oder versuchen, das Volume von einem Windows-Client aus zu mounten und zu sehen, obHerunterladenkann sie sehen.

Antwort2

Ich habe den 24. Januar 1984, 3:00 Uhr erhalten, das ist das Easter Egg (der Tag, an dem der erste Mac verkauft wurde): während der Übertragung ein Zeitstempel, bis die Übertragung abgeschlossen ist (wo es einen Fehler gab, der das Datum nicht automatisch korrigierte, als die Kopie fertig war)

vorausgesetzt, dass sich die ausgegrauten Ordner auf der obersten Ebene innerhalb eines bestimmten Ordners befinden (andernfalls fügen Sie dem gci-Befehl „-recurse“ hinzu und entfernen Sie „-maxdepth 1“ aus dem Suchbefehl):

kein ADS (auf einer WinOS-Maschine Powershell):

    gci -path 'd:\specificfolder' | % {$_.fullname} | gi -stream *

nicht AppleDouble (mit dem korrekten spezifischen Ordner verbinden, dann mit dem fehlerhaften spezifischen Ordner (d. h. an den fehlerhaften Ordner wird „-1“ angehängt), dann im Terminal):

    rm /Volumes/specificfolder-1/._*  && rm /Volumes/specificfolder-1/.DS_Store

Windows kommt mit den fehlerhaften Ordnern gut zurecht (und erkennt die Daten korrekt). Und Sie haben Recht, wenn Sie sagen, dass Macs unter der Haube unter Unix (oder Linux) mit dem ls -laBefehl das richtige Datum erkennen und alle MacOS das ausgegraute Syndrom sehen. Das Problem ist also nicht spezifisch für die Maschine, die Sie zum Kopieren verwendet haben (und beim Kopieren der Datei in Windows wird eine ausgegraute Kopie erstellt, sodass WinOS mit Sicherheit weiß, wie diese versteckten Informationen übertragen werden!).

Ich kann also nur helfen, das Problem zu lokalisieren, und stimme Ihrer Lösung zu (beachten Sie jedoch, dass die Tastenkombination „Rechtsklick“ und „Informationen“ bzw. „Auswählen“ und „Befehl+i“ in High Sierra, dem aktuellen Betriebssystem zum Zeitpunkt des Schreibens dieses Artikels, nicht verschwunden ist). Wenn jedoch eine Reihe von Ordnern ausgegraut sind, sollten Sie dies besser automatisieren. Um etwas hinzuzufügen, können Sie die folgenden beiden Befehle ausführen:

    find /Volumes/specificfolder/ -maxdepth 1 -type d -exec getfileinfo {} \; \
    | egrep "directory|created" | sed -e 's/directory: "\(.*\)"/\1/' \ 
    | sed -e 's/created: \(.*\)/\1/' \
    | sed -e 's#/Volumes/specificfolder#/Volumes/specificfolder-1#' > temp.txt


    while read oddline; do read evenline; setfile -d "$evenline" "$oddline"; \
    done < temp.txt

verwandte Informationen