Вимкнути зберігання невидимих ​​файлів “._” у моєму сховищі cfs чи smb


34

Я використовую OS X Mavericks і інстальовані накопичувачі компанії (використовуючи smb або cfs). (smb: //username@address.path.toserver.com/directory/data). Коли я працюю з файлами на диску або копіюю файли на диск, створюються деякі приховані файли. Більшість цих файлів починаються з крапки-даш, ._а потім імені вихідного файлу, наприклад:

._test001.png
._test002.png
._test003.png

І більшість часів відомі ._.DS_Storeі .DS_Storeтам теж є.

На моєму Mac ці .пункти пунктів невидимі, але мої колеги з Windows бачать ці файли. Як я можу запобігти OS X робити ці дивні невидимі файли?

На support.apple.com (та інших джерелах Інтернету) ви можете знайти запис "за замовчуванням", щоб відключити створення файлів .DS_Store на ваших мережевих накопичувачах. Але це не працює в Mavericks:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Наразі я використовую цей oneliner, але rm -rfв цьому випадку я почуваюся неправильно.

find . -type f -name "._*" -exec rm "{}" \;

Редагувати: я не хочу видаляти файли або виключати їх з копіювання. Я хочу, щоб вони не були створені в першу чергу.

Редагувати: я віддаю перевагу "рідному" рішенню OS X над сторонніми програмами.

Редагувати: на ці запитання є дві відповіді, одна для файлів ._ та одна для файлів .DS_Store. Баунті винагороджується за те dot_clean, що цей рідний додаток командного рядка очищає всі файли ._. На жаль, не очищено файли .DS_Store, це ефективно можна зробити за допомогою Asepsis. Asepsis зберігає .DS_Stores у фіксованому місці, а не у самій папці.


Я не впевнений, що ці пропозиції вирішать вашу проблему, тому залиште їх у коментарі. 1. Спробуйте TinkerTool bresink.com/osx/TinkerTool.html і використовуйте Finder> "Не створюйте приховані .DS_Store файли через мережеве з'єднання". 2. Спробуйте програму «Секрети налаштувань секретів» на панелі «Секрети налаштувань» таємниці.blacktree.com та «Відкрити пошук»> Використовуйте .DS_Stores у мережі.

@gentlemanhog, я спробую ваші пропозиції. Але я віддаю перевагу «рідному» рішенню OS X над програмами сторонніх розробників.
CousinCocaine

@gentlemanhog, на жаль, ваші рішення не працюють у Mavericks.
CousinCocaine

Відповіді:


31

Зізнаюся, я не помітив, що defaults writeкоманда перестала працювати в Мавериках. Тим НЕ менше, колись я роблю чисту мережу монтує, замість одного вашого лайнера findі rm, я використовую це:

dot_clean .

У цьому файлі пояснюється:

dot_clean -- Merge ._* files with corresponding native files.

Я не використовую прапор -m, але вам це може бути корисним у вашій ситуації.

-m      Always delete dot underbar files.

Ось ще одна людина, яка активно намагається зупинити створення файлів .DS_Store: http://www.aorensoftware.com/blog/2011/12/24/death-to-ds_store/ - схоже, що він не хоче їх на дисках стільки, скільки він не хоче їх у мережі!


Це правильний інструмент для роботи. На жаль, це рішення є "після" монтажу і його потрібно запустити після того, як відбувається монтаж. Асепсис виконує кращу роботу ( apple.stackexchange.com/a/136558/55028 ), але є стороннім додатком і працює лише на файли .DS_Store і працює лише для всіх .DS_Store файлів на кожному монтуванні.
CousinCocaine

12

Щойно спробував, і це працює в Mavericks (принаймні, для відключення .DS_Store not network shared):

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Вам просто потрібно пам’ятати, щоб також перезапустити Finder:

killall Finder

1
Це не працює на El Capitan, для їзди Самба. .DS_StoreФайли досі створюються
Sébastien

Це .DS_Storeне файли AppleDouble, вони просто "звичайні" невидимі файли, які створюються Finder. Отже, ваше бачення цих файлів .DS_Store - це не ознака того, DSDontWriteNetworkStoresпрацює чи ні.
Томас Темпельман

4

Ці ._файли AppleDouble файли, які використовуються для зберігання метаданих , як розширені атрибути, списки управління доступом, прапори файлів і вилок ресурсів.

Щоб видалити їх, запустіть:

find . -name ._\* -delete

Ви можете бачити, чи файли мають розширені атрибути, ACL або файлові прапори ls -l@eO. Ці ._файли зазвичай створюються , тому що файли мають розширені атрибути. Ви можете використовувати xattr -cдля видалення розширених атрибутів або chmod -Nдля видалення ACL. cp -Xі rsyncкопіюйте файли без розширених атрибутів, ACL, прапорів файлів або роздрібних ресурсів.


Я не хочу видаляти файли або виключати їх з копіювання. Я хочу, щоб вони не були створені в першу чергу.
CousinCocaine

2
Якщо ви використовуєте Finder, ви не можете перешкодити їх створенню.
Fyrefly

@Fyrefly, але їх можна створити деінде. Див. Asepsis , apple.stackexchange.com/a/136558/55028 . Тож можливо і «рідне» рішення
CousinCocaine

3

Оскільки вам доведеться вимкнути запис прихованих файлів на кожному Mac, який може підключитися до вашої спільної доступу, кращим варіантом буде зупинити це на загальній частці, а не на клієнтах.

Все, що вам потрібно зробити - це відредагувати конфігурацію спільного доступу (наприклад, у Linux у /etc/samba/smb.conf) та додати наступний параметр у свій конфігурацію спільного доступу:

veto files = /._*/.DS_Store/ 

Тепер жоден клієнт Mac не може зберігати будь-які файли з цими шаблонами до вашої спільної доступу.


1
"файли вето" не перешкоджають запису файлів, вони заважають користувачам бачити файли. Зверніться до samba.org
Джастін

1
Хоча samba має можливість "видалити файли вето = так", які також видалити їх.
rwenz3l

1
На жаль, delete veto files = yesне видаляє ці крапкові файли, він просто гарантує, що ви можете видалити папку, яка містить файли, які були приховані від перегляду veto filesпараметром, так що вона не може виконати те, що було після ОП (і для чого я також марно шукаю для).
xmnboy

2

Я сам цього не пробував, і розумію, що ОП віддає перевагу власним рішенням, але тим не менше:

Існує програма під назвою Asepsis, яка працює за допомогою перенаправлення створення цих файлів у спеціальну папку, тобто таким чином, щоб запобігти їх появі.


Це хороший інструмент для роботи. На жаль, це рішення є стороннім додатком і працює лише на .DS_Store файли (не ._ файли), і працює лише для всіх .DS_Store файлів на кожному монтажі. Це хороше рішення, але не рідні та не. срі.
CousinCocaine

1

Чи не рідне рішення, і не фактично запобігти ці файли записуються, але він активно ганятися за ними і видаляти , як тільки вони написані ...

BlueHarvest

BlueHarvest автоматично видаляє .DS_Store та ._ AppleDouble файли з ваших USB-ключів, SD-карт, музичних плеєрів, файлових серверів або будь-якого диска, який не є Mac. BlueHarvest видаляє ці елементи під час їх створення або модифікації, тому ви завжди будете без метаданих без необхідності піднімати палець.

Немає ніякої приналежності, я лише кілька років використовую її досить успішно.


0

Наскільки я знаю, ви не можете перешкодити створенню цих файлів. Принаймні Finder створить їх.

Видалення цих файлів теж не допоможе - адже наступного разу, коли ви отримаєте доступ до тома та його папок на Mac, Finder створить їх заново.

Я здивований, що ваші колеги з Windows бачать ці файли. Я працюю вже багато років зі своїм Mac за допомогою Mac та Windows - і я ніколи не бачу цих файлів. Ні на Mac, ні на Windows.

Ці файли позначаються як "приховані" за замовчуванням, і вони не з’являться, якщо у вас Windows налаштована на приховання прихованих файлів і папок.


Я перевірив, і у них відключено "заховати приховані файли". Але це не заважає їх створювати. Я думаю, що є спосіб виправити це, як було в OS 10.5 за замовчуванням написати com.apple.desktopservices DSDontWriteNetworkStores -bool true
CousinCocaine

Якщо вони відключили (не поставлено галочку) "приховати приховані файли", тоді це просто інший спосіб: увімкніть це. :-) І як я вже сказав: наскільки я знаю, немає рішення "рідного рішення для ОС X". І: ви пов’язали відповідь з "support.apple.com", в якій сказано: "Відключення створення .DS_Store файлів на віддалених файлових серверах може спричинити несподівану поведінку в Finder". І: Я б не пропонував встановлювати програми, які обіцяють запобігти цьому. Наскільки я знаю, це може бути дуже небезпечно.
Мартін

2
"Це може бути дуже небезпечно" :) Тепер я дуже хочу, щоб ці файли пішли! Серйозно, файли .DS_Store зберігають властивості Finder, а пошкоджені файли DS_Store справді можуть робити дивні речі. Я не хочу пошкоджених файлів DS_Store, я хочу НЕ файлів DS_Store. Я не боюся їх видаляти. І повернутися до мого початкового питання: Як я можу запобігти OS X робити ці дивні невидимі файли? І маю на увазі всі файли ._ та файли .DS_Store. Більш нічого.
CousinCocaine

Було б корисно для мене (а може бути і ви), якщо ви підтвердите, що люди, які увімкнули (а не відключили), "приховують приховані файли". І я можу зрозуміти, що ви не хочете, щоб ці файли були створені і ви хотіли нативного рішення, але якщо немає власного рішення, то це не допомагає сказати "але я хочу це".
Мартін

-1

Я знайшов дуже простий та безкоштовний спосіб позбутися файлів ._, особливо із зовнішнього HD32 HD.

Запустіть OnyX (безкоштовне програмне забезпечення). З Утиліти перейдіть до AppleDouble, виберіть ... папку. Це воно!!!


1
ОП конкретно заявляє, що він не хоче очищати інструмент, але той, який перешкоджає запису файлів взагалі.
Tetsujin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.