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

17

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

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

Petruza
источник

Ответы:

19

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

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

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

Ричард Хоскинс
источник
Я не уверен, что это работает, если они на самом деле не находятся на сетевом диске.
Алекс
@alex Я думаю, ты прав. ОП не сказал, как он делит раздел NTFS. Я отредактирую свой ответ, но он может быть неправильным.
Ричард Хоскинс,
Нет, не по сети. Только один диск, Mac OS в одном разделе, Windows на другом, и раздел NTFS для общих файлов.
Петруза,
PS: Извините, что означает OP? Я знаю, что это относится ко мне, но не знаю смысла.
Петруза,
1
@Richard Hoskins: ваш ответ относится к предотвращению создания файлов .DS_Store по сети. Нет никакого способа остановить это, если он находится на том же диске. @sudo petrutza: «OP» означает « Оригинальный постер» (тоже не знал)
alex
5

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

  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!и нажмите Enter

  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. Перезагрузите машину и попробуйте

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

Тим Кимптон
источник
6
Мне нравится, как этот ответ стал уроком vim. Ха-ха
мацек
Вы можете добавить сценарии выхода Mac без оплаты за сторонние приложения, используя sudo defaults... seeskill.wordpress.com/2012/02/23/…
mcandre
Так будет ли эта уборка когда? когда вы входите в систему?
LarsH
4

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

https://zeroonetwenty.com/blueharvest/

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

Asinine Monkey
источник
К вашему сведению, BlueHarvest - это программа для Mac, которая стоит 15 долларов США за 3 компьютера (еще больше долларов за большее количество компьютеров) и имеет «30-дневную бесплатную пробную версию»
Xen2050
Веб-сайт BlueHarvest, указанный выше, на данный момент не отвечает, что может означать, что поддержка недоступна. Однако приложение находится в App Store.
LarsH
Я обновил URL.
Asinine Monkey