Остановить Finder/OSX от создания TemporaryItems и .apdisk на общих сетевых ресурсах

Я ищу способ настроить OSX, чтобы он не создавал файлы .apdisk и папки .TemporaryItems на общих сетевых ресурсах.

Они создаются каждый раз, когда OSX обращается к общей папке в сети.

При поиске некоторые возможные решения, которые я нашел, включают:

  • Прекратить использование приложения (Finder)
  • Пометить общие ресурсы как доступные только для чтения
  • Игнорируй их
  • Используйте стороннее программное обеспечение (например, BlueHarvest ) для удаления файлов.
  • Запланируйте сценарий cron для удаления этих файлов.

К сожалению, первые три варианта мне не подходят, и я бы предпочел не покупать лицензии и не планировать очистку файловых серверов.

Есть ли способ настроить OSX, чтобы не создавать их в первую очередь?

(Finder подключается через AFP к сетевым ресурсам, для чего это стоит)

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

BlueHarvest (если у вас есть Mac для его запуска) и сценарии очистки по расписанию — это хорошо, но далеко не идеально. Мне действительно нужно решение, которое не позволяет OSX создавать эти файлы в первую очередь.
На данный момент кажется, что Apple не предоставляет такой вариант конфигурации, что разочаровывает.

К какому типу серверов вы подключаетесь? OS X или что-то другое? Кроме того, почему вам не нужны файлы - я предполагаю, что на этих ресурсах есть клиенты, отличные от Mac?
Все виды серверов - не важно. И да, я не хочу их из-за клиентов, отличных от Mac, и общего загрязнения акций.
ХОРОШО. У меня такая же проблема, но мое решение не соответствует вашим параметрам; Я запускаю dot_clean(1) из cron на клиенте(ах)/подавляю создание на сервере.

Ответы (5)

  1. Откройте Терминал.
  2. Выполните эту команду:defaults write com.apple.desktopservices DSDontWriteNetworkStores true
  3. Либо перезагрузите компьютер, либо выйдите и снова войдите в учетную запись пользователя.

Ссылка: http://support.apple.com/kb/HT1629

Ах, к сожалению, это только останавливает создание файлов .DS_Store, но не останавливает создание папок .TemporaryItems и файлов .APDisk.
#blameapple Я ничего не могу сделать. :(

Если вы используете общие файловые ресурсы Windows в Windows Server 2003 R2 и более поздних версиях, вы можете создать фильтры файлов, которые не позволят любому пользователю создать какой-либо набор заранее заданных файлов.

Я эффективно использовал этот подход для удаления всех файлов, созданных Mac, в наших файловых ресурсах.

Дополнительную информацию см. в документе MS Technet Screening Files .

Ого, интересное решение. Не знал, что файловые экраны существуют.

Хотя это может помочь не всем, если вы используете samba на файловом сервере, вы можете добавить следующее в свой smb.conf:

Veto files = /.TemporaryItems/._.TemporaryItems/.DS_Store/

«Файлы вето» — это разделенная / строка имен файлов (также разрешены подстановочные знаки), создание которых запрещено. Это решило проблему для меня.

Я нашел этот трюк на вики Arch Linux samba

Я использовал что-то подобное несколько лет назад, мне пришлось отключить его, потому что некоторые версии MacOS X отказывались подключаться к общему ресурсу или имели случайные проблемы с ним (точно не помню, это было примерно в 2010 году...). Не уверен, что происходит с текущими версиями.

BlueHarvest , вероятно, лучший и самый простой способ поддерживать чистоту общих сетевых ресурсов, по крайней мере, это то, что я выбрал после того, как сам выбрал большинство ваших вариантов.

После этого выполняется задание cron для удаления всех этих файлов, используя что-то вроде:

find "$@" \( -name ".DS_Store" -or -name ".TemporaryItems" -or -name ".Trashes" -or -name "._*" \) -exec rm -rf "{}" \; -prune 
BlueHarvest и cronjob уже упоминались как нежелательные способы решения этой проблемы.
Привет! Я полагаю, вы упомянули об этом, но мой ответ послужил именно тому, чтобы дать рекомендацию из моего предыдущего (и текущего) опыта. У меня все еще установлен BlueHarvest для достижения именно того, что вам нужно, попробовав некоторые другие решения, подобные тем, которые вы упомянули, хотя ни одно из них не имеет такого же успеха. Т.е. это по-прежнему моя лучшая рекомендация и, на мой взгляд, стоит своих денег.
Спасибо. Я рад, что вы нашли BlueHarvest полезным, и я уверен, что другие найдут сценарий, который вы предоставили, полезным для планирования очистки. Ни один из них не соответствует требованию настройки OSX, чтобы не создавать их в первую очередь. В частности, BlueHarvest, независимо от цены, бесполезен для моей ситуации — для этого потребуется покупка Mac, что нерентабельно. Пока Apple не предоставит параметр конфигурации, чтобы подавить это, вопрос останется открытым.

У sshfs есть опция noappledouble, которая, по крайней мере .Spotlight-V100, не создается в моем (очень ограниченном) тестировании...

mkdir -p /Volumes/user && /usr/local/bin/sshfs \
    -o volname=user,local,cache=no,allow_root,noappledouble,defer_permissions,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 \
    user@nas.local:/mnt/tank/homes/user \
    /Volumes/user

Если использование sshfs является вариантом, вы можете рассмотреть это решение.