Как запретить 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.
Я использую это, я настроил это однажды, когда меня раздражает та же проблема. Этот метод заставляет систему делать все это автоматически.
Создайте скрипт с именем Remove_Hidden_Files.sh, открыв терминал и, например, cd ~/Documents и введите touch Remove_Hidden_Files.sh.
Используя vi, создайте скрипт. В терминальном типе
vi Remove_Hidden_Files.sh
Нажмите "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
Нажмите клавишу выхода, чтобы выйти из режима вставки и удерживайте Shift и нажмите
:
Тип
wq!
и затем нажмите вводСделайте скрипт исполняемым
chmod 775 ~/Documents/Remove_Hidden_Files.sh
Проверьте это, чтобы убедиться, что это работает. Вы можете легко сделать это, открыв терминал и набрав cd /Volumes/(xxx), нажмите enter, а затем ls -la, чтобы вывести список всех файлов, и вы увидите.DS_Store, если не перейдите с помощью finder к тому, а затем повторите команду и вы должны увидеть его там.
Откройте другой терминал, нажав клавишу команды и N
Тип
cd ~/Documents
Тип
sh Remove_Hidden_Files.sh
Перейдите в другое окно терминала и убедитесь, что файлы.DS_Store удалены.
Создайте демон запуска. Это означает, что нужно запускаться автоматически, поэтому вам не нужно ничего делать.
Лучший способ это скачать лингон
Создайте для своей учетной записи демон и назовите его com.remove_hidden_files.Launchd
В командной строке введите
sh ~/Documents/Remove_Hidden_Files.sh
Вы можете ввести путь или перейти к нему / Volumes / (xxx)
Перезагрузите машину и попробуйте
Обратите внимание: если вы переименуете внешний диск, используйте другой диск или путь, который вам понадобится, чтобы изменить сценарий.
Я использую BlueHarvest для этой цели:
https://zeroonetwenty.com/blueharvest/
Работает на всех томах, а не только на сетевых ресурсах в соответствии с решением Apple.