Jak zapobiec tworzeniu przez system Mac OS X plików .DS_Store w woluminach innych niż Mac (HFS)?

17

Czy istnieje sposób, aby zapobiec tworzeniu przez Mac OS X pliku .DS_Store i innych ukrytych meta-plików na obcych woluminach, takich jak NTFS i FAT? Dzielę partycję NTFS z danymi takimi jak profile Thunderird & Firefox i DocumentRoot apache pomiędzy Mac OS X i Windows, co jest bardzo przydatne. Nie mam nic przeciwko, jeśli Mac OS X nie jest w stanie indeksować ani w inny sposób robić porządnych rzeczy, do których służą te metapliki.

Uwaga: nie jest współdzielony przez sieć, zarówno systemy operacyjne, jak i wspólna partycja współistnieją na tym samym dysku, na tym samym komputerze.

Petruza
źródło

Odpowiedzi:

19

Jeśli dzielisz partycję NTFS przez sieć, używając SMB lub jakiegoś innego, możesz ją wyłączyć.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Biuletyn techniczny Apple „ Jak zapobiec tworzeniu plików .DS_Store przez połączenia sieciowe ”. Nie sprawdziłem, czy nadal działa to w systemie Snow Leopard.

Richard Hoskins
źródło
Nie jestem pewien, czy to działa, chyba że faktycznie znajdują się na dysku sieciowym.
alex
@alex Myślę, że masz rację. OP nie powiedział, jak dzieli partycję NTFS. Zmienię swoją odpowiedź, ale może to być całkowicie błędne.
Richard Hoskins
Nie, nie przez sieć. Tylko jeden dysk, Mac OS na jednej partycji, Windows na drugiej i partycja NTFS na udostępnione pliki.
Petruza
PS: Przepraszam, co oznacza OP? Wiem, że to odnosi się do mnie, ale nie znam znaczenia.
Petruza
1
@Richard Hoskins: twoja odpowiedź dotyczy zapobiegania tworzeniu plików .DS_Store w sieci. Nie można tego zatrzymać, jeśli jest na tym samym dysku. @sudo petrutza: OP oznacza Plakat oryginalny (też nie miał pojęcia)
alex
5

Korzystam z tego. Ustawiłem go raz, gdy zirytował mnie ten sam problem. Ta metoda sprawia, że ​​system robi to wszystko automatycznie.

  1. Utwórz skrypt o nazwie Remove_Hidden_Files.sh, otwierając terminal i na przykład cd ~ / Documents i wpisz touch Remove_Hidden_Files.sh

  2. Za pomocą vi utwórz skrypt. W typie terminalavi Remove_Hidden_Files.sh

  3. Naciśnij „I”, aby przejść do trybu wstawiania i wpisz następujące polecenie (Podpowiedź, aby uzyskać # naciśnij alt i 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. Naciśnij klawisz Escape, aby wyjść z trybu wstawiania, przytrzymaj klawisz Shift i naciśnij :

  5. Wpisz, wq!a następnie naciśnij klawisz Enter

  6. Spraw, by skrypt był wykonywalny chmod 775 ~/Documents/Remove_Hidden_Files.sh

  7. Sprawdź to, aby upewnić się, że działa. Możesz to łatwo zrobić, otwierając terminal i wpisując cd / Volumes / (xxx), naciśnij enter, a następnie ls -la, aby wyświetlić listę wszystkich plików. Powinieneś zobaczyć .DS_Store, jeśli nie możesz nawigować za pomocą wyszukiwarki do woluminu, a następnie powtórzyć polecenie i powinieneś go tam zobaczyć.

  8. Otwórz inny terminal, naciskając klawisz polecenia i N.

  9. Rodzaj cd ~/Documents

  10. Rodzaj sh Remove_Hidden_Files.sh

  11. Przejdź do drugiego okna terminala i sprawdź, czy pliki .DS_Store zostały usunięte.

  12. Utwórz demona uruchamiania. Oznacza to, że działa automatycznie, więc nie musisz nic robić.

    Najlepszym sposobem jest pobranie lingon

  13. Utwórz demona dla swojego konta użytkownika i nazwij go com.remove_hidden_files.Launchd

  14. W polu polecenia wpisz sh ~/Documents/Remove_Hidden_Files.sh

  15. Możesz wpisać ścieżkę lub przejść do niej / Volumes / (xxx)

  16. Uruchom ponownie maszynę i wypróbuj ją

Uwaga: jeśli zmienisz nazwę dysku zewnętrznego, użyj innego nazwanego dysku lub ścieżki, którą będziesz musiał zmienić w skrypcie.

Tim Kimpton
źródło
6
Podoba mi się, jak ta odpowiedź stała się tutorialem vim. Haha
Macek
Możesz dodawać skrypty wylogowania z komputera Mac bez płacenia za aplikacje innych firm, używając sudo defaults... seeskill.wordpress.com/2012/02/23/…
mcandre,
Więc to czyszczenie nastąpi, kiedy? kiedy się zalogujesz?
LarsH
4

Korzystam z BlueHarvest w tym celu:

https://zeroonetwenty.com/blueharvest/

Działa we wszystkich woluminach, a nie tylko w udziałach sieciowych zgodnie z rozwiązaniem Apple.

Asinine Monkey
źródło
Do Twojej wiadomości, BlueHarvest to program dla komputerów Mac, który kosztuje 15 USD za 3 komputery (więcej USD za więcej komputerów) i ma „30-dniowy bezpłatny okres próbny”
Xen2050
Witryna BlueHarvest, do której prowadzi powyższy link, obecnie nie odpowiada, co wydaje się oznaczać, że wsparcie jest niedostępne. Jednak aplikacja znajduje się w App Store.
LarsH
Zaktualizowałem adres URL.
Asinine Monkey