Я ищу способ настроить OSX, чтобы он не создавал файлы .apdisk и папки .TemporaryItems на общих сетевых ресурсах.
Они создаются каждый раз, когда OSX обращается к общей папке в сети.
При поиске некоторые возможные решения, которые я нашел, включают:
К сожалению, первые три варианта мне не подходят, и я бы предпочел не покупать лицензии и не планировать очистку файловых серверов.
Есть ли способ настроить OSX, чтобы не создавать их в первую очередь?
(Finder подключается через AFP к сетевым ресурсам, для чего это стоит)
Изменить, примерно через год: обратите внимание, что я не ищу решение для очистки.
BlueHarvest (если у вас есть Mac для его запуска) и сценарии очистки по расписанию — это хорошо, но далеко не идеально. Мне действительно нужно решение, которое не позволяет OSX создавать эти файлы в первую очередь.
На данный момент кажется, что Apple не предоставляет такой вариант конфигурации, что разочаровывает.
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
Если вы используете общие файловые ресурсы Windows в Windows Server 2003 R2 и более поздних версиях, вы можете создать фильтры файлов, которые не позволят любому пользователю создать какой-либо набор заранее заданных файлов.
Я эффективно использовал этот подход для удаления всех файлов, созданных Mac, в наших файловых ресурсах.
Дополнительную информацию см. в документе MS Technet Screening Files .
Хотя это может помочь не всем, если вы используете samba на файловом сервере, вы можете добавить следующее в свой smb.conf:
Veto files = /.TemporaryItems/._.TemporaryItems/.DS_Store/
«Файлы вето» — это разделенная / строка имен файлов (также разрешены подстановочные знаки), создание которых запрещено. Это решило проблему для меня.
Я нашел этот трюк на вики Arch Linux samba
BlueHarvest , вероятно, лучший и самый простой способ поддерживать чистоту общих сетевых ресурсов, по крайней мере, это то, что я выбрал после того, как сам выбрал большинство ваших вариантов.
После этого выполняется задание cron для удаления всех этих файлов, используя что-то вроде:
find "$@" \( -name ".DS_Store" -or -name ".TemporaryItems" -or -name ".Trashes" -or -name "._*" \) -exec rm -rf "{}" \; -prune
У 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 является вариантом, вы можете рассмотреть это решение.
змеиная похлебка
пользователь10577
змеиная похлебка