Как запретить Mac OS X создавать файлы.DS_Store на томах, отличных от Mac (HFS)?

Есть ли способ предотвратить создание в Mac OS X.DS_Store и других скрытых метафайлов на внешних томах, таких как NTFS и FAT? Я делю NTFS-раздел с такими данными, как профили Thunderird и Firefox и apache DocumentRoot, между Mac OS X и Windows, что очень удобно. Я не против, если Mac OS X не может индексировать или иным образом выполнять аккуратные задачи, для которых предназначены эти метафайлы.

Примечание. Он не является общим по сети, обе операционные системы и общий раздел сосуществуют на одном диске, на одном компьютере.

3 ответа

Решение

Если вы делите раздел NTFS по сети, используя SMB или что-то подобное, вы можете отключить его.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Технический бюллетень Apple " Как предотвратить создание файла.DS_Store через сетевые подключения". Я не проверял, что это все еще работает со Snow Leopard.

Я использую это, я настроил это однажды, когда меня раздражает та же проблема. Этот метод заставляет систему делать все это автоматически.

  1. Создайте скрипт с именем Remove_Hidden_Files.sh, открыв терминал и, например, cd ~/Documents и введите touch Remove_Hidden_Files.sh.

  2. Используя vi, создайте скрипт. В терминальном типе vi Remove_Hidden_Files.sh

  3. Нажмите "I", чтобы войти в режим вставки и введите следующее (подсказка, чтобы получить # нажмите Alt и 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. Нажмите клавишу выхода, чтобы выйти из режима вставки и удерживайте Shift и нажмите :

  5. Тип wq! и затем нажмите ввод

  6. Сделайте скрипт исполняемым chmod 775 ~/Documents/Remove_Hidden_Files.sh

  7. Проверьте это, чтобы убедиться, что это работает. Вы можете легко сделать это, открыв терминал и набрав cd /Volumes/(xxx), нажмите enter, а затем ls -la, чтобы вывести список всех файлов, и вы увидите.DS_Store, если не перейдите с помощью finder к тому, а затем повторите команду и вы должны увидеть его там.

  8. Откройте другой терминал, нажав клавишу команды и N

  9. Тип cd ~/Documents

  10. Тип sh Remove_Hidden_Files.sh

  11. Перейдите в другое окно терминала и убедитесь, что файлы.DS_Store удалены.

  12. Создайте демон запуска. Это означает, что нужно запускаться автоматически, поэтому вам не нужно ничего делать.

    Лучший способ это скачать лингон

  13. Создайте для своей учетной записи демон и назовите его com.remove_hidden_files.Launchd

  14. В командной строке введите sh ~/Documents/Remove_Hidden_Files.sh

  15. Вы можете ввести путь или перейти к нему / Volumes / (xxx)

  16. Перезагрузите машину и попробуйте

Обратите внимание: если вы переименуете внешний диск, используйте другой диск или путь, который вам понадобится, чтобы изменить сценарий.

Я использую BlueHarvest для этой цели:

https://zeroonetwenty.com/blueharvest/

Работает на всех томах, а не только на сетевых ресурсах в соответствии с решением Apple.

Другие вопросы по тегам