Wie kann ich verhindern, dass Mac OS X .DS_Store-Dateien auf Nicht-Mac-Volumes (HFS) erstellt?

17

Gibt es eine Möglichkeit zu verhindern, dass Mac OS X .DS_Store und andere versteckte Metadateien auf fremden Volumes wie NTFS und FAT erstellt? Ich teile eine NTFS-Partition mit Daten wie Thunderird & Firefox-Profilen und Apache's DocumentRoot zwischen Mac OS X und Windows, was sehr praktisch ist. Es macht mir nichts aus, wenn Mac OS X nicht in der Lage ist, die ordentlichen Dinge zu indizieren oder auf andere Weise zu tun, für die diese Metadateien bestimmt sind.

Hinweis: Es wird nicht über ein Netzwerk gemeinsam genutzt. Beide Betriebssysteme und die gemeinsam genutzte Partition befinden sich auf derselben Festplatte und auf demselben Computer.

Petruza
quelle

Antworten:

19

Wenn Sie die NTFS-Partition über ein Netzwerk mit SMB oder einem anderen freigeben, können Sie sie deaktivieren.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Apple Tech Bulletin " So verhindern Sie die Erstellung von .DS_Store-Dateien über Netzwerkverbindungen ". Ich habe nicht überprüft, dass dies mit Snow Leopard noch funktioniert.

Richard Hoskins
quelle
Ich bin nicht sicher, ob das funktioniert, es sei denn, sie befinden sich tatsächlich auf einem Netzlaufwerk.
Alex
@alex Ich denke du hast recht. Das OP hat nicht gesagt, wie er die NTFS-Partition teilt. Ich bearbeite meine Antwort, aber es kann absolut falsch sein.
Richard Hoskins
Nein, nicht über das Netzwerk. Nur eine Festplatte, Mac OS auf einer Partition, Windows auf der anderen und eine NTFS-Partition für gemeinsam genutzte Dateien.
Petruza
PS: Sorry, wofür steht OP? Ich weiß, dass es sich auf mich bezieht, aber ich kenne die Bedeutung nicht.
Petruza
1
@Richard Hoskins: Ihre Antwort bezieht sich auf das Verhindern der Erstellung von .DS_Store-Dateien über das Netzwerk. Es gibt keine Möglichkeit, dies zu stoppen, wenn es sich auf demselben Laufwerk befindet. @sudo petrutza: OP bedeutet Original Poster (hatte auch keine Ahnung)
alex
5

Ich benutze dies, ich habe es einmal eingerichtet, als ich mich über das gleiche Problem geärgert habe. Bei dieser Methode erledigt das System alles automatisch.

  1. Erstellen Sie ein Skript mit dem Namen Remove_Hidden_Files.sh, indem Sie das Terminal und beispielsweise cd ~ / Documents öffnen und berühren Sie Remove_Hidden_Files.sh

  2. Mit vi erstellen Sie das Skript. Im Terminal-Typvi Remove_Hidden_Files.sh

  3. Drücken Sie "I", um in den Einfügemodus zu gelangen, und geben Sie Folgendes ein (Tipp, um # zu erhalten, drücken Sie Alt und 3)

    #!/bin/bash
    # Removing the hidden files from my drive using the find command. Change xxx to the name of your external volume or path you wish to run the command on.
    # the -mount will stop the find command going to other volumes other than specified.
    
    find -x /Volumes/(xxx) -mount -name '.DS_Store' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Spotlight-V100' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '._.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.fseventsd' | xargs rm -rf
    
  4. Drücken Sie die Escape-Taste, um den Einfügemodus zu verlassen, halten Sie die Umschalttaste gedrückt und drücken Sie :

  5. Geben Sie ein wq!und drücken Sie die Eingabetaste

  6. Machen Sie das Skript ausführbar chmod 775 ~/Documents/Remove_Hidden_Files.sh

  7. Testen Sie dies, um sicherzustellen, dass es funktioniert. Öffnen Sie dazu einfach das Terminal und geben Sie cd / Volumes / (xxx) ein. Drücken Sie die Eingabetaste und dann ls -la, um alle Dateien aufzulisten. Sie sollten einen .DS_Store sehen, wenn Sie nicht mit dem Finder zum Volume navigieren und den Befehl wiederholen und du solltest dort einen sehen.

  8. Öffnen Sie ein anderes Terminal, indem Sie die Befehlstaste und N drücken

  9. Art cd ~/Documents

  10. Art sh Remove_Hidden_Files.sh

  11. Wechseln Sie zum anderen Terminalfenster und überprüfen Sie, ob die .DS_Store-Dateien entfernt wurden.

  12. Erstellen Sie einen Start-Daemon. Dies bedeutet, dass Sie automatisch ausgeführt werden, sodass Sie nichts tun müssen.

    Der beste Weg ist, Lingon herunterzuladen

  13. Erstellen Sie einen Daemon für Ihr Benutzerkonto und nennen Sie ihn com.remove_hidden_files.Launchd

  14. Geben Sie im Befehlsfeld Folgendes ein sh ~/Documents/Remove_Hidden_Files.sh

  15. Sie können entweder den Pfad eingeben oder dorthin navigieren / Volumes / (xxx)

  16. Starten Sie die Maschine neu und probieren Sie es aus

Hinweis: Wenn Sie Ihr externes Laufwerk umbenennen, verwenden Sie ein anderes Laufwerk oder einen anderen Pfad, den Sie zum Ändern des Skripts benötigen.

Tim Kimpton
quelle
6
Mir gefällt, wie diese Antwort zu einem vim Tutorial wurde. Haha
macek
Sie können Mac - Skripte hinzufügen abzuzumelden , ohne durch den Einsatz für Anwendungen von Drittanbietern zu zahlen sudo defaults... seeskill.wordpress.com/2012/02/23/...
mcandre
Also wird diese Reinigung stattfinden, wenn? wenn du dich anmeldest
LarsH
4

Ich benutze BlueHarvest für diesen Zweck:

https://zeroonetwenty.com/blueharvest/

Funktioniert auf allen Volumes und nicht nur auf Netzwerkfreigaben gemäß Apples Lösung.

Asinine Monkey
quelle
Zu Ihrer Information, BlueHarvest ist ein Mac-Programm, das 15 US-Dollar für 3 Computer kostet (mehr für mehr Computer) und eine "30-tägige kostenlose Testversion" hat
Xen2050
Die oben verlinkte BlueHarvest-Website reagiert derzeit nicht, was bedeutet, dass kein Support verfügbar ist. Die App befindet sich jedoch im App Store.
LarsH
Ich habe die URL aktualisiert.
Asinine Monkey