DS_Store: Was sind das für Dateien auf dem Mac?
Der Finder merkt sich, welche Einstellungen Nutzer für Ordner getroffen haben – beispielsweise die Icon-Positionen und ob ein Ordner in Listendarstellung oder im Icon-Modus geöffnet werden soll. Um diese Informationen zu speichern, verwendet Apple versteckte Dateien, welche der Finder nicht anzeigt. Doch wenn man das Terminal öffnet, sieht man in fast allen Ordnern so genannte ".DS_Store"-Dateien. Der Punkt signalisiert, dass es sich hierbei um versteckte Dateien handelt.
".DS_Store" steht für "Desktop Services Stores" – und wie schon oben erwähnt nutzt Apple diese Dateien, um Informationen über den Inhalt von Ordnern zu speichern. Neben den Darstellungsoptionen sichert Apple hier auch Kommentare zu einzelnen Dateien, welche über das Informations-Fenster im Finder verfasst wurden.
Keine Anzeige im Finder möglichDer Finder bietet in den Einstellungen die Möglichkeit, auch versteckte Dateien einzublenden, welche mit einem Punkt beginnen. Doch lässt der Finder hier ".DS-Store"-Dateien außen vor und blendet nur andere, versteckte Dateien ein. Kurzer Tipp: Wenn man schnell "Hidden Files" im Finder einblenden will, genügt die Tastenkombination
+
+Punkt, um die Option ein- und auszuschalten.
Probleme bei Versionsverwaltung und Terminal-ScriptenDoch obwohl der Finder die Dateien nicht anzeigt, handelt es sich dennoch um normale Dateien, welche von Versionskontrollsystemen wie beispielswiese GIT oder Terminal-Skripten verarbeitet werden. Dadurch entstehen schnell Probleme: Landen diese ".DS_Store"-Dateien in GIT-Archiven, kommt es schnell zu Konflikten: Hat ein Nutzer die Finder-Darstellung geändert, behandelt die Versionsverwaltung GIT diese wie eine normale Änderung – und es entsteht im GIT-Archiv ein Konflikt wegen gleichzeitiger Änderungen. Glücklicherweise lässt sich GIT über eine Ignore-Liste abgewöhnen, diese Dateien überhaupt zu erfassen. Doch sonstige Terminal-Skripte, welche mit der Existenz solcher Dateien nicht rechnen, können schnell Probleme mit den versteckten Dateien bekommen.
".DS_Store"-Dateien entfernenWill man ".DS_Store"-Dateien aus einem bestimmten Ordner rekursiv (also samt Unterordner) entfernen, reicht ein einfacher Terminal-Befehl, welchen man im Zielordner ausführt:
find . -name ".DS_Store" -delete
Doch leider erzeugt der Finder und Spotlight diese Dateien erneut, sobald der Nutzer den entsprechenden Ordner erneut im Finder öffnet. Aktuell bietet Apple keine Möglichkeit, das Erstellen von ".DS_Store"-Dateien komplett zu deaktivieren.
Auf Netzwerk-Volumes abschaltenWenn man oftmals mit Netzwerkfreigaben in heterogenen Netzwerken arbeitet, werden auch hier ".DS_Store"-Dateien zum Problem: Windows-Nutzer sehen diese versteckten Dateien, welche der Finder angelegt hat. Doch zumindest für diesen Problemfall hat Apple eine Lösung parat. Mit diesem Kommando im Terminal lässt sich abschalten, dass der Finder ".DS_Store"-Dateien auf Netzwerk-Volumes überhaupt anlegt oder ausliest:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
Nach der Eingabe ist entweder ein Neustart des Macs erforderlich – oder ein Ab- und erneutes Anmelden. Diese Einstellung bezieht sich nur auf den aktuell angemeldeten Benutzer. Wenn man mehrere Nutzer auf dem Mac verwendet, ist das Ausführen des obigen Kommandos für alle Nutzer notwendig.
In Zukunft als APFS-Metadaten?Die Tage der ".DS_Store"-Dateien dürften aber gezählt sein: Es ist zu erwarten, dass Apple in einem kommenden größeren macOS-Update nicht mehr versteckte Dateien für das Sichern dieser Informationen verwendet, sondern die Nutzereinstellungen als erweiterte Ordner- und Dateiattribute in APFS ablegt. Natürlich ist noch nicht bekannt, wann Apple eine solche Änderung plant – doch könnte Apple hier Pro-Nutzern mühevolle Arbeit ersparen.