Wyłącz tworzenie plików .AppleDouble w systemie Mac OS X

19

Czy istnieje sposób na wyłączenie tworzenia plików .AppleDouble w Mac OS X (Snow Leopard) w systemach plików innych niż HFS (takich jak udziały sieciowe SMB lub NFS itp.)?

Bart
źródło
1
Podaj więcej informacji. Zwykle nie są tworzone w HFS +.
Daniel Beck

Odpowiedzi:

7

Biorąc pod uwagę, że komputery Mac obsługują wiele widelców do plików, sztuczka AppleDouble ( ._pliki) próbuje zachować dane w tych widelcach. Są więc potrzebne, aby Mac OS X mógł wykonywać na nich operacje.

Jednak większość plików jest tworzona, gdy ten sam wolumin jest podłączony przez AFP, a nie SMB / CIFS lub NFS. W takim przypadku serwer AFP może mieć opcje konfiguracji do obsługi plików Apple Double (patrz na przykład ten post na blogu ).

Aby pozbyć się plików AppleDouble, możesz na komputerze Mac wykonać dot_cleanpolecenie:

dot_clean --keep=dotbar /Volumes/mounted_smb_volume

gdzie mounted_smb_volumebyłaby nazwa zamontowanego woluminu.

Możesz dodać go do crontabwpisu, a jeszcze lepiej użyć czegoś takiego jak Lingon X, aby utworzyć launchdwpis.

juandesant
źródło
Czy to zadziałało dla ciebie, @Bart? Możesz rozważyć oznaczenie go jako właściwego rozwiązania 😉
juandesant
Użyłem tego na karcie SD, a zawartości nie można już przeglądać za pomocą Findera, widoczne tylko w terminalu z ls.
FRIdSUN
@FridSUN, spróbuj ponownie wysunąć i zamontować wolumin, nie ma sensu, aby były niewidoczne w Finderze ... chyba że masz pliki, które zaczynają się od kropki (.), Lub oznaczyłeś ten wolumin jako niewidoczny.
juandesant
Pytanie dotyczy plików wywoływanych .AppleDouble, a nie plików rozpoczynających się._
Stop Harming Monica,
AppleDouble to kodowanie metadanych, @OrangeDog; patrz na przykład icesquare.com/wordpress/how-to-remove-ds_store-and-appledouble Metadane zakodowane w AppleDouble mają postać ._plików.
juandesant
4

http://support.apple.com/kb/HT1629 mówi mi, że można to zrobić za pośrednictwem

Aby skonfigurować konto użytkownika Mac OS X, aby pliki .DS_Store nie były tworzone podczas interakcji ze zdalnym serwerem plików za pomocą Findera, wykonaj następujące czynności:

Uwaga: wpłynie to na interakcje użytkownika z serwerami SMB / CIFS, AFP, NFS i 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
źródło
3
Wydaje się, że nie działa dla .AppleDoubleplików.
Adam Lindberg,
4
Z pewnością dotyczy to tylko .DS_Store, a nie .AppleDouble.
Asher
3

Pliki AppleDouble (o nazwie ._nazwa_pliku) są tworzone podczas kopiowania pliku zawierającego rozwidlenie zasobów do systemu plików innego niż HFS.

Czasami (ale nie zawsze) zasób, którym możesz zarządzać bez danych widełek zasobów - na przykład kopiowanie pliku mp3.

Możesz wyłączyć kopiowanie rozwidlenia zasobów, jeśli używasz powłoki (nie wyszukiwarki), używając:

cp -X
Howard
źródło
2
To nie jest ogólne rozwiązanie.
Adam Lindberg,
Aby wyjaśnić, dlaczego nie jest to ogólne rozwiązanie, dotyczy to tylko ręcznego kopiowania plików z wiersza polecenia. Jest mało prawdopodobne, aby miało to związek z tym problemem, ponieważ pliki .AppleDouble są tworzone za każdym razem, gdy plik jest otwierany na wolumenie innym niż HFS +. Nawet jeśli można kopiować bez rozwidlenia zasobów, dotyczy to tylko specjalnego przypadku, a nie ogólnego problemu braku plików .AppleDouble.
Asher
Pytanie dotyczy plików wywoływanych .AppleDouble, a nie plików rozpoczynających się._
Stop Harming Monica,
1

Możesz użyć BlueHarvest do automatycznego usuwania plików AppleDouble lub innych plików utworzonych przez OS X:

Możesz użyć find . -name ._\* -deletedo usunięcia ._plików rekurencyjnie w bieżącym katalogu. dot_clean -m .ma również ten sam efekt.

Pliki, które rozpoczynają się od, ._służą do przechowywania metadanych, takich jak rozszerzone atrybuty i listy ACL. Rozszerzone atrybuty obejmują forks zasobów ( com.apple.ResourceFork) i flagi plików ( com.apple.FinderInfo). Możesz zobaczyć rozszerzone atrybuty z xattr -llub ACL z ls -le. Możesz użyć xattr -cdo wyczyszczenia wszystkich rozszerzonych atrybutów lub chmod -Ndo usunięcia list ACL, a także możesz kopiować pliki bez rozszerzonych atrybutów za pomocą cp -X.

Lri
źródło
1

Istnieje narzędzie o nazwie „dsweeper” dostępne tutaj: https://github.com/simsalabim/dsweeper Rozwiązuje problem (po zainstalowaniu) za pomocą prostego

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

Ze strony:

Narzędzie, które nie pozwala AppleDouble ._whokolwiek plików do folderu, który jest przechowywany na zewnętrznym dysku twardym. Pomaga utrzymać Dropbox w czystości.

Instalacja przez Homebrew jest niezwykle prosta:

$ brew install npm

$ npm install dsweeper -g

Rozwiązałem dla mnie problem jak urok.

unJordi
źródło
-1

Myślę, że część pytania brzmi: dlaczego chcesz wyeliminować pliki .AppleDouble?

Pliki .AppleDouble są tworzone w celu przechowywania dodatkowych zasobów plików (metadane itp.). Systemy plików HFS + (zaprojektowane przez Apple) mają natywne środki do przechowywania tych informacji. Systemy plików inne niż HFS + (NTFS, EXT3 / 4 itd.) Obsługiwane przez udostępnianie plików (Netatalk, SMB itp.) Wymagają pewnego sposobu przechowywania tych informacji. Osiąga się to poprzez utworzenie dodatkowych plików w systemie plików, ponieważ system plików nie ma macierzystych środków do przechowywania informacji.

W przeciwieństwie do plików .DS_Store (które, jak rozumiem, przechowują szczegóły pulpitu, takie jak lokalizacja ikon itp.), Pliki .AppleDouble faktycznie przechowują potencjalnie istotne informacje. Oznacza to, że prawdopodobnie możesz usunąć pliki .AppleDouble, a system operacyjny nie będzie narzekał, ale możesz również utracić metadane, jeśli jakieś są powiązane z plikiem. Dotyczy to również metadanych utworzonych przez / dla Spotlight, na przykład podczas odtwarzania pliku przez iTunes. Usunięcie tych informacji raczej nie zaszkodzi, ale są one tworzone / przechowywane dla Ciebie, aby system operacyjny mógł zoptymalizować wyszukiwanie i inne hasła.

Więc doszedłem do wniosku, że prawdopodobnie nie chcesz usunąć .AppleDouble. Ale może szczegóły można podać? Doszedłem do tego wątku, próbując pomóc mojemu tacie z dwoma ReadyNAS; chciał wyeliminować pliki, ponieważ ich istnienie było niewytłumaczalne i powodowało dziwne zachowanie w programie do tworzenia kopii zapasowych ReadyNAS (który wydaje się być rozwiązany za pomocą rsync). Daj mi znać, jeśli w moich wnioskach nie zostaną omówione dalsze szczegóły.

Asher
źródło
2
Moim powodem jest to, że te foldery .AppleDouble w katalogach na moim serwerze NAS uniemożliwiają moim komputerom z systemem Windows usunięcie tych katalogów. Konieczność zalogowania się do NAS i korzystania z internetowej przeglądarki plików jest naprawdę denerwująca.
Simon Gill,
Głosowałem za tym, ponieważ uważam, że zawiera pewne dezinformacje. Najwyraźniej żaden system plików inny niż HFS + nie może przechowywać metadanych? Jest to niepoprawne, NTFS obsługuje metadane plików, po prostu Apple nie współdziała z nim poprawnie i zamiast tego tworzy plik podstawowy.
leinad13
2
Moim powodem jest to, że mój samochodowy system stereo próbuje odtwarzać pliki ._XYZ.MP3 z pamięci USB (FAT32) i narzeka gwałtownie. Więc wymyśliłem trochę AppleScript, aby usunąć pliki ._ podczas wysuwania woluminu.
Joe Völker,
NTFS nie obsługuje metadanych Apple, a Apple nie zapisuje metadanych NTFS. W rezultacie opis w oryginalnej odpowiedzi jest dokładny. „Dezinformacja” polega wyłącznie na błędnym zrozumieniu, do czego odnosi się „to” i zakładaniu, że odnosi się do metadanych jako takich.
Asher