Отключить создание файлов .AppleDouble в Mac OS X

19

Есть ли способ отключить создание файлов .AppleDouble в Mac OS X (Snow Leopard) в файловых системах, отличных от HFS (таких как сетевые папки SMB или NFS и т. Д.)?

Барт
источник
1
Пожалуйста, предоставьте больше информации. Они обычно не создаются на HFS +.
Даниэль Бек

Ответы:

7

Учитывая, что Mac поддерживают несколько разветвлений для файлов, трюк AppleDouble ( ._файлы) пытается сохранить данные в этих разветвлениях. Поэтому они необходимы для того, чтобы Mac OS X могла выполнять над ними операции.

Однако большинство файлов создаются, когда один и тот же том монтируется через AFP, а не через SMB / CIFS или NFS. В этом случае сервер AFP может иметь параметры конфигурации для работы с файлами Apple Double (см., Например, этот пост в блоге ).

Чтобы избавиться от файлов AppleDouble, вы можете на Mac dot_cleanкоманду:

dot_clean --keep=dotbar /Volumes/mounted_smb_volume

где mounted_smb_volumeбудет имя подключенного тома.

Вы можете добавить его к crontabзаписи или, что еще лучше, использовать что-то вроде Lingon X для создания launchdзаписи.

juandesant
источник
Это сработало для вас, @Bart? Вы можете пометить это как правильное решение j
juandesant
Я использовал это на SD-карте, и содержимое больше нельзя просматривать с помощью Finder, только в терминале с ls.
FRIdSUN
@FridSUN, попробуйте снова извлечь и смонтировать том, нет никакого смысла в том, чтобы они оставались невидимыми в Finder… если у вас нет файлов, начинающихся с точки (.), Или вы пометили этот том как невидимый.
juandesant
Вопрос о вызываемых файлах .AppleDouble, а не о запуске файлов._
Stop Harming Monica,
AppleDouble - это кодировка метаданных, @OrangeDog; см., например, icesquare.com/wordpress/how-to-remove-ds_store-and-appledouble закодированные в AppleDouble метаданные в виде ._файлов.
juandesant
4

http://support.apple.com/kb/HT1629 сообщает, что это можно сделать с помощью

Чтобы настроить учетную запись пользователя Mac OS X таким образом, чтобы файлы .DS_Store не создавались при взаимодействии с удаленным файловым сервером с помощью Finder, выполните следующие действия:

Примечание. Это повлияет на взаимодействие пользователя с серверами SMB / CIFS, AFP, NFS и WebDAV.

Open Terminal.
Execute this command:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Either restart the computer or log out and back in to the user account.
Layticia
источник
3
Кажется, не работает для .AppleDoubleфайлов.
Адам Линдберг
4
Это определенно относится только к .DS_Store, а не к .AppleDouble.
Ашер
3

Файлы AppleDouble (файлы с именем ._filename) создаются при копировании файла, содержащего ветвь ресурса, в файловую систему не-HFS.

Иногда (но не всегда) ресурс, которым вы можете управлять без данных ветвления ресурса - например, копирование файла mp3.

Вы можете подавить копирование ветки ресурса, если вы используете оболочку (не искатель), используя:

cp -X
Говард
источник
2
Это не общее решение.
Адам Линдберг
Чтобы выяснить, почему это не общее решение, оно применяется только при ручном копировании файлов из командной строки. Это вряд ли имеет какое-либо отношение к проблеме, поскольку файлы .AppleDouble создаются каждый раз, когда к файлу обращаются на томе, отличном от HFS +. Даже если вы можете копировать без ветки ресурса, это касается только особого случая, а не общей проблемы отсутствия файлов .AppleDouble.
Ашер
Вопрос о вызываемых файлах .AppleDouble, а не о запуске файлов._
Stop Harming Monica
1

Вы можете использовать BlueHarvest для автоматического удаления файлов AppleDouble или других файлов, созданных в OS X:

Вы можете использовать find . -name ._\* -deleteдля ._рекурсивного удаления файлов в текущем каталоге. dot_clean -m .также имеет тот же эффект.

Файлы, которые начинаются с ._, используются для хранения метаданных, таких как расширенные атрибуты и списки ACL. Расширенные атрибуты включают в себя ресурсы forks ( com.apple.ResourceFork) и file flags ( com.apple.FinderInfo). Вы можете видеть расширенные атрибуты с xattr -lили ACL с ls -le. Вы можете использовать xattr -cдля очистки всех расширенных атрибутов или chmod -Nдля удаления списков ACL, а также можете копировать файлы без расширенных атрибутов с помощью cp -X.

LRI
источник
1

Существует инструмент под названием «dsweeper», доступный здесь: https://github.com/simsalabim/dsweeper. Он решает проблему (после установки) с помощью простого

$ dsweeper -d -p /Path/to/volume/

С веб-сайта:

Инструмент, который не позволяет AppleDouble ._whith файлы в папку, которая хранится на внешнем жестком диске. Помогает поддерживать Dropbox в чистоте.

С помощью доморощенного, установка замечательно проста:

$ brew install npm

$ npm install dsweeper -g

Решил проблему для меня как шарм.

unJordi
источник
-1

Я думаю, что часть вопроса заключается в следующем: почему вы хотите удалить файлы .AppleDouble?

Файлы .AppleDouble создаются для хранения дополнительных файловых ресурсов (метаданных и т. Д.). Файловые системы HFS + (разработанные Apple) имеют собственные средства для хранения этой информации. Файловые системы не-HFS + (NTFS, EXT3 / 4 и т. Д.), Обслуживаемые через общий доступ к файлам (Netatalk, SMB и т. Д.), Требуют некоторого способа хранения этой информации. Это достигается путем создания дополнительных файлов в файловой системе, поскольку файловая система не имеет собственных средств для хранения информации.

В отличие от файлов .DS_Store (которые, как я понимаю, хранят данные рабочего стола, такие как расположение значков и т. Д.), Файлы .AppleDouble фактически хранят потенциально важную информацию. Это означает, что вы, вероятно, можете удалить файлы .AppleDouble, и ОС не будет жаловаться, но вы можете потерять метаданные, если они связаны с файлом. Сюда также входят метаданные, созданные / для Spotlight, например, когда iTunes воспроизводит файл. Удаление этой информации вряд ли повредит чему-либо, но она создается / сохраняется для вас, чтобы ОС могла оптимизировать поиск и другие термины.

Поэтому я пришел к выводу, что вы, вероятно, на самом деле не хотите удалять .AppleDouble. Но, возможно, детали могут быть заполнены? Я пришел к этой теме, пытаясь помочь моему отцу с двумя ReadyNAS; он хотел исключить файлы, потому что их существование было необъяснимым и вызывало странное поведение с программой резервного копирования ReadyNAS (которая, кажется, решается с помощью rsync). Пожалуйста, дайте мне знать, если есть дополнительные подробности, не указанные в моих выводах здесь.

Ашер
источник
2
Моя причина в том, что эти папки .AppleDouble в каталогах на моем NAS не позволяют моим Windows-компьютерам удалять эти каталоги. Необходимость входа в NAS и использования веб-браузера файлов действительно раздражает.
Саймон Гилл
Я проголосовал за это, потому что я считаю, что это содержит некоторую дезинформацию. Видимо никакие не HFS + Файловые системы не могут хранить метаданные? Это неверно, NTFS поддерживает метаданные файла, просто Apple не взаимодействует с ним правильно, а создает базовый файл.
leinad13
2
Моя причина в том, что моя автомобильная стереосистема пытается воспроизвести файлы ._XYZ.MP3 с моей карты памяти USB (FAT32), и яростно жалуется. Поэтому я разработал небольшой AppleScript для удаления файлов ._ при извлечении тома.
Джо Фёлькер
NTFS не поддерживает метаданные Apple, а Apple не пишет в метаданные NTFS. В результате описание в исходном ответе является точным. «Дезинформация» заключается только в неправильном понимании того, что означает «это», и в предположении, что оно относится к метаданным как таковым.
Ашер